pomp version 2.5 has been released to CRAN and is on its way to a mirror near you.
Changes to particle-filter algorithms
This release anticipates an important change in the behavior of key pomp algorithms.
In particular, all algorithms based on the particle filter—including pfilter
, mif2
, pmcmc
, and bsmc2
—are affected.
In previous versions, each of these algorithms has an adjustable tolerance, tol
, which sets the minimum likelihood distinguishable from zero for the purposes of these methods.
Though this tolerance has been present since the earliest days of pomp, the rationale for it has always been practical rather than theoretical and there is little evidence for its usefulness.
Worse, as pomp users continue to tackle larger and more complicated problems, they are increasingly encountering situations where the default value of tol
turns out to be inappropriately high.
For these reasons, we have decided to dispense with it entirely.
Since this change would break some existing code, we will accomplish this in stages.
In this release, the behavior of all the above algorithms remains as before, but a warning is generated whenever tol
is nonzero.
This means that using the default value will generate a warning.
This warning is meant to pester you into setting tol = 0
whenever you use one of the affected algorithms (pfilter
, mif2
, pmcmc
, bsmc2
).
By doing so, you will be prepared when, in a forthcoming version, the default value of tol
changes to zero and when, ultimately, the tol
parameter is removed entirely.
To reiterate: the default behavior of these algorithms continues unchanged as of this version, but warnings of forthcoming changes are generated.
These warnings give you time to set tol = 0
in your codes before this setting becomes, first, the default and, ultimately, mandatory.
New documentation
- A new example illustrating the ‘accumvars’ argument has been provided.
Do
?accumvars
to see it. - A new help page lists the various example datasets and pomp objects provided with the package.
Do
?pompExamples
to view it.
Under the hood
- Internal computations now use increased precision (long double) for means, variances, and certain calculations with likelihoods.