Functions for work with a simple list specification of pcarma models
pc.modelunvec.Rd
Handle a simple list specification of pcarma models. Functions to convert to and from a representation appropriate for handing on to optimisation functions.
Details
These functions work with a specification of a pcarma model as a list
with components period
, p
, q
, param
,
phi
, theta
and si2
, see also section `Values'.
The functions do not necessarily need or examine all these components.
Argument model
is a list with components as accepted by
pcarma_prepare
. Details are below but the guiding rule is that
there are sensible defaults for absent components.
pcarma_prepare
gives a standard representation of model
, in
the sense that it ensures that the model has components period
,
p
and q
, such that p
and q
are vectors of
length period
. pcarma_prepare
does not examine any other
components of the model. (TODO: do the same for the
innovation variance?)
If model$period
is NULL, pcarma_prepare
sets it to the
length of the longer of model$p
and model$q
. If
model$p
is a scalar it is extended with rep(model$p,
period)
. Missing or NULL model$p
is equivalent to
model$p = 0
. model$q
is processed analogously.
The net effect is that period
, p
and q
will be set
as expected as long as period
is given or at least one of the
other two is of length equal to the period. A warning is issued if
period <= 1
(it is all too easy to give scalar values for
p
and q
and forget to set the period, in which case
period
will be deduced to be one).
A number of functions (including pcarma_tovec
and
pcarma_unvec
) dealing with the list representation of pcarma
models start by calling pcarma_prepare
to avoid the need for
handling all possible cases.
pcarma_tovec
returns a list with components p
,
q
and param
, where param
is a numeric vector
containing the pcarma parameters and the innovations variances and
thus is suitable for optimisation functions. Notice that it is
component param that is a vector. The reason that pcarma_tovec
returns a list, is that the caller may need to do further work before
calling a generic optimisation function. For exampe, it may wish to
dop the variances from the vector.
pcarma_unvec(model)
performs the inverse operation. It takes a
list like that produced by pcarma_tovec
and converts it to a
detailed list containing the components of the model.
Value
for pcarma_unvec
, a list with components:
- p
autoregressive orders, numeric vector
- q
moving average orders, numeric vector
- si2
innovation variances
- phi
autoregressive parameters
- theta
moving average parameters
for pcarma_tovec
, a list with components:
- p
autoregressive order
- q
moving average order
- param
parameters of the model, a numeric vector. TODO: give the order of the parameters in the vector!
for pcarma_prepare
, a list as pcarma_unvec
, see also
Details.