forecast.fitted_dlm {kDGLM} | R Documentation |
Auxiliary function for forecasting
Description
Auxiliary function for forecasting
Usage
## S3 method for class 'fitted_dlm'
forecast(
object,
t = 1,
plot = ifelse(requireNamespace("plotly", quietly = TRUE), "plotly",
ifelse(requireNamespace("ggplot2", quietly = TRUE), "ggplot2", "base")),
pred.cred = 0.95,
...
)
Arguments
object |
fitted_dlm object: The fitted model to be use for predictions. |
t |
numeric: Time window for prediction. |
plot |
boolean or character: A flag indicating if a plot should be produced. Should be one of FALSE, TRUE, 'base', 'ggplot2' or 'plotly'. |
pred.cred |
numeric: The credibility level for the C.I.. |
... |
Extra variables necessary for prediction (covariates, etc.). |
Details
If an a covariate is necessary for forecasting, it should be passed as a named argument. Its name must follow this structure: <block name>.Covariate<.index>. If there is only one covariate in the associated block the index is omitted. If an a pulse is necessary for forecasting, it should be passed as a named argument. Its name must follow this structure: <block name>.Pulse<.index>. If there is only one pulse in the associated block the index is omitted. The user may pass the observed values at the prediction windows (optional). See example. As an special case, if the model has an Multinomial outcome, the user may pass the N parameter instead of the observations. If an offset is necessary for forecasting, it should be passed with the same syntax as the observed data. See example.
Value
A list containing:
data data.frame: A data frame contain the mean, variance and credibility intervals for the outcomes, including both the observed data and the predictions for future observations.
forecast data.frame: Same as data, but restricted to predictions for future observations.
outcomes list: A named list containing predictions for each outcome. Each element of this list is a list containing predictions (mean, variance and credibility intervals), the distribution of the linear predictor for the parameter of the observational model and the parameters of the predictive distribution (if available).
theta.mean matrix: A matrix with the values for the latent states at each time. Dimensions are n x t, where n is the number of latent states
theta.cov array: A 3D-array with the covariance of the latent states at each time. Dimensions are n x n x t, where n is the number of latent predictors.
lambda.mean matrix: A matrix with the values for the linear predictors at each time. Dimensions are k x t, where k is the number of linear predictors
lambda.cov array: A 3D-array with the covariance of the linear predictors at each time. Dimensions are k x k x t, where k is the number of linear predictors.
plot (if so chosen): A plotly or ggplot object.
A list containing:
data data.frame: A table with the model evaluated at each observed time, plus the forecasted period.
forecast data.frame: A table with the model evaluated at the forecasted period.
outcomes list: A list containing the parameters of the predictive distribution for each outcome at the forecasted period.
theta.mean matrix: The mean of the latent states at each forecasted time. Dimensions are n x t.forecast, where t.forecast is the size of the forecast windows and n is the number of latent states.
theta.cov array: A 3D-array containing the covariance matrix of the latent states at each forecasted time. Dimensions are n x n x t.forecast, where t.forecast is the size of the forecast windows and n is the number of latent states.
lambda.mean matrix: The mean of the linear predictor at each forecasted time. Dimensions are k x t.forecast, where t.forecast is the size of the forecast windows and k is the number of linear predictors.
lambda.cov array: A 3D-array containing the covariance matrix for the linear predictor at each forecasted time. Dimensions are k x k x t.forecast, where t.forecast is the size of the forecast windows and k is the number of linear predictors.
See Also
Other auxiliary functions for fitted_dlm objects:
coef.fitted_dlm()
,
eval_dlm_norm_const()
,
fit_model()
,
simulate.fitted_dlm()
,
smoothing()
,
update.fitted_dlm()
Examples
structure <-
polynomial_block(p = 1, order = 2, D = 0.95) +
harmonic_block(p = 1, period = 12, D = 0.975) +
noise_block(p = 1, R1 = 0.1) +
regression_block(
p = chickenPox$date >= as.Date("2013-09-1"),
# Vaccine was introduced in September of 2013
name = "Vaccine"
)
outcome <- Multinom(p = c("p.1", "p.2"), data = chickenPox[, c(2, 3, 5)])
fitted.data <- fit_model(structure * 2,
chickenPox = outcome
)
forecast(fitted.data, 24,
chickenPox = list(Total = rep(175, 24)), # Optional
Vaccine.1.Covariate = rep(TRUE, 24),
Vaccine.2.Covariate = rep(TRUE, 24)
)