stsm_forecast {autostsm} | R Documentation |

Kalman filter and forecast an estimated model from stsm_estimate output

```
stsm_forecast(
model,
y,
n.ahead = 0,
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
)
```

`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 |

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

```
## Not run:
#GDP Not seasonally adjusted
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]