Calibration of clipping height b

Share:

Description

calibrates the clipping height b of the rLS-filter in a time-invariant, linear, Gaussian state space model

Usage

1
2
rLScalibrateB(Z, S, V, repl = 100000, b = NULL, eff = NULL, r = NULL,
              rlow = 0, rup = NULL, upto=20, IO = FALSE, seed)

Arguments

Z

observation matrix in the (ti-l-G-SSM); see below

S

prediction error covariance matrix (of the classical Kalman filter) in the (ti-l-G-SSM); see below

V

observation error covariance matrix in the (ti-l-G-SSM); see below

r

SO/IO-contamination radius

b

given clipping height

eff

efficiency w.r.t. classical Kalman filter in the ideal model

rlow

lower bound for SO/IO-contamination radius

rup

upper bound for SO/IO-contamination radius

repl

number of replicates used for a LLN-approximation of the expectations needed in this calibration

upto

an upper bound to b used in the zero-search of uniroot within rLScalibrateB

IO

logical of length 1: Is it rLS.IO (TRUE) or rLS[.AO] which is to be calibrated?

seed

if not missing: argument to set.seed to set the seed for MC integration

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.

The clipping height b given Z, V, and prediction error covariance S_{t|t-1} (of the classical Kalman filter) is either calibrated to a given efficiency eff in the ideal model or to given (SO/IO)-radius r about the ideal model.

If this radius is unknown, to a given radius interval [rlow,rup], {0 <= \code{rlow} < \code{rup} <= 1 } a least favorable radius r0 is distinguished giving a radius minimax procedure.

The expectations needed for this calibration are calculated by a LLN approximation with repl replicates;

The hierarchie is done as follows: when argument eff is present, this is used, otherwise, if argument r is given, this is used; and still otherwise, the corresponding radius interval is used.

If b is given, rLScalibrate only determines the corresponding efficiency loss eff and corresponding radius r for which b would be SO/IO optimal.

Value

a list containing components clipping height b, efficiency loss eff and least favorable/resp. given radius r for the rLS filter

Author(s)

Peter Ruckdeschel Peter.Ruckdeschel@itwm.fraunhofer.de,

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
require(robKalman)

##Hyper parameter of a lin. time-inv. Gaussian SSM
SS0  <- matrix(0, 2, 2)
F0   <- matrix(c(.7, 0.5, 0.2, 0), 2, 2)
Q0   <- matrix(c(2, 0.5, 0.5, 1), 2, 2)
Z0   <- matrix(c(1, -0.5), 1, 2)
V0i  <- 1

### limiting prediction error covariance
SS <- limitS(S = SS0, F = F0, Q = Q0, Z = Z0, V = V0i)

### calibration b
# by efficiency in the ideal model
# efficiency  =  0.9
(B1 <- rLScalibrateB(eff = 0.9, S = SS, Z = Z0, V = V0i))
# by contamination radius
# r  =  0.1
(B2 <- rLScalibrateB(r = 0.1, S = SS, Z = Z0, V = V0i))
# by contamination radius interval
# rlow  =  0.05, rup= 0.5
(B3 <- rLScalibrateB(rlow = 0.05, rup= 0.5, S = SS, Z = Z0, V = V0i))