uml {mixstock} | R Documentation

## Mixed stock analysis by unconditional maximum likelihood

### Description

Find the unconditional maximum likelihood estimate (jointly estimating marker frequencies in sources) of the contributions of different sources to a mixed stock, by either a direct-search or an expectation-maximization method

### Usage

    uml(x, method="direct",optmethod="L-BFGS-B",...)
    uml.ds(x,grad=uml.grad,start.type="lsolve",fuzz=0,bounds=1e-4,ndepfac=1000,method="L-BFGS-B",debug=FALSE,control=NULL,
    transf=c("part","full","none"),...)
    uml.em(x,prec=1e-8,prior=1)

### Arguments

`x` | a list with elements `mixsamp` (a vector of the sampled markers in the mixed stock) and `sourcesamp` (a matrix, with markers in rows and sources in columns, of markers in the source samples)
`optmethod` | to be passed to optim
`grad` | function giving the gradient of the likelhood
`start.type` | starting values to use: `equal` (equal contributions from each source); `random` (multinomial sample with equal probabilities); `rand2` (sample out of a transformed normal distribution); a number between 1 and the number of sources; that source starts with 0.95 contribution and the rest start with 0.05/(R-1); default `lsolve`, the linear solution to the problem
`fuzz` | min. value (1-min is the max.) for starting contributions
`bounds` | (bounds,1-bounds) are the lower and upper bounds for mle calculations
`ndepfac` | factor for computing numerical derivatives; numerical derivative stepsize is computed as bounds/ndepfac [OBSOLETE with gradient function?]
`method` | optimization method, to be passed to `optim`
`transf` | transformation
`debug` | produce debugging output?
`control` | other control arguments to `optim`
`...` | other arguments to `mle` or `optim` (e.g. `hessian=FALSE` to suppress (slow) hessian calculation, etc.)
`prec` | precision for determining convergence of EM algorithm
`prior` | prior for EM algorithm

### Details

`uml` uses either a direct-search algorithm or an EM algorithm to find the ML estimate

### Value

an object of class `mixstock.est`, with elements

`fit` | information on the ML fit
`resample` | bootstrap information, if any
`data` | original data used for estimate
`R` | number of sources
`H` | number of markers
`contin` | estimation done on transformed proportions?
`method` | optimization method
`boot.method` | resampling method
`boot.data` | raw resampling information
`gandr.diag` | Gelman-Rubin diagnostic information for MCMC estimates
`prior` | Prior for MCMC estimates
`em` | estimation done by EM algorithm?

### Author(s)

Ben Bolker

### Examples

    true.freq <- matrix(c(0.65,0.33,0.01,0.01,
                          0.33,0.65,0.01,0.01),ncol=2)
    true.contrib <- c(0.9,0.1)
    x <- simmixstock0(true.freq,true.contrib,50,100,1004)
    uml.est <- uml(x)
    uml.est
    uml.emest <- uml.em(x)
    uml.emest

[Package mixstock version 0.9.2 Index]