Learn R Programming

GeomComb (version 1.0)

comb_EIG1: Standard Eigenvector Forecast Combination

Description

Computes forecast combination weights according to the standard eigenvector approach by Hsiao and Wan (2014) and produces forecasts for the test set, if provided.

Usage

comb_EIG1(x)

Arguments

x
An object of class foreccomb. Contains training set (actual values + matrix of model forecasts) and optionally a test set.

Value

Returns an object of class foreccomb_res with the following components: with the following components:

Details

The standard eigenvector approach retrieves combination weights from the sample estimated mean squared prediction error matrix as follows: Suppose $y_t$ is the variable of interest, there are $N$ not perfectly collinear predictors, $f_t = (f_{1t}, \ldots, f_{Nt})'$, $\Sigma$ is the (positive definite) mean squared prediction error matrix of $f_t$ and $e$ is an $N * 1$ vector of $(1, \ldots, 1)'$. The $N$ positive eigenvalues are then arranged in increasing order $(\Phi_1 = \Phi_{min}, \Phi_2, \ldots, \Phi_N)$, and $w^j$ is defined as the eigenvector corresponding to $\Phi_j$. The combination weights $w = (w_1, \ldots, w_N)'$ are then chosen corresponding to the minimum of $(\Phi_1/d_1^2, \Phi_2/d_2^2, \ldots, \Phi_N/d_N^2)$, denoted as $w^l$, where $d_j = e'w^j$, as: $$\mathbf{w}^{EIG1} = \frac{1}{d_l} \mathbf{w}^l$$

The combined forecast is then obtained by:

$$\hat{y}_t = {\mathbf{f}_{t}}'\mathbf{w}^{EIG1}$$

The difference to extant methods that minimize the population mean squared prediction error (e.g., Newbold and Granger, 1974) is the normalization function. While previous approaches optimize MSPE under the constraint of $e'w = 1$, Hsiao and Wan (2014) show that this is dominated by using $w'w = 1$ as constraint in the optimization problem.

References

Hsiao, C., and Wan, S. K. (2014). Is There An Optimal Forecast Combination? Journal of Econometrics, 178(2), 294--309.

Newbold, P., and Granger, C. W. J. (1974). Experience with Forecasting Univariate Time Series and the Combination of Forecasts. Journal of the Royal Statistical Society, Series A, 137(2), 131--165.

See Also

foreccomb, plot.foreccomb_res, summary.foreccomb_res, comb_NG, accuracy

Examples

Run this code
obs <- rnorm(100)
preds <- matrix(rnorm(1000, 1), 100, 10)
train_o<-obs[1:80]
train_p<-preds[1:80,]
test_o<-obs[81:100]
test_p<-preds[81:100,]

data<-foreccomb(train_o, train_p, test_o, test_p)
comb_EIG1(data)

Run the code above in your browser using DataLab