Internal functions of package robKalman for the ACM filter

Share:

Description

These functions are used internally by package robKalman for the ACM filter

Usage

1
2
3
4
.getcorrCovACM(S1, K,  Z, W=diag(nrow(Z)))
.ACMinitstep(a, S, ...) 
.ACMpredstep(x0, S0, F, Q, i, rob0, s0, ...)
.ACMcorrstep(y, x1, S1, Z, V, i, rob1, dum, psi, apsi, bpsi, cpsi, flag, ...)

Arguments

a

mean of the initial state

S

initial state covariance (see below)

Z

observation matrix (see below)

V

observation error covariance (see below)

F

innovation transition matrix (see below)

Q

innovation covariance (see below)

i

the time instance

K

Kalman gain K_t

W

weight matrix

dum

dummy variable for compatibility with ... argument of calling function

s0

scale of nominal Gaussian component of additive noise

S1

prediction error covariance S_{t|t-1} of the ACM filter

S0

filter error covariance S_{t-1|t-1} of the ACM filter

rob0

not used here; included for compatibility reasons; set to NULL

rob1

used to pass on information recursively; here: st time-dependent scale parameter

psi

influence function to be used (default: Hampel's ψ function, which is the only one available at the moment)

a,b,c

tuning constants for Hampel's ψ-function, (default: a=b=2.5, c=5.0)

flag

character, if "weights" (default), use ψ(t)/t to calculate the weights; if "deriv", use ψ'(t)

y

observation y_t

x0

(ACM)- filtered state x_{t-1|t-1}

x1

(ACM)- predicted state x_{t|t-1}

...

not used here; for compatibility with signatures of other "step"-functions

Details

We work in the setup of the time-invariant, linear, Gaussian state space model (ti-l-G-SSM) with p dimensional states x_t and q dimensional observations y_t, with initial condition

x_0 ~ N_p(a,S),

state equation

x_t = F x_{t-1} + v_t, v_t ~ N_p(0,Q), t>=1,

observation equation

y_t = Z x_t + e_t, e_t ~ N_q(0,V), t>=1,

and where all random variable x_0, v_t, e_t are independent.

For notation, let us formulate the classical Kalman filter in this context:

(0) ininitial step

x_{0|0} = a

\code{ } with error covariance

S_{0|0} = Cov(x_0-x_{0|0}) = S

(1) prediction step

x_{t|t-1} = F x_{t-1|t-1}, t>=1

\code{ } with error covariance

S_{t|t-1} = Cov(x_t-x_{t|t-1}) = F S_{t-1|t-1} F' + Q

(2) correction step

x_{t|t} = x_{t|t-1} + K_t (y_t - Z x_{t|t-1}), t>=1

\code{ } for Kalman Gain

K_t = S_{t|t-1} Z' (Z S_{t|t-1} Z' + V )^-

\code{ } with error covariance

S_{t|t} = Cov(x_t-x_{t|t}) = S_{t|t-1} - K_t Z S_{t|t-1}

FURTHER DETAILS TO BE FILLED

Value

.getcorrCovACM determines filter error covariance S_{t-1|t-1} of the ACM filter.
.ACMinitstep calculates x_{0|0}.
.ACMpredstep calculates the ACM-x_{t|t-1}.
.ACMcorrstep calculates the ACM-x_{t|t}.

Author(s)

Peter Ruckdeschel Peter.Ruckdeschel@itwm.fraunhofer.de,
Bernhard Spangl bernhard.spangl@boku.ac.at,

References

Martin, R.D. (1979): Approximate Conditional-mean Type Smoothers and Interpolators.
Martin, R.D. (1981): Robust Methods for Time Series.
Martin, R.D. and Thomson, D.J. (1982): Robust-resistent Spectrum Estimation.

See Also

internalKalman, internalrLS, recFilter