Learn R Programming

numOSL (version 1.5)

mcFMM: Estimating parameters of finite mixture age models (include the central age model) with a Markov chain Monte Carlo method

Description

Constructing Markov chains for the parameters of interest in finite mixture age models (up to four components).

Usage

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

Arguments

EDdata
data.frame(required): equivalent doses and associated errors (a total of two columns), minus equivalent dose values can also be analyzed
ncomp
numeric(with default): the number of components used for optimizing, 1 for the central age model, >=2 for a finite mixture age model
addsigma
numeric(with default): the added spread to the relative (or absolute) standard error of equivalent dose
iflog
logical(with default): use log-scale or not
nsim
numeric(with default): the total number of simulations (desired row number of the chains)
inis
list(with default): initials of the chains, such as inis=list(p1=1,p2=2,mu1=10,mu2=20) for a two-parameter Finite Mixture Age Model
control.args
list(with default): some further arguments (w, m, nstart) used in a Slice Sampling method, see details

Value

  • Return an invisible list of class "mcAgeModels" including following elements, which can be operated with function reportSAM:
  • EDdataequivalent dose values used for analyzing
  • addsigmathe added spread to the relative (or absolute) standard error of equivalent dose
  • modelthe fitting model
  • ifloguse log-scale or not
  • nsimthe size of simulated chains (row number of the chains)
  • chainsthe simulated chains, note that if the analysis is performed in a log-scale, then the chains will be transformed before being returned

Details

This function is used for constructing Markov chains for the desired parameters of finite mixture age models with the Slice Sampling method (Neal, 2003). The method is based on the fact that to sample a random variable one can sample uniformly from the region under the curve of its density function. With given initials and the prior information (a specified model, a number of observations, feasible intervals of the parameters of interest), each parameter is regarded as an univariate variable and is updated in turns with a accept-reject protocol. Three arguments (in control.args) are used to control the performance of the sampling: w: the size of the steps for creating an interval from which to sample, default w=1. m: the limit on steps for expanding an interval, the interval is expanded to include more feasible values if possible. m<=1 means="" no="" limit="" on="" the="" expandation,="" m="">1 means that the interval is expanded with a finite number of iterations (depends on the size of m), default m=-100. nstart: the allowed maximum number of trials for updating a variable in each simulation. It can be used to monitor the stability of the chains of a specified model. For example, the chains of a 4-parameter minimum age model is very likely to crash down and sometimes (for example, if the data set is less over-dispersed) more number of attempts (nstart>1) is needed to complete the simulations, default nstart=1.

References

Galbraith, R.F., 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 (3), pp. 197-206.

Neal, R.M., 2003. "Slice sampling" (with discussion). Annals of Statistics, 31 (3), pp. 705-767.

See Also

mcMAM; reportSAM; RadialPlotter

Examples

Run this code
data(EDdata)
  # Construct MCMC chains for a 3-component FMM.
  obj<-mcFMM(EDdata$gl11,ncomp=3,nsim=1e4)
  reportSAM(obj,thin=2,burn=1e3)

Run the code above in your browser using DataLab