1
$\begingroup$

I'm try out optimal reconciliation using hts package in python. I'm referring https://scikit-hts.readthedocs.io/en/latest/usage.html#reconcile-pre-computed-forecasts as an example.

For my data I get negative reconciled values. Why is that so ?

$\endgroup$
2
  • 1
    $\begingroup$ Nice question(+1), the first time I saw them I was momentarily baffled myself. $\endgroup$
    – usεr11852
    Commented Apr 1, 2021 at 10:21
  • $\begingroup$ I see in the docs: NOTE: I unfortunately do not have time anymore to dedicate to this project, contributions are welcome. 😟 $\endgroup$
    – Galen
    Commented Dec 18, 2023 at 1:19

1 Answer 1

1
$\begingroup$

When reconciling our original forecasts $Y$ we get a weighted recombination of our existing forecasts based on some estimated matrix $W$; $W$ matrix can be constructed in many ways and using multiple different criteria but usually we estimate such that it minimises our metric of choice - usually something quantifying the bias and variance of our reconciled forecasts compared to our original raw forecasts. (They are some technique doing some non-linear combinations too but there are not relevant for this answer). If this recombination allows for negative weights in $W$, when combining our raw estimates based on the weights $W$ to get our reconciled estimates, we might end up with negative values even if all our original forecasts $Y$ are positives.

For the case you mention in particular OLS (i.e. ordinary least squares) is used to construct the forecast recombination matrix $W$. Here the values of $W$ can be negative. You might want to consider something like Average Historical Proportions (AHP) or simple Bottom-UP (BU) to ensure that you get positive values. They are other technique (e.g. using non-negative least squares - see Timmermann (2005) Forecast combinations Sect. 2 & 3).

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.