Prediction and simulation of future observations
Description
The function evaluates the expected value and variance of future observations and system states. It can also generate a sample from the distribution of future observations and system states.
Usage
1  dlmForecast(mod, nAhead = 1, method = c("plain", "svd"), sampleNew = FALSE)

Arguments
mod 
an object of class 
nAhead 
number of steps ahead for which a forecast is requested. 
method 

sampleNew 
if 
Value
A list with components
a  matrix of expected values of future states 
R  list of variances of future states 
f  matrix of expected values of future observations 
Q  list of variances of future observations 
newStates  list of matrices containing the simulated future values 
of the states. Each component of the list corresponds  
to one simulation.  
newObs  same as newStates , but for the observations.

The last two components are not present if sampleNew=FALSE
.
Note
The function is currently entirely written in R and is not particularly fast. Currently, only constant models are allowed.
Author(s)
Giovanni Petris GPetris@uark.edu
Examples
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17  ## Comparing theoretical prediction intervals with sample quantiles
set.seed(353)
n < 20; m < 1; p < 5
mod < dlmModPoly() + dlmModSeas(4, dV=0)
W(mod) < rwishart(2*p,p) * 1e1
m0(mod) < rnorm(p, sd=5)
C0(mod) < diag(p) * 1e1
new < 100
fore < dlmForecast(mod, nAhead=n, sampleNew=new)
ciTheory < (outer(sapply(fore$Q, FUN=function(x) sqrt(diag(x))), qnorm(c(0.1,0.9))) +
as.vector(t(fore$f)))
ciSample < t(apply(array(unlist(fore$newObs), dim=c(n,m,new))[,1,], 1,
FUN=function(x) quantile(x, c(0.1,0.9))))
plot.ts(cbind(ciTheory,fore$f[,1]),plot.type="s", col=c("red","red","green"),ylab="y")
for (j in 1:2) lines(ciSample[,j], col="blue")
legend(2,40,legend=c("forecast mean", "theoretical bounds", "Monte Carlo bounds"),
col=c("green","red","blue"), lty=1, bty="n")
