Version 1.1.1.1 has been released and is coming soon to a CRAN mirror near you. Since version 0.65-1, there have been many changes to pomp, including new features, some bug fixes, and algorithmic improvements. Some of the highlights include:
New features
-
A full-featured version of IF2, an improved iterated filtering algorithm, is now available as
mif2. This allows a more general structure for the random perturbations applied to parameters and is generally much more efficient and stable than IF1.mif2should be preferred tomifin almost all circumstances. -
There is a new, adaptive MCMC proposal function,
mvn.rw.adaptivethat can be used inpmcmcandabc. This can greatly increase the efficiency of these samplers. -
By default, when
Csnippets are used, the source code is now stored internally to thepompobject. When apompobject is used, a test is first performed to see if the needed shared-object file exists. If it does not, the source code is written to a file in the session’s temporary directory, which is then compiled and loaded. This feature allowspompobjects to be stored and reused across R sessions, including parallel sessions on a cluster. -
A
pompobject’s initializer can now be specified as aCsnippet. -
pmcmcandpfilternow have the capability of saving filtered trajectories. These can be extracted using the new methodfilter.traj. The principal use will be in conjunction withpmcmc, where, upon convergence to the posterior, samples from the filtered trajectories are draws from the posteriorProb[x[1:T] | y[1:T]]. Thanks to Sebastian Funk for initiating this development. -
partransandparmathave been jiggered to make them play better withreshape2::melt. -
Measles data from England and Wales, kindly provided by Ben Bolker, are now included as
ewmeasandewcitmeas. -
The new functions
bakeandstewfaciliate storing expensive calculations for later retrieval in a transparent fashion. These functions have arguments that allow the control of the RNG: one can now set the state (and kind) of the RNG in a self-contained fashion. -
The new function
freezeallows control of the RNG similarly. -
There is now a
coefmethod formifListandmif2Listobjects. -
In the
pompconstructor, unrecognized arguments are stored internally for use with user-supplied model functions. Now, an informative message is generated when this happens. Previously, this silent behavior was a source of confusion for some users.
Bug fixes
-
logmeanexphad used a delta-method estimate of the variance inlog(mean(exp(x)))whense = TRUE. This gave misleadingly small values when the variance inexp(x)was large. The newlogmeanexpuses a jackknife estimate of the variance. This is still conservative, in that it is biased upwards, but is more robust. -
The new
covmatmethod, applied toabc,abcList,pmcmc, orpmcmcListobjects, returns an inflated empirical covariance matrix suitable for use as input to the proposal generatormvn.rw.
Deprecated and defunct
- Some deprecated functionality has been removed:
- The deprecated
transform.paramsargument fromnlfhas been removed. - The deprecated
parsandrw.sdarguments fromabcandpmcmchave been removed. - The deprecated
data.arraymethod has been removed.
- The deprecated
-
The
seedargument ofbsmcandbsmc2has been removed. Its use now generates a warning, stating that it has no effect. -
The
seedargument topfilteris now deprecated and will be removed soon. Equivalent functionality is provided viafreeze,bake, orstew. pompBuilder, which has not been actively maintained for some time due to the its being superseded by theCsnippetfacility, is now no longer exported.