|
For the definition and notation of a state-space model we refer to
Härdle, Klinke, and Müller (2000, Section 10.1);
we, too, will confine
ourselves to discrete time; in particular we make the
same assumptions on the vectors and
and the initial state
given in equations (2) and (3) there.
For our purposes, however, also the state is interesting, so we modified the quantlet
kemitor
by just adding an extra output X for it. This means that whenever you
have used the command line
y = kemitor(T, x0, H, F, ey, ex)you may as well use
erg = kemitor2(T, x0, H, F, ey, ex) y=erg.Yand additionally, you get the simulated states as a
x=erg.X
With these slight modifications, the examples to
kemitor
stay valid.
An example also using the state-simulations will be presented in
the Subsection 18.1.2.
|
A complication of the state-space model and the classical Kalman filter enters if we allow for deviations from the model assumptions. In the i.i.d. situation, this led to the development of robustness theory, for which we refer the reader e.g. to Huber (1981), Hampel et al. (1986) , Rieder (1994).
A common way to model this deviation are
-contaminations
used by the famous Huber (1964). The considered variable
no longer
always comes from a fixed distribution
,
but rather from a neighborhood around this fixed central/ideal distribution
,
and
,
![]() |
(18.1) |
In our context we will consider only multivariate normal
distributions as central distributions,
i.e.
. As contaminating distributions
we allow for Dirac-distributions, symmetric Dirac-distributions and again normal.
This is done using the quantlet
epscontnorm
.
How it works may be seen by the following
example where we generate observations from
![]() |
library("xplore") library("plot") library("kalman") randomize(0) T = 500 eps = 0.1 mid=#(0,0) Cid = #(2,1)~#(1,1) mcont=#(3,3) Ccont = #(3,0)~#(0,0.2) erg=epscontnorm(T,eps,mid,Cid,mcont,Ccont,0) color=2*erg.Ind+2 ; sets color to 2 (green) for "clean" data ; and 4 (red) for contaminated data data=erg.X setmaskp(data,color, 3, 8) disp = createdisplay(1,1) show(disp,1,1,data)
In the situation of state-space models deviations can have quite different effects, depending on where they enter. In the time-series context there is a common terminology due to Fox (1972) distinguishing between additive outliers (AO) and innovation outliers (IO).
An example
for this can be seen in satellite navigation. The state of the system is the dimensions
of the satellite in space, whereas ground control receives a possibly noisy signal about this state.
An AO could now be caused by a short defect in the observation device.
So the task of the estimator is to down-weight the influence of large obesrvations for the state estimation. This is what our robust Kalman filters rLS and rIC are designed for.
To return to our example from the AO's, an IO could be caused by an asteroid hitting the the satellite and thereby deviating it from its ``should-be'' track.
This time the task of the estimator is to realize this and to adapt itself as fast as possible to
the new situation.
Of course, down-weighting the observations' influence will make detecting
state deviations even harder, so simultaneous treatment of AO's and IO's will in general be less
effective than either of the two alone.
Additionally, for detecting a deviation from the ``should-be'' track,
a single observation plus the estimation of the state based on the observations up to then is generally not sufficient.
So for this task, it is better to drop strict recursivity in the sense that in stead of just one observation plus
the estimation of the state based on the observations up to then one should rather base the estimation on the
last observations and smoothed/filtered/predicted values
,
.
Simultaneous robust smoothers/filters designed for that purpose have not
yet been implementated into
XploRe
up to now.
To give you an impression of how AO's and IO's affect data in state space
models, we
have simulated data from -AO/IO-contaminated, normal setups.
We realize AO-contamination by simulating coming from an
-contaminated
.
An example of the effects of an AO-contaminated model is generated by the following
XploRe
instructions using the quantlets
epscontnorm
and
kemitor2
which generate a simulation of length
of a steady state model (i.e.
)
under a convex contaminated
, with contamination-radius
and
;
First we set the system parameters:
library("xplore") library("plot") library("kalman") randomize(0) T = 100 mu=0 H = 1 F = 1 mid=0 Cid=1 mcont=10 Ccont=0.1 eps=0.1Then we simulate data from this situation and apply the Kalman filter to this data.
ErrX = normal(T) ErrY = epscontnorm(T,eps,mid,Cid,mcont,Ccont,0) sim = kemitor2(T,mu,H,F,ErrY,ErrX) state = (1:100)~(sim.X) obs= (1:100)~(sim.Y) ind = ErrY.IndFlags are set for the instances where we have contamination.
ind=(1:100)~ind ind=paf(ind, ind[,2]==1)Finally we plot the path of the state (blue) and the corresponding observations (green) and set red flags at the instances where we have contamination, see Figure 18.2.
setmaskp(ind,4, 3, 8) state=setmask(state,"line","blue","thin") obs=setmask(obs,"line","green","thin") disp = createdisplay(1,1) show(disp,1,1,state,obs,ind)*0 setgopt(disp,1,1, "title", "1-dim Steady State Model under AO") setgopt(disp,1,1, "xlabel", "t") setgopt(disp,1,1, "ylabel", "x, y")
IO-contamination is realized by simulating coming from an
-contaminated
.
The effects of an IO-contaminated model may be seen by just interchanging the role of
and
in the first example.
They will generate a simulation of length
of a steady state model
(i.e.
)
under a convex contaminated
, with radius
, and
.
ErrY = normal(T) ErrX = epscontnorm(T,eps,mid,Cid,mcont,Ccont,0) sim = kemitor2(T,mu,H,F,ErrY,ErrX) state = (1:100)~(sim.X) obs= (1:100)~(sim.Y) ind = ErrX.Ind
![]() |
To summarize we want to solve the following problem.
In a given ideal normal state-space model, that is
,
,
all stochastically independent,
with
,
,
,
known and in ``correct'' dimensions, we want to find recursive
estimates for
based on
and a preliminary estimate
for
based on all observations
,
. The quality of this estimator is
measured in terms of the mean squared error (MSE)
.
For robustness reasons we want the influence of
on
to be bounded
in order to protect it from AO outliers.
Of course for this robustness, we pay a price, namely we cannot in general achieve the optimal
MSE which is attained by the classical Kalman filter .
This price will be measured by the relative efficiency loss
.