predict.nlar | R Documentation |
nlar
’.Forecasting a non-linear model object of general class ‘nlar
’,
including ‘setar
’ and ‘star
’.
## S3 method for class 'nlar'
predict(
object,
newdata,
n.ahead = 1,
type = c("naive", "MC", "bootstrap", "block-bootstrap"),
nboot = 100,
ci = 0.95,
block.size = 3,
boot1Zero = TRUE,
seed = NULL,
...
)
object |
An object of class ‘ |
newdata |
Optional. A new data frame to predict from. |
n.ahead |
An integer specifying the number of forecast steps. |
type |
Type of forecasting method used. See details. |
nboot |
The number of replications for type MC or bootstrap. |
ci |
The forecast confidence interval (available only with types MC and bootstrap). |
block.size |
The block size when the block-bootstrap is used. |
boot1Zero |
Whether the first innovation for MC/bootstrap should be set to zero. |
seed |
optional, the seed for the random generation. |
... |
Further arguments passed to the internal ‘ |
The forecasts are obtained recursively from the estimated model. Given that
the models are non-linear, ignoring the residuals in the 2- and more steps
ahead forecasts leads to biased forecasts (so-called naive). Different
resampling methods, averaging n.boot
times over future residuals, are
available:
No residuals
Monte-Carlo method, where residuals are taken from a normal distribution, with a standard deviation equal to the residuals sd.
Residuals are resampled from the empirical residuals from the model.
Same as bootstrap, but
residuals are resampled in block, with size block.size
The MC
and bootstrap
methods correspond to equations 3.90 and
3.91 of Franses and van Dijk (2000, p. 121). The bootstrap/MC is initiated
either from the first forecast, n.ahead
=1 (set with boot1zero
to TRUE), or from the second only.
When the forecast method is based on resampling, forecast intervals are
available. These are obtained simply as empirical ci
quantiles of the
resampled forecasts (cf Method 2 in Franses and van Dijk, 2000, p. 122).
A ‘ts
’ object, or, in the case of MC/bootstrap, a list
containing the prediction (pred) and the forecast standard errors
(se
).
Matthieu Stigler
Non-linear time series models in empirical finance, Philip Hans Franses and Dick van Dijk, Cambridge: Cambridge University Press (2000).
The model fitting functions setar
,
lstar
.
A more sophisticated predict function, allowing to do sub-sample rolling
predictions: predict_rolling
.
x.train <- window(log10(lynx), end = 1924)
x.test <- window(log10(lynx), start = 1925)
### Use different forecasting methods:
mod.set <- setar(x.train, m=2, thDelay=0)
pred_setar_naive <- predict(mod.set, n.ahead=10)
pred_setar_boot <- predict(mod.set, n.ahead=10, type="bootstrap", n.boot=200)
pred_setar_Bboot <- predict(mod.set, n.ahead=10, type="block-bootstrap", n.boot=200)
pred_setar_MC <- predict(mod.set, n.ahead=10, type="bootstrap", n.boot=200)
## Plot to compare results:
pred_range <- range(pred_setar_naive, pred_setar_boot$pred, pred_setar_MC$pred, na.rm=TRUE)
plot(x.test, ylim=pred_range, main="Comparison of forecasts methods from same SETAR")
lines(pred_setar_naive, lty=2, col=2)
lines(pred_setar_boot$pred, lty=3, col=3)
lines(pred_setar_Bboot$pred, lty=4, col=4)
lines(pred_setar_MC$pred, lty=5, col=5)
legLabels <- c("Observed", "Naive F", "Bootstrap F","Block-Bootstrap F", "MC F")
legend("bottomleft", leg=legLabels, lty=1:5, col=1:5)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.