panelPomp objectsThis function constructs panelPomp objects, representing
PanelPOMP models (as defined in Bretó et al., 2020). PanelPOMP models
involve multiple units, each of which can in turn be modeled by a POMP
model. Such POMP models can be encoded as a list of pomp
objects, a cornerstone that the panelPomp function can use to
construct the corresponding panelPomp object.
panelPomp(object, shared, specific, params)A panelPomp object.
required; either (i) a list of pomp objects; or
(ii) an object of class panelPomp or inheriting class
panelPomp.
If object is a list of pomps, the list must be named.
All these pomps must either have no parameters or have the same
parameter names. (This is just a format requirement. pomp codes can
ignore any parameter that is irrelevant to any given panel unit.)
If object is a panelPomp object, the function allows modifying
the shared and unit-specific configuration of object.
optional; these arguments depend on the type
of object.
If object is a list of pomps, shared must be a
numeric vector specifying parameter values shared among panel units.
specific must be a matrix with parameter values that are
unit-specific with rows naming parameters and columns naming units (these
names must match those of object). If no values are specified and
object has parameter values, these are set to be all unit-specific.
If object is a panelPomp object, these arguments can still be
used as described above to modify the parameters of object.
Alternatively, the parameter configuration of object can be modified
providing only a character shared naming parameters of object
that should be shared (with values for parameters not originally shared
taken from the unit-specific parameters of the first panel unit of
object). shared=NULL sets all parameters as unit-specific.
optional; a named numeric vector. In this case, the nature of
parameters is determined via a naming convention: names ending in
“[unit_name]” are assumed to denote unit-specific parameters;
all other names specify shared parameters.
Carles Bretó
Bretó, C., Ionides, E. L. and King, A. A. (2020) Panel Data Analysis via Mechanistic Models. Journal of the American Statistical Association, 115(531), 1178--1188. tools:::Rd_expr_doi("https://doi.org/10.1080/01621459.2019.1604367")
King, A. A., Nguyen, D. and Ionides, E. L. (2016) Statistical inference for partially observed Markov processes via the package pomp. Journal of Statistical Software 69(12), 1--43. DOI: 10.18637/jss.v069.i12. An updated version of this paper is available on the package website.
pomp's constructor at pomp
Other panelPomp workhorse functions:
mif2(),
panel_loglik,
pfilter()
## recreate the 'panelRandomWalk()' example
prw <- panelRandomWalk()
prw2 <- panelPomp(unit_objects(prw), params = coef(prw))
identical(prw, prw2) # TRUE
Run the code above in your browser using DataLab