The particle Markov chain MetropolisHastings algorithm
Description
The Particle MCMC algorithm for estimating the parameters of a partiallyobserved Markov process.
Running pmcmc
causes a particle randomwalk MetropolisHastings Markov chain algorithm to run for the specified number of proposals.
Usage
1 2 3 4 5 6 7 8 9 10  ## S4 method for signature 'pomp'
pmcmc(object, Nmcmc = 1, start, proposal, pars, rw.sd, Np,
tol = 1e17, max.fail = 0, verbose = getOption("verbose"), ...)
## S4 method for signature 'pfilterd.pomp'
pmcmc(object, Nmcmc = 1, Np, tol, ...)
## S4 method for signature 'pmcmc'
pmcmc(object, Nmcmc, start, proposal, Np, tol,
max.fail = 0, verbose = getOption("verbose"), ...)
## S4 method for signature 'pmcmc'
continue(object, Nmcmc = 1, ...)

Arguments
object 
An object of class 
Nmcmc 
The number of PMCMC iterations to perform. 
start 
named numeric vector; the starting guess of the parameters. 
proposal 
optional function that draws from the proposal distribution. Currently, the proposal distribution must be symmetric for proper inference: it is the user's responsibility to ensure that it is. Several functions that construct appropriate proposal function are provided: see MCMC proposal functions for more information. 
pars, rw.sd 
Deprecated. Will be removed in a future release. 
Np 
a positive integer; the number of particles to use in each filtering operation. 
tol 
numeric scalar; particles with log likelihood below 
max.fail 
integer; maximum number of filtering failures permitted. If the number of failures exceeds this number, execution will terminate with an error. 
verbose 
logical; if TRUE, print progress reports. 
... 
Additional arguments. These are currently ignored. 
Value
An object of class pmcmc
.
Rerunning PMCMC Iterations
To rerun a sequence of PMCMC iterations, one can use the pmcmc
method on a pmcmc
object.
By default, the same parameters used for the original PMCMC run are reused (except for tol
, max.fail
, and verbose
, the defaults of which are shown above).
If one does specify additional arguments, these will override the defaults.
Continuing PMCMC Iterations
One can continue a series of PMCMC iterations from where one left off using the continue
method.
A call to pmcmc
to perform Nmcmc=m
iterations followed by a call to continue
to perform Nmcmc=n
iterations will produce precisely the same effect as a single call to pmcmc
to perform Nmcmc=m+n
iterations.
By default, all the algorithmic parameters are the same as used in the original call to pmcmc
.
Additional arguments will override the defaults.
Details
pmcmc
implements an MCMC algorithm in which the true likelihood of the data is replaced by an unbiased estimate computed by a particle filter.
This gives an asymptotically correct Bayesian procedure for parameter estimation (Andrieu and Roberts, 2009).
An extension to give a correct Bayesian posterior distribution of unobserved state variables (as in Andrieu et al, 2010) has not yet been implemented.
Methods
 conv.rec

conv.rec(object, pars)
returns the columns of the convergencerecord matrix corresponding to the names inpars
as an object of classmcmc
ormcmc.list
.  plot

Diagnostic plots.
 logLik

Returns the value in the
loglik
slot.  c

Concatenates
pmcmc
objects into apmcmcList
.
Author(s)
Edward L. Ionides ionides at umich dot edu, Aaron A. King kingaa at umich dot edu
References
C. Andrieu, A. Doucet and R. Holenstein, Particle Markov chain Monte Carlo methods, J. R. Stat. Soc. B, to appear, 2010.
C. Andrieu and G.O. Roberts, The pseudomarginal approach for efficient computation, Ann. Stat. 37:697725, 2009.
See Also
pomp
, pfilter
,
and the tutorials on the package website.