Learn R Programming

numOSL (version 2.0)

mcFMM: Finite mixture age model optimization (using a Markov chain Monte Carlo method)

Description

Sampling from the joint-likelihood functions of finite mixture age models (include the central age model) using a Markov chain Monte Carlo (MCMC) method.

Usage

mcFMM(EDdata, ncomp = 1, addsigma = 0, iflog = TRUE, nsim = 50000, inis = list(), control.args = list())

Arguments

EDdata
matrix(required): a two-column matrix (i.e., equivalent dose values and associated standard errors)
ncomp
integer(with default): number of components (1 denotes the central age model)
addsigma
double(with default): additional uncertainty
iflog
logical(with default): transform equivalent dose values to log-scale or not
nsim
integer(with default): deseried number of iterations
inis
list(with default): initial state of parameters. Example, inis=list(p1=1,p2=1,mu1=5,mu2=10) in FMM2 (the sum of p1 and p2 will be normalized to 1 during the simulation)
control.args
list(with default): arguments used in the Slice Sampling algorithm, see details

Value

Return an invisible list of S3 class "mcAgeModels" including the following elements:
EDdata
equivalent dose values
addsigma
additional uncertainty
model
fitting model
iflog
transform equivalent dose values to log-scale or not
nsim
number of iterations
chains
simulated samples

Details

Function mcFMM is used for sampling from the joint-likelihood functions of finite mixture age models (include the central age model) using a Markov chain Monte Carlo sampling algorithm called Slice Sampling (Neal, 2003). Three arguments (control.args) are used for controling the sampling process: (1) w: size of the steps for creating an interval from which to sample, default w=1; (2) m: limit on steps for expanding an interval, m<=1< code=""> means no limit on the expandation, m>1 means the interval is expanded with a finite number of iterations, default m=-100; (3) nstart: maximum number of trials for updating a variable in an iteration. It can be used for monitoring the stability of the simulation. For example, a MAM4 is likely to crash down for data sets with small numbers of data points or less dispersed distributions (see section 8.3 of Galbraith and Roberts, 2012 for a discussion), and sometimes more than one trial (i.e., using nstart>1) is required to complete the sampling process, default nstart=1.

References

Galbraith RF, Green P, 1990. Estimating the component ages in a finite mixture. International Journal of Radiation Applications and Instrumentation. Part D. Nuclear Tracks and Radiation Measurements, 17: 197-206.

Neal RM, 2003. "Slice sampling" (with discussion). Annals of Statistics, 31(3): 705-767. Software is freely available at http://www.cs.utoronto.ca/~radford/slice.software.html.

See Also

mcMAM; reportSAM; RadialPlotter

Examples

Run this code
  # Do not run.
  # data(EDdata)
  # Construct a MCMC chain for FMM3.
  # obj<-mcFMM(EDdata$gl11,ncomp=3,nsim=5000)
  # reportSAM(obj,thin=2,burn=1e3)

Run the code above in your browser using DataLab