emeasure_spec {pomp} | R Documentation |
emeasure specification
Description
Specification of the measurement-model conditional expectation, emeasure.
Details
The measurement model is the link between the data and the unobserved state process.
Some algorithms require the conditional expectation of the measurement model, given the latent state and parameters.
This is supplied using the emeasure
argument.
Suppose you have a procedure to compute this conditional expectation, given the value of the latent state variables. Then you can furnish
emeasure = f
to pomp algorithms,
where f
is a C snippet or R function that implements your procedure.
Using a C snippet is much preferred, due to its much greater computational efficiency.
See Csnippet
for general rules on writing C snippets.
In writing an emeasure
C snippet, bear in mind that:
The goal of such a snippet is to fill variables named
E_y
with the conditional expectations of observablesy
. Accordingly, there should be one assignment ofE_y
for each observabley
.In addition to the states, parameters, and covariates (if any), the variable
t
, containing the time of the observation, will be defined in the context in which the snippet is executed.
The demos and the tutorials on the package website give examples.
It is also possible, though less efficient, to specify emeasure
using an R function.
In this case, specify the measurement model expectation by furnishing
emeasure = f
to pomp
, where f
is an R function.
The arguments of f
should be chosen from among the state variables, parameters, covariates, and time.
It must also have the argument ...
.
f
must return a named numeric vector of length equal to the number of observable variables.
The names should match those of the observable variables.
Default behavior
The default emeasure
is undefined.
It will yield missing values (NA
).
Note for Windows users
Some Windows users report problems when using C snippets in parallel computations.
These appear to arise when the temporary files created during the C snippet compilation process are not handled properly by the operating system.
To circumvent this problem, use the cdir
and cfile
options to cause the C snippets to be written to a file of your choice, thus avoiding the use of temporary files altogether.
See Also
More on implementing POMP models:
Csnippet
,
accumvars
,
basic_components
,
betabinomial
,
covariates
,
dinit_spec
,
dmeasure_spec
,
dprocess_spec
,
eulermultinom
,
parameter_trans()
,
pomp-package
,
pomp_constructor
,
prior_spec
,
rinit_spec
,
rmeasure_spec
,
rprocess_spec
,
skeleton_spec
,
transformations
,
userdata
,
vmeasure_spec