Forecast a linear model with possible time series components
forecast.lm is used to predict linear models, especially those involving trend and seasonality components.
## S3 method for class 'lm': forecast(object, newdata, h=10, level=c(80,95), fan=FALSE, lambda=object$lambda, ts=TRUE, ...)
- Object of class "lm", usually the result of a call to
- 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
hforecasts are produced.
- Confidence level for prediction intervals.
TRUE, level is set to seq(50,99,by=1). This is suitable for fan plots.
- Number of periods for forecasting. Ignored if
- Box-Cox transformation parameter. Ignored if
NULL. Otherwise, forecasts back-transformed via an inverse Box-Cox transformation.
TRUE, the forecasts will be treated as time series provided the original data is a time series; the
newdatawill be interpreted as related to the subsequent time periods. If
FALSE, any time series attributes of th
- Other arguments passed to
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
- An object of class "
summaryis used to obtain and print a summary of the results, while the function
plotproduces a plot of the forecasts and prediction intervals.
The generic accessor functions
residualsextract useful features of the value returned by
An object of class
"forecast"is a list containing at least the following elements:
model A list containing information about the fitted model method The name of the forecasting method as a character string mean Point forecasts as a time series lower Lower limits for prediction intervals upper Upper limits for prediction intervals level The confidence values associated with the prediction intervals x The historical data for the response variable. residuals Residuals from the fitted model. That is x minus fitted values. fitted Fitted values
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))