# forecast.nnetar

##### Forecasting using neural network models

Returns forecasts and other information for univariate neural network models.

- Keywords
- ts

##### Usage

```
# S3 method for nnetar
forecast(
object,
h = ifelse(object$m > 1, 2 * object$m, 10),
PI = FALSE,
level = c(80, 95),
fan = FALSE,
xreg = NULL,
lambda = object$lambda,
bootstrap = FALSE,
npaths = 1000,
innov = NULL,
...
)
```

##### Arguments

- object
An object of class "

`nnetar`

" resulting from a call to`nnetar`

.- h
Number of periods for forecasting. If

`xreg`

is used,`h`

is ignored and the number of forecast periods is set to the number of rows of`xreg`

.- PI
If TRUE, prediction intervals are produced, otherwise only point forecasts are calculated. If

`PI`

is FALSE, then`level`

,`fan`

,`bootstrap`

and`npaths`

are all ignored.- level
Confidence level for prediction intervals.

- fan
If

`TRUE`

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

. This is suitable for fan plots.- xreg
Future values of external regressor variables.

- 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.- bootstrap
If

`TRUE`

, then prediction intervals computed using simulations with resampled residuals rather than normally distributed errors. Ignored if`innov`

is not`NULL`

.- npaths
Number of sample paths used in computing simulated prediction intervals.

- innov
Values to use as innovations for prediction intervals. Must be a matrix with

`h`

rows and`npaths`

columns (vectors are coerced into a matrix). If present,`bootstrap`

is ignored.- ...
Additional arguments passed to

`simulate.nnetar`

##### Details

Prediction intervals are calculated through simulations and can be slow. Note that if the network is too complex and overfits the data, the residuals can be arbitrarily small; if used for prediction interval calculations, they could lead to misleadingly small values. It is possible to use out-of-sample residuals to ameliorate this, see examples.

##### 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.nnetar`

.

An object of class "`forecast`

" is a list containing at least the
following elements:

A list containing information about the fitted model

The name of the forecasting method as a character string

Point forecasts as a time series

Lower limits for prediction intervals

Upper limits for prediction intervals

The confidence values associated with the prediction intervals

The original time series (either `object`

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

).

The external regressors used in fitting (if given).

Residuals from the fitted model. That is x minus fitted values.

Fitted values (one-step forecasts)

Other arguments

##### See Also

##### Examples

```
# NOT RUN {
## Fit & forecast model
fit <- nnetar(USAccDeaths, size=2)
fcast <- forecast(fit, h=20)
plot(fcast)
# }
# NOT RUN {
## Include prediction intervals in forecast
fcast2 <- forecast(fit, h=20, PI=TRUE, npaths=100)
plot(fcast2)
## Set up out-of-sample innovations using cross-validation
fit_cv <- CVar(USAccDeaths, size=2)
res_sd <- sd(fit_cv$residuals, na.rm=TRUE)
myinnovs <- rnorm(20*100, mean=0, sd=res_sd)
## Forecast using new innovations
fcast3 <- forecast(fit, h=20, PI=TRUE, npaths=100, innov=myinnovs)
plot(fcast3)
# }
# NOT RUN {
# }
```

*Documentation reproduced from package forecast, version 8.13, License: GPL-3*