[R] Kalman Smoothing - time-variant parameters (sspir)

¨Tariq Khan tariq.khan at gmail.com
Thu Dec 1 13:12:24 CET 2005


Dear R-brains,

I'm rather new to state-space models and would benefit from the extra
confidence in using the excellent package sspir.

In a one-factor model, If I am trying to do a simple regression where
I assume the intercept is constant and the 'Beta' is changing, how do
I do that? How do i Initialize the filter (i.e. what is appropriate to
set m0, and C0 for the example below)?

The model I want is: y = alpha + beta + err1; beta_(t+1) = beta_t + err2

I thought of the following:
library(mvtnorm) # (1)
library(sspir)
# Let's get some data so we can all try this at home
dfrm <- data.frame(
                   y =
c(0.02,0.04,-0.03,0.02,0,0.01,0.04,0.03,-0.01,0.04,-0.01,0.05,0.04,
                          
0.03,0.01,-0.01,-0.01,-0.03,0.02,-0.04,-0.05,-0.02,-0.04,0,0.02,0,
                         
-0.01,-0.01,0.01,0.09,0.03,0.03,0.05,0.04,-0.01,0.05,0.03,0.01,
                          0.04,0.01,-0.01,-0.02,-0.01,-0.01,
0.06,0.03,0.02,0.03,0.03,0.04,
                          0.03,0.04,-0.02,-0.03,0.04,0.03,0.05,0.02,0.03,-0.1),
                   x = c(-0.03,-0.01,0.07,-0.03,-0.07,0.05,0.02,-0.05,-0.04,
                           -0.02,-0.19,0.07,0.09,0.01,0.01,0,0.05,0,-0.02,-0.09,
                           -0.12,-0.01,-0.13,0.04,0.04,-0.07,-0.05,-0.03,
                           -0.01,0.11,0.06,0.03,0.06,0.06,-0.01,0.07,0.01,
                           
0,0.07,0.04,-0.02,0,-0.03,0.04,-0.04,-0.01,0.03,0.02,0.05,0.04,
                            0.05,0.03,0,-0.04,0.05,0.05,0.06,0.02,0.04,-0.06)
)
ss <- ssm(y ~ tvar(x), time = 1:nrow(dfrm), family=gaussian(link="identity"),
               data=dfrm)
smooth.params <- smoother(kfilter(ss$ss))$m

(1) I read in http://ww.math.aau.dk/~mbn/Teaching/MarkovE05/Lecture3.pdf
that this is requred as there is a bug in sspir.

To what should I set ss$ss$m0 and ss$ss$C0? (I did notice that
smoother() replaces these, but it still matters what I initialize it
to in the first place)

Many thanks!

Tariq Khan




More information about the R-help mailing list