Skip to content

Kalman Filter in Control situation.

3 messages · Todd Remund, Leeds, Mark (IED), Paul Gilbert

#
I am looking for a Kalman filter that can handle a control input.  I thought 
that l.SS was suitable however, I can't get it to work, and wonder if I am 
not using the right function.  What I want is a Kalman filter that accepts 
exogenous inputs where the input is found using the algebraic Ricatti 
equation solution to a penalty function.  If K is the gain matrix then the 
exogenous input would be u_t = -Kx_n,  where x_n is the Kalman filter state 
estimate.  These inputs would be entered as such x_t = Ax_t-1 + Bu_t-1 + 
Ge_t.  Is l.SS in the dse1 package the correct parametrization of the Kalman 
filter?

Thank you very much,
Todd Remund
1 day later
#
you have to be really careful because
There are two versions of the kalman filter in terms of notation ( even
where you don't have exogenous )

Y_t = F_tprime*theta_t-1 + epsilon_t
G_t = G_t*theta_t-1 + omega_t
-----------------------------------------

Y_t = F_tprime*theta_t + epsilon_t
G_t = G_t*theta_t-1 + omega_t

I haven't looked at any of the kalman filter routines ( there something
in the base KalmanLike, dlm package
Has one and I guess dsel and probabyl others ) but I think hey usually
explain which notation they are using.

The two variations above derive different recursions but you get the
same answer at each step
as long as you estimate the variances consistently depending on the
framework.




-----Original Message-----
From: r-help-bounces at stat.math.ethz.ch
[mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Todd Remund
Sent: Wednesday, December 20, 2006 12:19 PM
To: r-help at stat.math.ethz.ch
Subject: [R] Kalman Filter in Control situation.

I am looking for a Kalman filter that can handle a control input.  I
thought that l.SS was suitable however, I can't get it to work, and
wonder if I am not using the right function.  What I want is a Kalman
filter that accepts exogenous inputs where the input is found using the
algebraic Ricatti equation solution to a penalty function.  If K is the
gain matrix then the exogenous input would be u_t = -Kx_n,  where x_n is
the Kalman filter state estimate.  These inputs would be entered as such
x_t = Ax_t-1 + Bu_t-1 + Ge_t.  Is l.SS in the dse1 package the correct
parametrization of the Kalman filter?

Thank you very much,
Todd Remund

______________________________________________
R-help at stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
--------------------------------------------------------

This is not an offer (or solicitation of an offer) to buy/se...{{dropped}}
#
Todd Remund wrote:
The control input u for l.SS in dse must be specified as (multivariate) 
series (i.e. all periods) in the call to l.SS. So the input does not 
really permit a control (feedback) rule like you seem to have in mind, 
unless you are thinking of the steady state solution to the Ricatti 
equation. However, it does look like this might be specified in the gain 
matrix as part of the state feedback, rather than as an input. (BTW, 
your situation is one where the widely used term "exogenous" is clearly 
incorrect, thus my preference for calling this "input".)

Another (inefficient) possibility would be to iterate to a solution.
I think it is correct, following some of the classic references. 
However, as Mark Leeds pointed out, there are different conventions. (I 
think, actually, more than two even without considering the input 
series.) The dse specification is a bit special regarding the input, in 
that the input is shifted so that time t can feed through to the state 
and affect the output in the same period t. This is important in some 
economics application, especially at annual frequencies. Others solve 
this problem by having inputs bypass the state and feed directly through 
to the output, in which case the state no longer summarizes the dynamics 
of the process, and is not a state vector in the classic sense.

Paul Gilbert
====================================================================================

La version fran?aise suit le texte anglais.

------------------------------------------------------------------------------------

This email may contain privileged and/or confidential inform...{{dropped}}