AI & Analytics

Statsmodels: 3 handige trucs voor tijdreeksanalyse en forecasting

KDnuggets
Statsmodels: 3 handige trucs voor tijdreeksanalyse en forecasting

Samenvatting

Statsmodels biedt met één fitted model forecastintervallen en updates zonder handmatige herberekening of directe refit.

Statsmodels toont meer dan een puntvoorspelling

Het artikel bespreekt drie trucs voor tijdreeksanalyse en forecasting met statsmodels 0.15.0. De voorbeelden gebruiken dezelfde maandelijkse CO2-reeks en een gefit ARIMA-model met order 1, 1, 1 en een seizoenscomponent van 12 maanden.

De eerste truc vervangt `res.forecast(12)` door `res.get_forecast(12)`. Die methode levert een `PredictionResults`-object met niet alleen `predicted_mean`, maar ook betrouwbaarheidsgrenzen via `conf_int` en een gecombineerd overzicht via `summary_frame()`. De intervallen komen uit dezelfde modelberekening; de kortere forecast-aanroep laat ze alleen weg. Voor voorspellingen over historische perioden biedt `get_prediction` een vergelijkbare aanpak.

De tweede truc gebruikt `res.append(recent, refit=False)` wanneer nieuwe waarnemingen binnenkomen. In plaats van alle parameters opnieuw te schatten, werkt statsmodels het resultatenobject bij met de bestaande parameters. In het voorbeeld komen twaalf nieuwe maanden beschikbaar, waarna het model een nieuwe prognose voor zes maanden maakt.

Waarom Statsmodels praktisch verschil maakt

Een puntvoorspelling zonder onzekerheidsmarge geeft minder informatie over de spreiding rond de verwachte waarde. `summary_frame()` maakt die informatie direct beschikbaar voor rapportages of verdere controles, zonder dat je de intervallen zelf moet reconstrueren.

De append-methode scheidt het verwerken van nieuwe observaties van het opnieuw schatten van modelparameters. Dat maakt de keuze expliciet: bestaande parameters blijven staan zolang `refit=False` actief is. Wie parameters opnieuw wil schatten, moet dus bewust opnieuw fitten in plaats van automatisch dezelfde stap te herhalen.

Concrete takeaway voor Statsmodels-gebruikers

Controleer in bestaande notebooks of scripts waar `forecast()` volstaat en vervang die aanroep door `get_forecast()` zodra onzekerheidsgrenzen nodig zijn; gebruik `append(..., refit=False)` voor nieuwe data wanneer je parameters bewust wilt behouden.

Lees het volledige artikel
Meer over AI & Analytics →