ARMA(A=NULL, B=NULL, C=NULL, TREND=NULL,
constants=NULL,
description=NULL, names=NULL, input.names=NULL, output.names=NULL)
is.ARMA(obj)
A(L)y(t) = B(L)w(t) + C(L)u(t) + TREND(t)
where
The name of last term, TREND
, is misleading. If it is NULL it is treated
as zero. If it is a p-vector, then this constant vector is added to the
the p-vector y(t)
at each period. For a stable model this would give the
none zero mean, and might more appropriately be called the constant or intercept
rather than trend. If the model is for differenced data, then this mean is the
trend of the undifferenced model. The more general case is when TREND
is
a time series matrix of the same dimension as y
. In this case it is added
to y
. This allows for a very general deterministic component, which may
or may not be a traditional trend.
By default, elements in parameter arrays are treated as constants if they
are exactly 1.0 or 0.0, and as parameters otherwise. A value of 1.001 would
be treated as a parameter, and this is the easiest way to initialize an
element which is not to be treated as a constant of value 1.0. Any array
elements can be fixed to constants by specifying the list constants
.
Arrays which are not specified in the list will be treated in the default
way. An alternative for fixing constants is the function fixConstants
TSmodel
,
simulate.ARMA
,
fixConstants
mod1 <- ARMA(A=array(c(1,-.25,-.05), c(3,1,1)), B=array(1,c(1,1,1)))
AR <- array(c(1, .5, .3, 0, .2, .1, 0, .2, .05, 1, .5, .3) ,c(3,2,2))
VAR <- ARMA(A=AR, B=diag(1,2))
C <- array(c(0.5,0,0,0.2),c(1,2,2))
VARX <- ARMA(A=AR, B=diag(1,2), C=C)
MA <- array(c(1, .2, 0, .1, 0, 0, 1, .3), c(2,2,2))
ARMA <- ARMA(A=AR, B=MA, C=NULL)
ARMAX <- ARMA(A=AR, B=MA, C=C)
Run the code above in your browser using DataLab