Learn R Programming

numOSL (version 1.8)

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

Description

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

Usage

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

Arguments

EDdata
matrix(required): a two-column matrix, equivalent dose values and associated errors are stored in the first and second column, respectively
ncomp
integer(with default): number of components (1 denotes a 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)
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:
  • EDdataequivalent dose values
  • addsigmaadditional uncertainty
  • modelfitting model
  • iflogtransform equivalent dose values to log-scale or not
  • nsimnumber of iterations
  • chainssimulated samples

Details

Function mcFMM is used for sampling from the joint-likelihood functions of finite mixture age models (include a 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
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