Matej08/13/2023, 7:51 AM
In Nixtla it seems AutoArima is used and I wonder if this is the preferred set up, or perhaps can I set up the original MSTL as presented in the paper somehow? Without the AutoARIMA?
Next, the trend component of the time series is computed using the last iteration of STL. On the other hand, if the time series is non-seasonal, MSTL uses the Friedman's Super Smoother function, supsmu, available in R (R Core Team, 2020), to directly estimate the trend.
Kevin Kho08/13/2023, 11:41 PM
models = [MSTL( season_length=[24, 24 * 7], # seasonalities of the time series trend_forecaster=SimpleExponentialSmoothing() # model used to forecast trend )] forecasts = sf.predict(h=24, level=) forecasts.head()
compatible model with an existing supersmoother implementation. For example:
The Naive model might provide guidance. I’m not sure this will work. You need to shape the output a bit, like
from statsforecast.models import _TS from supersmoother import SuperSmoother class _SuperSmoother(_TS): def __init__(): self.model = SuperSmoother() def fit(self, t, y, dy): self.model.fit(t, y, dy) def predict(self, tfit): self.model.predict(tfit)
outputs a dictionary, which
turns into a DataFrame later. The easiest thing to do is probably approximate it with the SimpleExponentialSmoothing, which is also meant for timeseries without seasonability