| dynr.model {dynr} | R Documentation |
Create a dynrModel object for parameter estimation (cooking dynr) using dynr.cook
Description
Create a dynrModel object for parameter estimation (cooking dynr) using dynr.cook
Usage
dynr.model(dynamics, measurement, noise, initial, data, ...,
outfile = tempfile())
Arguments
dynamics |
a dynrDynamics object prepared with |
measurement |
a dynrMeasurement object prepared with |
noise |
a dynrNoise object prepared with |
initial |
a dynrInitial object prepared with |
data |
a dynrData object made with |
... |
additional arguments specifying other dynrRecipe objects. Argument regimes is for
a dynrRegimes object prepared with |
outfile |
a character string of the name of the output C script of model functions to be compiled for parameter estimation. The default is the name for a potential temporary file returned by tempfile(). |
Details
A dynrModel is a collection of recipes. The recipes are constructed with the functions prep.measurement, prep.noise, prep.formulaDynamics, prep.matrixDynamics, prep.initial, and in the case of regime-switching models prep.regimes. Additionally, data must be prepared with dynr.data and added to the model.
Several named arguments can be passed into the ... section of the function. These include
Argument
regimesis for a dynrRegimes object prepared withprep.regimesArgument
transformis for a dynrTrans object prepared withprep.tfun.Argument
optionsa list of options. Check the NLopt website https://nlopt.readthedocs.io/en/latest/NLopt_Reference/#stopping-criteria for details. Available options for use with a dynrModel object include xtol_rel, stopval, ftol_rel, ftol_abs, maxeval, and maxtime, all of which control the termination conditions for parameter optimization. The examples below show a case where options were set.
There are several available methods for dynrModel objects.
The dollar sign ($) can be used to both get objects out of a model and to set pieces of the model.
-
namesreturns the names of the free parameters in a model. -
printexprints LaTeX expressions for the equations that compose a model. The output can then be readily typeset for inclusion in presentations and papers. -
nobsgives the total number of observations (e.g. all times across all people) -
coefgives the free parameter starting values. Free parameters can also be assigned withcoef(model) <- aNamedVectorOfCoefficients
Value
Object of class 'dynrModel'
Examples
# Create a minimal model called 'model'
# without 'cooking' (i.e., estimating parameters)
require(dynr)
meas <- prep.measurement(
values.load=matrix(c(1, 0), 1, 2),
params.load=matrix(c('fixed', 'fixed'), 1, 2),
state.names=c("Position","Velocity"),
obs.names=c("y1"))
ecov <- prep.noise(
values.latent=diag(c(0, 1), 2),
params.latent=diag(c('fixed', 'dnoise'), 2),
values.observed=diag(1.5, 1),
params.observed=diag('mnoise', 1))
initial <- prep.initial(
values.inistate=c(0, 1),
params.inistate=c('inipos', 'fixed'),
values.inicov=diag(1, 2),
params.inicov=diag('fixed', 2))
dynamics <- prep.matrixDynamics(
values.dyn=matrix(c(0, -0.1, 1, -0.2), 2, 2),
params.dyn=matrix(c('fixed', 'spring', 'fixed', 'friction'), 2, 2),
isContinuousTime=TRUE)
data(Oscillator)
data <- dynr.data(Oscillator, id="id", time="times", observed="y1")
# Now here's the model!
model <- dynr.model(dynamics=dynamics, measurement=meas,
noise=ecov, initial=initial, data=data)