nnetar
Neural Network Time Series Forecasts
Feedforward neural networks with a single hidden layer and lagged inputs for forecasting univariate time series.
 Keywords
 ts
Usage
nnetar(y, p, P=1, size, repeats=20, xreg=NULL, lambda=NULL, model=NULL, subset=NULL, scale.inputs=TRUE, x=y, ...)
"forecast"(object, h=ifelse(object$m > 1, 2 * object$m, 10), xreg=NULL, lambda=object$lambda, ...)
Arguments
 y
 A numeric vector or time series.
 p
 Embedding dimension for nonseasonal time series. Number of nonseasonal lags used as inputs. For nonseasonal time series, the default is the optimal number of lags (according to the AIC) for a linear AR(p) model. For seasonal time series, the same method is used but applied to seasonally adjusted data (from an stl decomposition).
 P
 Number of seasonal lags used as inputs.
 size
 Number of nodes in the hidden layer. Default is half of the number of input nodes (including external regressors, if given) plus 1.
 repeats
 Number of networks to fit with different random starting weights. These are then averaged when producing forecasts.
 xreg
 Optionally, a vector or matrix of external regressors, which must have the same number of rows as
y
. Must be numeric.  lambda
 BoxCox transformation parameter.
 model
 Output from a previous call to
nnetar
. If model is passed, this same model is fitted toy
without reestimating any parameters.  subset
 Optional vector specifying a subset of observations to be used in the fit. Can be an integer index vector or a logical vector the same length as
y
. All observations are used by default.  scale.inputs
 If TRUE, inputs are scaled by subtracting the column means and dividing by their respective standard deviations. If
lambda
is notNULL
, scaling is applied after BoxCox transformation.  object
 An object of class
nnetar
generated bynnetar
.  h
 Number of periods for forecasting.
 x
 Deprecated. Included for backwards compatibility.
 ...
 Other arguments passed to
nnet
fornnetar
but ignored forforecast.nnetar
.
Details
A feedforward neural network is fitted with lagged values of y
as inputs and a single hidden layer with size
nodes. The inputs are for lags 1 to p
, and lags m
to mP
where m=frequency(y)
. If there are missing values in y
or xreg
), the corresponding rows (and any others which depend on them as lags) are omitted from the fit. A total of repeats
networks are fitted, each with random starting weights. These are then averaged when computing forecasts. The network is trained for onestep forecasting. Multistep forecasts are computed recursively.
For nonseasonal data, the fitted model is denoted as an NNAR(p,k) model, where k is the number of hidden nodes. This is analogous to an AR(p) model but with nonlinear functions. For seasonal data, the fitted model is called an NNAR(p,P,k)[m] model, which is analogous to an ARIMA(p,0,0)(P,0,0)[m] model but with nonlinear functions.
Value

returns an object of class "
nnetar
". forecast.nnetar
returns 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.The generic accessor functions fitted.values
and residuals
extract useful features of the value returned by nnetar
.An object of class "forecast"
is a list containing at least the following elements:
is a list containing at least the following elements:Examples
fcast < forecast(fit)
plot(fcast)
## Arguments can be passed to nnet()
fit < nnetar(lynx, decay=0.5, maxit=150)
plot(forecast(fit))
lines(lynx)
## Fit model to first 100 years of lynx data
fit < nnetar(window(lynx,end=1920), decay=0.5, maxit=150)
plot(forecast(fit,h=14))
lines(lynx)
## Apply fitted model to later data, including all optional arguments
fit2 < nnetar(window(lynx,start=1921), model=fit)