Sampling from the joint-likelihood functions of finite mixture age models (include the central age model) using a Markov chain Monte Carlo (MCMC) method.
mcCAM(EDdata, addsigma = 0, iflog = TRUE,
nsim = 50000, inis = list(), control.args = list())mcFMM(EDdata, ncomp = 2, addsigma = 0, iflog = TRUE,
nsim = 50000, inis = list(), control.args = list())
Return an invisible list of S3 class object "mcAgeModels"
including the following elements:
equivalent dose values
additional uncertainty
fitting model
transform equivalent dose values to log-scale or not
number of iterations
simulated samples of parameters
matrix(required): a two-column matrix (i.e., equivalent dose values and
associated standard errors)
integer(with default): number of components
numeric(with default): additional uncertainty, i.e., the sigmab value
logical(with default): transform equivalent dose values to log-scale or not
integer(with default): deseried number of iterations
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)
list(with default): arguments used in the Slice Sampling algorithm, see 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
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
.
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 https://glizen.com/radfordneal/slice.software.html.
Peng J, Dong ZB, Han FQ, 2016. Application of slice sampling method for optimizing OSL age models used for equivalent dose determination. Progress in Geography, 35(1): 78-88. (In Chinese).
mcMAM; reportMC; RadialPlotter; optimSAM; sensSAM; EDdata
# Not run.
# data(EDdata)
# Construct a MCMC chain for CAM.
# obj<-mcCAM(EDdata$gl11,nsim=5000)
# reportMC(obj,thin=2,burn=1e3)
# Construct a MCMC chain for FMM3.
# obj<-mcFMM(EDdata$gl11,ncomp=3,nsim=5000)
# reportMC(obj,thin=2,burn=1e3)
Run the code above in your browser using DataLab