comb_CLS {ForecastComb}R Documentation

Constrained Least Squares Forecast Combination

Description

Computes forecast combination weights using constrained least squares (CLS) regression.

Usage

comb_CLS(x)

Arguments

x

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

Details

The function integrates the constrained least squares (CLS) forecast combination implementation of the ForecastCombinations package into ForecastComb. The implementation has improved robustness regarding multicollinearity.

Compared to the ordinary least squares forecast combination method, CLS forecast combination has the additional requirement that the weights, \mathbf{w}^{CLS} = (w_1, \ldots, w_N)', sum up to 1 and that there is no intercept. That is, the combinations of comb_CLS are affine combinations.

This method was first introduced by Granger and Ramanathan (1984). The general appeal of the method is its ease of interpretation (the weights can be interpreted as percentages) and often produces better forecasts than the OLS method when the individual forecasts are highly correlated. A disadvantage is that if one or more individual forecasts are biased, this bias is not corrected through the forecast combination due to the lack of an intercept.

In addition to the version presented by Granger and Ramanathan (1984), this variant of the method adds the restriction that combination weights must be non-negative, which has been found to be almost always outperform unconstrained OLS by Aksu and Gunter (1992) and was combined with the condition of forcing the weights to sum up to one by Nowotarski et al. (2014), who conclude that even though the method provides a suboptimal solution in-sample, it almost always produces better forecasts than unrestricted OLS out-of-sample.

The results are stored in an object of class 'foreccomb_res', for which separate plot and summary functions are provided.

Value

Returns an object of class foreccomb_res with the following components:

Method

Returns the best-fit 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.

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.

References

Aksu, C., and Gunter, S. I. (1992). An Empirical Analysis of the Accuracy of SA, OLS, ERLS and NRLS Combination Forecasts. International Journal of Forecasting, 8(1), 27–43.

Granger, C., and Ramanathan, R. (1984). Improved Methods Of Combining Forecasts. Journal of Forecasting, 3(2), 197–204.

Nowotarski, J., Raviv, E., Tr\"uck, S., and Weron, R. (2014). An Empirical Comparison of Alternative Schemes for Combining Electricity Spot Price Forecasts. Energy Economics, 46, 395–412.

See Also

Forecast_comb, foreccomb, plot.foreccomb_res, summary.foreccomb_res, accuracy

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,]

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


[Package ForecastComb version 1.3.1 Index]