News blog


pomp version 1.15 released

21 September 2017

pomp version 1.15 is now available on CRAN and is coming soon to a mirror near you. This release fixes errors that would have arisen in R version 3.5 due to new changes in the underpinnings of R.

Additionally, there has been one augmentation of the pomp C API: a new dmultinom function for multinomial likelihoods. See the package NEWS for more details.


pomp version 1.14 released

24 August 2017

pomp version 1.14 is now available on CRAN and is coming soon to a mirror near you. This release fixes a bug in gillespie.sim and removes the kleap.sim plug-in.

A new feature: the new argument hmax to gillespie.sim allows the user to specify the maximum step size that will be taken before covariates are evaluated.

The K-leap method has been removed because its accuracy on test problems is low and it is difficult to make it compatible with the pomp paradigm. In particular, it does not readily accomodate time-varying covariates in a sensible way, nor does it lend itself to simulations at pre-specified times.

See the package NEWS for more details.


pomp version 1.13 released

17 July 2017

pomp version 1.13 is now available on CRAN and will make its way soon to a mirror near you. This is strictly a bug-fix release. See the package NEWS for more details.


pomp version 1.12 released

19 April 2017

pomp version 1.12 is now available on CRAN and will make its way soon to a mirror near you. This is strictly a bug-fix release. See the package NEWS for more details.


pomp version 1.11 released

01 March 2017

pomp version 1.11 is now available on CRAN. This release introduces one new feature, fixes some bugs, and improves the documentation.

New feature

The functions bake, stew, and freeze now preserve information about the system time used in computation as an attribute of the returned object. Another attribute stores information about the RNG settings used.

Other changes


pomp version 1.10 released

23 November 2016

pomp version 1.10 is now available on CRAN. This release removes some deprecated facilities and provides one new feature.

Deprecated facilities removed

New feature

See the package NEWS for more details.


pomp version 1.9

02 October 2016

pomp version 1.9 is now available on CRAN. This release fixes several bugs.

Bug fixes

Please see the package NEWS for more details.


pomp version 1.8

31 August 2016

pomp version 1.8 is now available on CRAN. This release introduces one new feature and fixes several bugs.

New feature

User-visible changes

Under the hood

Bug fixes

Please see the package NEWS for more details.


pomp version 1.7 is released

01 August 2016

pomp version 1.7 is now available on CRAN. This is a bug-fix and documentation upgrade. Since version 1.6, I have continued to improve the handling of error messages and warnings. Please continue to send examples of error messages that are uninformative or misinformative, along with the code that produced them, so I can trap those errors and improve the messages!

Please see the package NEWS for more details.


pomp version 1.6!

01 July 2016

pomp version 1.6 is now available on CRAN. Lots of changes to report: big improvements in the documentation and in the error messages, lots of bug fixes, and some new features, too.

Improvements to the error handling system: War on useless error messages!

Documentation improvements

User-visible changes

New features

Bug fixes

The many changes to the testing suite turned up a number of bugs, which have been fixed. These include:

Under the hood

Please see the package NEWS for more details.


pomp version 1.5 released

31 May 2016

pomp version 1.5 is now available on CRAN.

User-visible changes

New features

Documentation improvements

Bug fixes

Under the hood

Please see the package NEWS for more details.


panelPomp package alpha release

24 May 2016

This alpha release provides tools for working with panel data using partially observed Markov processes. In particular, this package allows one to model multiple, independent units (or individuals) for each of which one has (potentially multivariate) time series data. The basic idea driving panelPomp is to apply to a collection of units some of the pomp package facilities for implementing POMP models, simulating them, and fitting them to time series data. Regarding fitting, as of this release, only the iterated filtering (mif2) algorithm has currently been extended to the panelPomp panel setting. The package is authored and maintained by Carles Breto.

See the panelPomp github site for information, source code, and downloads.


Journal of Statistical Software paper on pomp released!

29 March 2016

A Journal of Statistical Software paper describing pomp, its rationale, structure, and the inference algorithms it contains, has just been released. The paper gives the inference algorithms in detail (including pseudocode), and demonstrates them on a few examples. Its aim is to give an introduction pomp both as a scientific tool and as a platform for development of inference methods for POMPs. Please cite this paper (do citation("pomp") in an R session to see how) when you use the package. Coinciding with the paper’s release is a new version of pomp which is on CRAN now. See the package NEWS for details on the new release.


Short course on pomp at SISMID, Seattle

15 March 2016

Ed Ionides and Aaron King will be teaching their short course on Simulation-based Inference for Epidemiological Dynamics for the second time this July at the 8th Summer Institute in Statistics and Modeling in Infectious Diseases (SISMID). The course introduces statistical inference techniques and computational methods for dynamic models of epidemiological systems. It will explore deterministic and stochastic formulations of epidemiological dynamics and develop inference methods appropriate for a range of models. Special emphasis will be on exact and approximate likelihood as the key elements in parameter estimation, hypothesis testing, and model selection. Specifically, the course will cover sequential Monte Carlo and synthetic likelihood techniques. Students will learn to implement these in R to carry out maximum likelihood and Bayesian inference. Knowledge of the material in Module 1 (Probability and Statistical Inference) is assumed. Students new to R should complete a tutorial before the module. The course is listed as Module 9 and will run from 18-20 July 2016 at the University of Washington in Seattle.


Can I write a pomp for multivariate data?

01 March 2016

This is no problem.

The data you supply to pomp can contain multiple variables. You simply refer to these variables by name in writing the rmeasure and dmeasure Csnippets. See FAQ 3.2 for an example.


pomp version 1.3.1.1 released

29 February 2016

In version 1.3.1.1, several features that had long been deprecated have been removed. These include:

Please see the package NEWS for more details.


pomp version 1.2.1.1 released

24 September 2015

Version 1.2.1.1 has been released and is coming soon to a CRAN mirror near you. This is a bug-fix and documentation improvement release. Please see the package NEWS for details.


pomp version 1.1.1.1 released

20 August 2015

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

Bug fixes

Deprecated and defunct


Improved "getting started" tutorial

09 August 2015

The Getting started with pomp tutorial has been substantially improved. In particular, the tutorial now contains not only an example of the construction of a pomp object, but also

Although the tutorial uses as its example a very simple data analysis (one in fact for which far simpler methods than the ones employed would be sufficient), the methods that it illustrates can be readily transposed for dealing with much more challenging problems.


Adaptive PMCMC proposals

07 August 2015

As of version 0.78-1, pomp includes facilities for adaptive proposals for particle MCMC (pmcmc) and approximate Bayesian computation (abc). The new function mvn.rw.adaptive generates an multivariate normal random-walk MCMC proposal function that adapts in scale and shape. Thanks to Sebastian Funk for contributing a patch that spurred this development. This functionality should be regarded as experimental and subject to change. Please tell me about your experiences with it and contribute suggestions for improvement (or pull requests!) if you can.


Deprecated arguments removed

06 August 2015

A number of minor changes to pomp have been made since the last blog post. Specifically, in pomp version 0.77-1:


Bug fix for logmeanexp

29 July 2015

A bug in logmeanexp has been fixed. Previously, when se = TRUE, this function used a delta-method estimate of the variance in log(mean(exp(x))) which was accurate when exp(x) had small variance but had two problems:

  1. It was overly conservative, being an estimate of the standard error on each element of x, as opposed to the standard error on log(mean(exp(x))), as might have been expected
  2. It performed poorly when the variance in exp(x) was large. In particular, it returned misleadingly small estimates of the standard error in this case.

The new version uses a jackknife estimate of the variance in log(mean(exp(x))). Since the jackknife estimate is biased upward, it is still somewhat conservative, but is more robust when the variance of exp(x) is large.


Short course on "Simulation-based Inference for Epidemiological Dynamics"

28 July 2015

Ed Ionides and Aaron King taught a short course on this topic at the 7th Summer Institute for Statistics and Modeling for Infectious Disease at the University of Washington in Seattle this summer. The materials include:

These materials are available via the pomp website.


Pimp my pomp

27 July 2015

The new pimp my pomp page on the pomp wiki is for sharing advice and code. The first entry contains some advice about maintaining a database of parameter points and likelihoods to facilitate exploration of complex likelihood surfaces.


Better caching

25 July 2015

When a pomp object is constructed using Csnippets, the C source is compiled and dynamically loaded into the running R session. Heretofore, this meant that one had to rebuild the pomp in each new R session. Changes in version 0.75-1 now make it so that one can store and re-use pomp objects across R sessions. This is achieved by storing the source code internally to the pomp object. When a pomp object 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 allows pomp objects to be stored and reused across R sessions. To avoid collisions, the name of the file is constructed using a hash of its contents.


Reproducibility utilities

24 July 2015

On cooking shows, recipes requiring lengthy baking or stewing are prepared beforehand. The bake and stew functions perform analogously, performing an R computation and storing the result in a named file. If the function is called again and the file is present, the computation is not executed; rather, the results are loaded from the file in which they were previously stored. Moreover, via their optional seed and kind arguments, bake and stew can control the pseudorandom-number generator (RNG) for greater reproducibility. After the computation is finished, these functions restore the pre-existing RNG state to avoid side effects.

The freeze function doesn’t save results, but does set the RNG state to the specified value and restore it after the computation is complete.


Changes to the way certain functions manipulate the RNG seed

20 July 2015

Smoothed trajectories via PMCMC

10 July 2015

pmcmc and pfilter now have the capability of saving filtered trajectories. These can be extracted using the new method filter.traj. The principal use will be in conjunction with pmcmc, where, upon convergence to the posterior, samples from the filtered trajectories will be draws from the posterior P[x[1:T] | y[1:T]], i.e., the smoothing distribution. Thanks to Sebastian Funk for initiating this development!


Initializer can now be furnished as a Csnippet

11 June 2015

Full-featured version of mif2 now implemented

05 June 2015

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 more efficient and stable than IF1. mif2 should be preferable to mif in just about all circumstances.


pomp version 0.65-1 released to CRAN

01 June 2015

pomp version 0.65-1 is now available on CRAN and coming soon to a mirror near you.

This release contains many improvements. Highlights include:


pomp version 0.53-1 released

30 June 2014

pomp version 0.53-1 is now available on CRAN and coming soon to a mirror near you.

This is a major new feature release. Some highlights are:


pomp version 0.49-1 on CRAN

23 March 2014

pomp version 0.49-1 is now available on CRAN and coming soon to a mirror near you.

This is a new feature release. Some highlights are:


Subscribe to this newsfeed 


NSF
NCEAS
NIH

This software has been made possible by support from the U.S. National Science Foundation (Grants #EF-0545276, #EF-0430120), by the “Inference for Mechanistic Models” Working Group supported by the National Center for Ecological Analysis and Synthesis (a Center funded by N.S.F. (Grant #DEB-0553768), the University of California, Santa Barbara, and the State of California), and by the RAPIDD program of the Science & Technology Directorate, Department of Homeland Security and the Fogarty International Center, U.S. National Institutes of Health.