cml: Mixed stock analysis by conditional maximum likelihood

Description Usage Arguments Details Value Note Author(s) Examples

View source: R/mixstock.R

Description

Find the conditional maximum likelihood estimate (assuming marker frequencies in the sources are exactly equal to the sample frequencies) of the contributions of different sources to a mixed stock

Usage

1
2
3
4
5
6
cml(x, start.type="lsolve", fuzz=0, bounds=1e-4,
ndepfac=1000,method="L-BFGS-B",lower=NULL,upper=NULL,
ndeps=NULL,
control=NULL,debug=FALSE,transf="part",grad=NULL,...)
MAXMARK
MAXSRC

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)

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

debug

produce debugging output?

lower

lower bound

upper

upper bound

ndeps

scaling factor for optimization

control

other control arguments to optim

transf

(character) "full": use arctan transform to transform (-Inf,Inf) to (0,1) or vice versa; "part": don't; "none"; no transform

...

other arguments to mle or optim (e.g. hessian=FALSE to suppress (slow) hessian calculation, etc.)

Details

By default, uses mle which in turn uses optim with method="L-BFGS-B" to do bounded optimization

Value

an object of class mixstock.est, containing the results of the fit

Note

There is a hard-coded limit of 500 markers and 100 sources; contact the package maintainer if this is a problem

Author(s)

Ben Bolker

Examples

1
2
3
4
5
6
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)
cml.est <- cml(x)
cml.est

mixstock documentation built on May 2, 2019, 6:48 p.m.