Weighted and Combined Forecasts

The thought process around weighted and combined forecasting (also called composite forecasting) is not new. The topic has been studied for years, and empirical evidence indicates that the combination of forecast methods tends to outperform most single forecast methods.

It is better to average forecasts in hope that by so doing, the biases among the methods and/or forecasters will compensate for one another. As a result, forecasts developed using different methods are expected to be more useful in cases of high uncertainty. The method is especially relevant for long-range forecasting, where uncertainty is extremely high. Many different studies have been done to show the value of combining forecasts.

There are two basic weighting methods:

  1. Simple Averaging of Forecasts

  2. Weighted Methods Based on Error

Simple Average

The simple averaging approach is just as easy as it sounds. It takes the average of the forecasted values from each of the models being combined:

\[ Combined = \frac{1}{m} \sum_{i=1}^m FM_i \]

where m is the number of forecasting methods and FM is an individual method used to forecast. Although this method is rather simple, it is still hard to beat in terms of ensemble methods.

Let’s see how to do this in each of our softwares!

Weighted Methods

The second method uses weighted averaging instead of simple averaging. In weighted averaging, the analysts select the weights to assign to the individual forecasts. Typically, we will assign weights that minimize the variance of the forecast errors over the training dataset. With only two forecasts, there is an easily derived mathematical solution to what these weights should be to minimize variance.

\[ Combined = w_1 FM_1 + w_2 FM_2 \]

\[ w_1 = \frac{\sigma^2_2 - \rho \sigma_1 \sigma_2}{\sigma_1^2 + \sigma_2^2 - 2 \rho \sigma_1 \sigma_2} \]

\[ w_2 = 1 - w_1 \]

However, three or more forecasts being combined makes the mathematical equations much harder. In these scenarios we can use linear regression to help. We run a regression of the actual values of \(Y\) against the forecasted values of \(Y\) to let the regression choose the optimal weight for each:

\[ Y_t = w_1 FM_1 + w_2 FM_2 + w_3 FM_3 \]

where \(w_1 + w_2 + w_3 = 1\). To make sure that the weights sum to one, we can use some algebra. By setting the weight (coefficients) of one of the models to 1, we can then estimate the weights (coefficients) on the differences between the remaining models and the offset model.

\[ Y_t = FM_1 + w_2(FM_2 - FM_1) + w_3(FM_3 - FM_1) \]

By working out the math algebraically, we can see that each forecast gets that weight, but the original forecast gets the weight of 1 minus the remaining weights.

\[ Y_t = (1 - w_2 - w_3)FM_1 + w_2 FM_2 + w_3 FM_3 \]

Let’s see how to do this in each of our softwares!