stsm_forecast {autostsm} R Documentation

## Kalman Filter and Forecast

### Description

Kalman filter and forecast an estimated model from stsm_estimate output

### Usage

stsm_forecast(
model,
y,
freq = NULL,
exo_obs = NULL,
exo_state = NULL,
exo_obs.fc = NULL,
exo_state.fc = NULL,
ci = 0.8,
plot = FALSE,
plot.decomp = FALSE,
plot.fc = FALSE,
n.hist = NULL,
smooth = TRUE,
dampen_cycle = FALSE,
envelope_ci = FALSE
)


### Arguments

 model Structural time series model estimated using stsm_estimate. y Univariate time series of data values. May also be a 2 column data frame containing a date column. n.ahead Number of periods to forecast freq Frequency of the data (1 (yearly), 4 (quarterly), 12 (monthly), 365.25/7 (weekly), 365.25 (daily)), default is NULL and will be automatically detected exo_obs Matrix of exogenous variables to be used in the observation equation. exo_state Matrix of exogenous variables to be used in the state matrix. exo_obs.fc Matrix of exogenous variables in the observation matrix used for the forecast exo_state.fc Matrix of exogenous variables in the state matrix used for the forecast ci Confidence interval, value between 0 and 1 exclusive. plot,  Logical, whether to plot everything plot.decomp Logical, whether to plot the filtered historical data plot.fc Logical, whether to plot the forecast n.hist Number of historical periods to include in the forecast plot. If plot = TRUE and n.hist = NULL, defaults to 3 years. smooth Whether or not to use the Kalman smoother dampen_cycle Whether to remove oscillating cycle dynamics and smooth the cycle forecast into the trend using a sigmoid function that maintains the rate of convergence envelope_ci Whether to create a envelope for the confidence interval to smooth out seasonal fluctuations to the longest seasonal period

### Value

data table (or list of data tables) containing the filtered and/or smoothed series.

### Examples

## Not run:
library(autostsm)
data("NA000334Q", package = "autostsm") #From FRED
NA000334Q = data.table(NA000334Q, keep.rownames = TRUE)
colnames(NA000334Q) = c("date", "y")
NA000334Q[, "date" := as.Date(date)]
NA000334Q[, "y" := as.numeric(y)]
NA000334Q = NA000334Q[date >= "1990-01-01", ]
stsm = stsm_estimate(NA000334Q)
fc = stsm_forecast(stsm, y = NA000334Q, n.ahead = floor(stsm\$freq)*3, plot = TRUE)

## End(Not run)


[Package autostsm version 3.0.1 Index]