`forecast`

is a generic function for forecasting from time series or
time series models. The function invokes particular *methods* which
depend on the class of the first argument.

```
forecast(object, ...)
# S3 method for default
forecast(object, ...)
# S3 method for ts
forecast(
object,
h = ifelse(frequency(object) > 1, 2 * frequency(object), 10),
level = c(80, 95),
fan = FALSE,
robust = FALSE,
lambda = NULL,
biasadj = FALSE,
find.frequency = FALSE,
allow.multiplicative.trend = FALSE,
model = NULL,
...
)
```

- object
a time series or time series model for which forecasts are required

- ...
Additional arguments affecting the forecasts produced. If

`model=NULL`

,`forecast.ts`

passes these to`ets`

or`stlf`

depending on the frequency of the time series. If`model`

is not`NULL`

, the arguments are passed to the relevant modelling function.- h
Number of periods for forecasting

- level
Confidence level for prediction intervals.

- fan
If TRUE,

`level`

is set to`seq(51,99,by=3)`

. This is suitable for fan plots.- robust
If TRUE, the function is robust to missing values and outliers in

`object`

. This argument is only valid when`object`

is of class`ts`

.- lambda
Box-Cox transformation parameter. If

`lambda="auto"`

, then a transformation is automatically selected using`BoxCox.lambda`

. The transformation is ignored if NULL. Otherwise, data transformed before model is estimated.- biasadj
Use adjusted back-transformed mean for Box-Cox transformations. If transformed data is used to produce forecasts and fitted values, a regular back transformation will result in median forecasts. If biasadj is TRUE, an adjustment will be made to produce mean forecasts and fitted values.

- find.frequency
If TRUE, the function determines the appropriate period, if the data is of unknown period.

- allow.multiplicative.trend
If TRUE, then ETS models with multiplicative trends are allowed. Otherwise, only additive or no trend ETS models are permitted.

- model
An object describing a time series model; e.g., one of of class

`ets`

,`Arima`

,`bats`

,`tbats`

, or`nnetar`

.

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 accessors functions `fitted.values`

and `residuals`

extract various useful features of the value returned by
`forecast$model`

.
An object of class `"forecast"`

is a list usually 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 original time series (either

`object`

itself or the time series used to create the model stored as`object`

).- residuals
Residuals from the fitted model. For models with additive errors, the residuals will be x minus the fitted values.

- fitted
Fitted values (one-step forecasts)

For example, the function `forecast.Arima`

makes forecasts based
on the results produced by `arima`

.

If `model=NULL`

,the function `forecast.ts`

makes forecasts
using `ets`

models (if the data are non-seasonal or the seasonal
period is 12 or less) or `stlf`

(if the seasonal period is 13 or
more).

If `model`

is not `NULL`

, `forecast.ts`

will apply the
`model`

to the `object`

time series, and then generate forecasts
accordingly.

Other functions which return objects of class `"forecast"`

are
`forecast.ets`

, `forecast.Arima`

,
`forecast.HoltWinters`

, `forecast.StructTS`

,
`meanf`

, `rwf`

, `splinef`

,
`thetaf`

, `croston`

, `ses`

,
`holt`

, `hw`

.