oos_lag_forc {lmForc} | R Documentation |
Out-of-sample lagged linear model forecast conditioned on realized values
Description
oos_lag_forc
takes a linear model call, an integer number of
periods ahead to forecast, a period to end the initial coefficient estimation
and begin forecasting, an optional vector of time data associated with
the linear model, and an optional integer number of past periods to estimate
the linear model over. Linear model data is lagged by h_ahead
periods
and the linear model is re-estimated with data up to estimation_end
minus the number of periods specified in estimation_window
to create
a lagged linear model. If estimation_window
is left NULL
then the linear model is estimated with all available data up to
estimation_end
. Coefficients are multiplied by present period
realized values of the covariates to create a forecast for h_ahead
periods ahead. This process is iteratively repeated for each period after
estimation_end
with coefficients updating in each period. Returns an
out-of-sample forecast conditional on realized values that would
have been available at the forecast origin. Optionally returns the coefficients
used to create each forecast. Tests the out-of-sample performance of a linear
model had it been lagged and conditioned on available information.
Usage
oos_lag_forc(
lm_call,
h_ahead,
estimation_end,
time_vec = NULL,
estimation_window = NULL,
return_betas = FALSE
)
Arguments
lm_call |
Linear model call of the class lm. |
h_ahead |
Integer representing the number of periods ahead that is being forecasted. |
estimation_end |
Value of any class representing when to end the initial coefficient estimation period and begin forecasting. |
time_vec |
Vector of any class that is equal in length to the data
in |
estimation_window |
Integer representing the number of past periods that the linear model should be estimated over in each period. |
return_betas |
Boolean, selects whether the coefficients used in each period to create the forecast are returned. If TRUE, a data frame of betas is returned to the Global Environment. |
Value
Forecast
object that contains the out-of-sample
forecast.
See Also
For a detailed example see the help vignette:
vignette("lmForc", package = "lmForc")
Examples
date <- as.Date(c("2010-03-31", "2010-06-30", "2010-09-30", "2010-12-31",
"2011-03-31", "2011-06-30", "2011-09-30", "2011-12-31",
"2012-03-31", "2012-06-30"))
y <- c(1.09, 1.71, 1.09, 2.46, 1.78, 1.35, 2.89, 2.11, 2.97, 0.99)
x1 <- c(4.22, 3.86, 4.27, 5.60, 5.11, 4.31, 4.92, 5.80, 6.30, 4.17)
x2 <- c(10.03, 10.49, 10.85, 10.47, 9.09, 10.91, 8.68, 9.91, 7.87, 6.63)
data <- data.frame(date, y, x1, x2)
oos_lag_forc(
lm_call = lm(y ~ x1 + x2, data),
h_ahead = 2L,
estimation_end = as.Date("2011-03-31"),
time_vec = data$date,
estimation_window = NULL,
return_betas = FALSE
)
oos_lag_forc(
lm_call = lm(y ~ x1 + x2, data),
h_ahead = 2L,
estimation_end = 6L
)