Prediction and simulation of future observations
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.
dlmForecast(mod, nAhead = 1, method = c("plain", "svd"), sampleNew = FALSE)
mod |
an object of class |
nAhead |
number of steps ahead for which a forecast is requested. |
method |
|
sampleNew |
if |
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
.
The function is currently entirely written in R and is not particularly fast. Currently, only constant models are allowed.
Giovanni Petris GPetris@uark.edu
## 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) * 1e-1 m0(mod) <- rnorm(p, sd=5) C0(mod) <- diag(p) * 1e-1 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")
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.