forecast (version 2.17)

forecast.lm: Forecast a linear model with possible time series components

Description

forecast.lm is used to predict linear models, especially those involving trend and seasonality components.

Usage

## S3 method for class 'lm':
forecast(object, newdata, level=c(80,95), fan=FALSE, h=10, ...)

Arguments

object
Object of class "lm", usually the result of a call to lm or tslm.
newdata
An optional data frame in which to look for variables with which to predict. If omitted, it is assumed that the only variables are trend and season, and h forecasts are produced.
level
Confidence level for prediction intervals.
fan
If TRUE, level is set to seq(50,99,by=1). This is suitable for fan plots.
h
Number of periods for forecasting. Ignored if newdata present.
...
Other arguments passed to predict.lm().

Value

  • An object of class "forecast". The function summary is used to obtain and print a summary of the results, while the function plot produces a plot of the forecasts and prediction intervals. The generic accessor functions fitted.values and residuals extract useful features of the value returned by forecast.lm. An object of class "forecast" is a list containing at least the following elements:
  • modelA list containing information about the fitted model
  • methodThe name of the forecasting method as a character string
  • meanPoint forecasts as a time series
  • lowerLower limits for prediction intervals
  • upperUpper limits for prediction intervals
  • levelThe confidence values associated with the prediction intervals
  • xThe historical data for the response variable.
  • residualsResiduals from the fitted model. That is x minus fitted values.
  • fittedFitted values

Details

forecast.lm is largely a wrapper for predict.lm() except that it allows variables "trend" and "season" which are created on the fly from the time series characteristics of the data. Also, the output is reformatted into a forecast object.

See Also

tslm, lm.

Examples

Run this code
y <- ts(rnorm(120,0,3) + 1:120 + 20*sin(2*pi*(1:120)/12), frequency=12)
fit <- tslm(y ~ trend + season)
plot(forecast(fit, h=20))

Run the code above in your browser using DataCamp Workspace