Computes forecast combination weights according to the trimmed eigenvector approach by Hsiao and Wan (2014) and produces forecasts for the test set, if provided.
comb_EIG3(x, ntop_pred =NULL, criterion ="RMSE")
Arguments
x: An object of class foreccomb. Contains training set (actual values + matrix of model forecasts) and optionally a test set.
ntop_pred: Specifies the number of retained predictors. If NULL (default), the inbuilt optimization algorithm selects this number.
criterion: If ntop_pred is not specified, a selection criterion is required for the optimization algorithm: one of "MAE", "MAPE", or "RMSE". If ntop_pred is selected by the user, criterion should be set to NULL (default).
Returns
Returns an object of class foreccomb_res with the following components: - Method: Returns the used forecast combination method.
Models: Returns the individual input models that were used for the forecast combinations.
Weights: Returns the combination weights obtained by applying the combination method to the training set.
Top_Predictors: Number of retained predictors.
Ranking: Ranking of the predictors that determines which models are removed in the trimming step.
Fitted: Returns the fitted values of the combination method for the training set.
Accuracy_Train: Returns range of summary measures of the forecast accuracy for the training set.
Forecasts_Test: Returns forecasts produced by the combination method for the test set. Only returned if input included a forecast matrix for the test set.
Accuracy_Test: Returns range of summary measures of the forecast accuracy for the test set. Only returned if input included a forecast matrix and a vector of actual values for the test set.
Input_Data: Returns the data forwarded to the method.
Details
The underlying methodology of the trimmed eigenvector approach by Hsiao and Wan (2014) is the same as their standard eigenvector approach. The only difference is that the trimmed eigenvector approach pre-selects the models that serve as input for the forecast combination, only a subset of the available forecast models is retained, while the models with the worst performance are discarded.
The number of retained forecast models is controlled via ntop_pred. The user can choose whether to select this number, or leave the selection to the inbuilt optimization algorithm (in that case ntop_pred = NULL). If the optimization algorithm should select the best number of retained models, the user must select the optimization criterion: MAE, MAPE, or RMSE. After this trimming step, the weights and the combined forecast are computed in the same way as in the standard eigenvector approach.
The trimmed eigenvector approach takes note of the eigenvector approaches' property to treat y and f symmetrically, which bears the risk that the (non-trimmed) eigenvector approaches' performance could be severely impaired by one or a few models that produce forecasts much worse than the average.
Examples
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,]## Number of retained models selected by the user:data<-foreccomb(train_o, train_p, test_o, test_p)comb_EIG3(data, ntop_pred =2, criterion =NULL)## Number of retained models selected by algorithm:data<-foreccomb(train_o, train_p, test_o, test_p)comb_EIG3(data, ntop_pred =NULL, criterion ="RMSE")
Author(s)
Christoph E. Weiss and Gernot R. Roetzer
References
Hsiao, C., and Wan, S. K. (2014). Is There An Optimal Forecast Combination? Journal of Econometrics, 178(2) , 294--309.