SS {dse1} | R Documentation |
Construct a
SS(F.=NULL, G=NULL, H=NULL, K=NULL, Q=NULL, R=NULL, z0=NULL, P0=NULL, description=NULL, names=NULL, input.names=NULL, output.names=NULL) is.SS(obj) is.innov.SS(obj) is.nonInnov.SS(obj)
F. |
(nxn) state transition matrix. |
H |
(pxn) output matrix. |
Q |
(nxn) matrix specifying the system noise distribution. |
R |
(pxp) matrix specifying the output (measurement) noise distribution. |
G |
(nxp) input (control) matrix. G should be NULL if there is no input. |
K |
(nxp) matrix specifying the Kalman gain. |
z0 |
vector indicating estimate of the state at time 0. Set to zero if not supplied. |
P0 |
matrix indicating initial tracking error P(t=1|t=0). Set to I if not supplied. |
description |
String. An arbitrary description. |
names |
A list with elements input and output, each a vector of strings. Arguments input.names and output.names should not be used if argument names is used. |
input.names |
A vector of character strings indicating input variable names. |
output.names |
A vector of character strings indicating output variable names. |
obj |
an object. |
State space models have a further sub-class: innov or non-innov, indicating an innovations form or a non-innovations form.
The state space (SS) model is defined by:
z(t) =Fz(t-1) + Gu(t) + Qe(t)
y(t) = Hz(t) + Rw(t)
or the innovations model:
z(t) =Fz(t-1) + Gu(t) + Kw(t-1)
y(t) = Hz(t) + w(t)
Matrices are as specified above in the arguments, and
l.ss
, state
is a time series matrix corresponding to z.simulate.SS
for this class of model, but the assumption is
usually maintained when estimating models of this form (although, not by all
authors).
Typically, an non-innovations form is harder to identify than an innovations form. Non-innovations form would typically be choosen when there is considerable theoretical or physical knowledge of the system (e.g. the system was built from known components with measured physical values).
By default, elements in parameter matrices 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 matrix elements can be fixed to constants of any value using fixConstants.
An SS TSmodel
TSmodel
ARMA
simulate.SS
l.SS
state
smoother
fixConstants
f <- array(c(.5,.3,.2,.4),c(2,2)) h <- array(c(1,0,0,1),c(2,2)) k <- array(c(.5,.3,.2,.4),c(2,2)) ss <- SS(F=f,G=NULL,H=h,K=k) is.SS(ss) ss