DESCRIPTION:
Conjugated Kalman filter for Poisson data assuming log link and
partially specified linear latent process. The conjugated prior on the
mean parameter is gamma. The specific model is
USAGE:
ckal.fil.po.gam.log(ssm)
REQUIRED ARGUMENTS:
 ssm:
 Object of class ssm (state space
model).
The following attributes must be specified in ssm:
 Yt:
 1 × n vector containing the Poisson observations.
 Ft:
 Function returning a p × 1 design vector.
 Gt:
 Function returning a p × p evolution transfer matrix.
 Wt:
 Function returning a p × p evolution variance
matrix.
 m0:
 p × 1 vector (prior mean).
 C0:
 p × p matrix (prior variance).
OPTIONAL ARGUMENTS:
The following attributes of the ssm object might be needed:
 Xt:
 Matrix containing the covariates needed in Ft,
Gt and/or Wt. This matrix must have n rows, such that
row t contains the covariates needed for generating the system
matrices at time t.
 psi:
 Parameter vector must be supplied if it is needed in
the calculation of the system matrices.
The following attributes of the ssm object are optional:
 fam:
 Tacitly assumed to have value Poisson.
 link:
 Tacitly assumed to have value log.
 m.start:
 Not used in the conjugate filter.
VALUE:
Returns an object of class ssm with the same
attributes as the object in the call, but with attribute
filtered updated with:
 mt:
 Posterior means m_{t} given the
observations up to and including time t. These are arranged rowwise in a matrix.
 Ct:
 Posterior variances C_{t} given the
observations up to and including time t. These are arranged in a
3dimensional array such that C_{t} is placed in filtered$Ct[,,t].
 Rt:
 Prior variances for the states arranged in
3dimensional array such that R_{t} is placed in
filtered$Rt[,,t]. The reason for returning these is that they
are needed in the Kalman smoother.
The returned object can the be given as argument to the
Kalman smoother.
SIDE EFFECTS:
None
DETAILS:
This is the conjugate filter introduced for the class of dynamic
generalized linear models by West, Harrison and Migon (1985).
Instead of approximating the observational model with a Gaussian one
like in the extended Kalman filter, the latent process guides the
choice of the conjugate prior on the natural parameter.
REFERENCES:
Klein, (2003), State Space Models for Exponential Family Data,
Ph.D. Thesis, Department of Statistics, University of Southern Denmark.
West & Harrison, (1997),
Bayesian Forecasting
and Dynamic Models, Springer Series in Statistics.
West, Harrison & Migon, (1985),Dynamic Generalized Linear Models
and Bayesian Forecasting (with discussion), Journal of the American
Statistical association, 80, 7397.
EXAMPLES:
# Organize the data from the data frame vandrivers
death < vandrivers[,1]
indi < matrix(vandrivers[,2],ncol=1)
# Design vector
Ft < function(i,Xt,phi) c(1,1, rep(0,10), Xt[1])
# Evolution transfer matrix
Gt < function(i, Xt, phi)
{
trend < c(1, rep(0,12))
season < cbind(0,rbind(rep(1,11), cbind(diag(rep(1,10)),0)),0)
seat < c(rep(0,12),1)
result < rbind(trend,season,seat)
result
}
# Evolution variance matrix
Wt < function(i,Xt,phi)
{
result < matrix(0,nrow=13,ncol=13)
result[1,1] < phi
result
}
# Initial prior parameterss
C0 < 1000*diag(rep(1,13))
m0 < rep(0,13)
# Specify state space model
van.ss < ssm(Ft=Ft,
Gt=Gt,
Wt=Wt,
Xt=indi,
phi=0.0245^2,
m0=m0,
C0=C0,
Yt=death,
fam="Poisson",
link="log",
m.start=NA)
# Apply the conjugated filter
van.ss < ckal.fil.po.gam.log(van.ss)
# Apply the Kalman smoother
van.ss < kalman.smoother(van.ss)
# Sum trend and effect of seat belt legislation
FFt < function(i,Xt,phi) c(1, rep(0,11), Xt[1])
tmp < matrix(NA, nrow=192, ncol=2)
for (i in 1:192)
{
FF < FFt(i,indi[i,],phi)
tmp[i,1] < FF%*%van.ss$smoothed$m.tilde[i,]
tmp[i,2] < t(FF)%*%van.ss$smoothed$C.tilde[,,i]%*%(FF)
}
# PRODUCE PLOT (like Figure 2.6)
plot(exp(tmp[,1]), ylim=c(0,20), lty=1, type="l")
lines(exp(tmp[,1]+2*sqrt(tmp[,2])), lty=3)
lines(exp(tmp[,1]2*sqrt(tmp[,2])), lty=3)
