Comments (6)
Thanks for the comment,
I will incorporate into the library renaming MSSE into RelMSE.
from hierarchicalforecast.
Sorry, RMSSE formula rendered incorrectly, here is a screenshot from the article
from hierarchicalforecast.
Hey @nickto,
Thanks for the comment.
I think the RMSSE equation is consistent with the definition of HierarchicalForecast's MSSE because
The MSSE satisfies both being scaled and being a relative metric simultaneously.
from hierarchicalforecast.
Hi @kdgutier ,
I think the inconsistency is only in the period on which the scaling factor is computed.
Hyndman and Koehler (2006) and Makridakis et al. (2002) compute the scaling factor on the training (in-sample) data data only.
However, in HierarchicalForecast the scaling factor is computed on the out-of-sample data:
y_naive = np.repeat(y_train[:,[-1]], horizon, axis=1) # rolling naive forecast for the whole forecasting horizon
norm = mse(y=y, y_hat=y_naive) # compare to true out-of-sample values
If I understand correctly, this metric would have been called "relative MSE", according to Hyndman and Koehler (2006). Relative MSE is the ratio between our model MSE and some benchmark MSE (rolling naive forecast in this case).
In order to make msse() more consistent with Hyndman and Koehler (2006) and Makridakis et al. (2022), I guess it should be something along the lines of
y_naive = y_train[:, :-1] # make 1 step ahead naive forecast of the in-sample values
y_naive_true = y_train[:, 1:] # in-sample true values
norm = mse(y=y_naive_true, y_hat=y_naive) # compare to true in-sample values
If my reasoning is wrong (which can very well be), I would be thankful if you could point out what I have overlooked or misunderstood.
from hierarchicalforecast.
@nickto
Would you suggest that going beyond a forecast of
Is that the difference?
from hierarchicalforecast.
@kdgutier, I tried creating a PR-185, but not entirely sure if it works with your PR. But hope it could be useful :)
Also, thank you for such a an incredibly quick feedback!
from hierarchicalforecast.
Related Issues (20)
- TopDown Approach doesn't raise Exception as expected with `method="forecast_proportions"`
- Test sets includes y as defined
- Exception: min_trace (wls_var) needs covariance matrix to be positive definite. HOT 6
- [utils] aggregate doesn't work correctly with most recent version of the code HOT 1
- `MinTrace` fails for zero-inflated Time Series with `res_methods` in `['wls_var', 'mint_cov', 'mint_shrink']` HOT 2
- Update evaluation example in `README`
- hierarchicalforecast.core - 'list' object has no attribute 'insample' - HOT 2
- Sparse Methods Missing from 0.3.0 HOT 3
- StatsForecast models producing NotImplementedError: tiny datasets in 0.4.0 HOT 5
- MinTraceSparse(nonnegative=True) HOT 1
- [Core][Enhancement]: Add dummies to Aggregate
- Add temporal hierarchies HOT 2
- [Core] not balancing when doing aggregate() HOT 3
- [Core] KaTex parse error: Can't use function '$' in math mode
- Wrong argument name in evaluation section of README
- [utils] HierarchicalPlot is not plotting HOT 1
- TopDown method (proportion_averages, average_proportions) broken in 0.3.0, 0.4.0 and 0.4.1 HOT 6
- TopDown returns NaN HOT 10
- dependency on `quadprog` HOT 6
- [Core] Possible issue with core.py HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hierarchicalforecast.