Nixtla / mlforecast

Scalable machine 🤖 learning for time series forecasting.
https://nixtlaverse.nixtla.io/mlforecast
Apache License 2.0
841 stars 80 forks source link

Better support for cross-validation on series with varying start times #245

Closed gofford closed 10 months ago

gofford commented 10 months ago

Description

I work with a lot of series that have varying start dates. Some series have 3 years of history, whereas others have 3 weeks.

One of the benefits of forecasting with global models (particularly tree-based methods) is that they allow a forecast to be generated for these short series by using similarities in other products in a hierarchy.

Unfortunately it's very difficult to cross validate a model on this sort of data because mlforecast raises errors if any series are shorter than the required length set by the horizon and step size.

It would be useful to have the cross-validation omit the short series in each iteration and raise a warning instead of an error so that I can still assess my model.

Use case

I'd like to be able to cross-validate a global model even if there are specific series in an iteration that are shorter than required by the horizon and step size. This will let me understand how the model performs when predicting new products in a hierarchy.