Learn R Programming

HDTSA (version 1.0.5)

predict.factors: Make predictions from a "factors" object

Description

This function makes predictions from a "factors" object.

Usage

# S3 method for factors
predict(
  object,
  newdata = NULL,
  n.ahead = 10,
  control_ARIMA = list(),
  control_VAR = list(),
  ...
)

Value

ts_pred

A matrix of predicted values.

Arguments

object

An object of class "factors" constructed by Factors.

newdata

Optional. A new data matrix to predict from.

n.ahead

An integer specifying the number of steps ahead for prediction.

control_ARIMA

A list of arguments passed to the function auto.arima() of forecast. See 'Details' and the manual of auto.arima(). The default is list(ic = "aic").

control_VAR

A list of arguments passed to the function VAR() of vars. See 'Details' and the manual of VAR(). The default is list(type = "const", lag.max = 6, ic = "AIC").

...

Currently not used.

Details

Forecasting for \({\bf y}_t\) can be implemented in two steps:

Step 1. Get the \(h\)-step ahead forecast of the \(\hat{r} \times 1\) time series \(\hat{\bf x}_t\) [See Factors], denoted by \(\hat{\bf x}_{n+h}\), using a VAR model (if \(\hat{r} > 1\)) or an ARIMA model (if \(\hat{r} = 1\)). The orders of VAR and ARIMA models are determined by AIC by default. Otherwise, they can also be specified by users through the arguments control_VAR and control_ARIMA, respectively.

Step 2. The forecasted value for \({\bf y}_t\) is obtained by \(\hat{\bf y}_{n+h}= \hat{\bf A}\hat{\bf x}_{n+h}\).

See Also

Factors

Examples

Run this code
library(HDTSA)
data(FamaFrench, package = "HDTSA")

## Remove the market effects
reg <- lm(as.matrix(FamaFrench[, -c(1:2)]) ~ as.matrix(FamaFrench$MKT.RF))
Y_2d = reg$residuals

res_factors <- Factors(Y_2d, lag.k = 5)
pred_fac_Y <- predict(res_factors, n.ahead = 1)

Run the code above in your browser using DataLab