Aperçu
Nixtla fournit des prévisions de séries chronologiques avec plusieurs backends — StatsForecast (statistique), NeuralForecast (deep learning) et HierarchicalForecast (réconciliation hiérarchique). Couvre ARIMA, ETS, Prophet, Theta, N-BEATS, DeepAR, Temporal Fusion Transformer et bien d'autres.
Installation
uv pip install nixtla
Prévisions statistiques (StatsForecast)
from statsforecast import StatsForecast
from statsforecast.models import AutoARIMA, ETS, Theta
models = [AutoARIMA(season_length=12), ETS(season_length=12), Theta(season_length=12)]
sf = StatsForecast(models=models, freq="M")
# df needs ds (date), y (value), unique_id columns
forecasts = sf.forecast(df, h=12)
print(forecasts)
Deep Learning (NeuralForecast)
from neuralforecast import NeuralForecast
from neuralforecast.models import NBEATS, NHITS
nf = NeuralForecast(models=[NBEATS(input_size=24, h=12), NHITS(input_size=24, h=12)])
nf.fit(df)
forecasts = nf.predict()
Réconciliation hiérarchique
from hierarchicalforecast import HierarchicalForecast
from hierarchicalforecast.methods import BottomUp, TopDown
hf = HierarchicalForecast(models=forecasts, reconcilers=[BottomUp(), TopDown()])
hf.reconcile(S_hierarchy)