ARIMA- en SARIMA-modellen
AR-, MA- en I-componenten, parameterselectie met ACF/PACF, ARIMA fitten met statsmodels.
ARIMA- en SARIMA-modellen is een gratis Leer AI met Python-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Leer AI met Python. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Leer AI met Python bevat in totaal 4 lessen.
Wat is ARIMA?
ARIMA staat voor autoregressief geïntegreerd voortschrijdend gemiddelde. Het modelleert een stationaire tijdreeks met drie onderdelen: autoregressie (p), integratie/differentiatie (d) en een voortschrijdend gemiddelde van fouten (q), geschreven als ARIMA(p, d, q).
AR(p): autoregressief
De AR-term voorspelt de volgende waarde op basis van een lineaire combinatie van zijn eigen p vorige waarden. Als de waarde van vandaag sterk afhangt van de laatste paar dagen, heb je een p nodig die niet nul is.
Voorbeeld: p=2 gebruikt de twee meest recente waarnemingen als voorspellers.
I(d): integratie / differentiatie
De I-term is de differentiatieorde d die nodig is om de tijdreeks stationair te maken. Dit is precies de d die je met de ADF-toets in de vorige les hebt gevonden. d=1 verwijdert een lineaire trend.
MA(q): voortschrijdend gemiddelde
De MA-term modelleert de volgende waarde met de vorige q voorspellingsfouten (schokken). Zo worden correcties voor kortetermijnruis vastgelegd die het AR-gedeelte mist.
ARIMA aanpassen in statsmodels
Geef je tijdreeks op als endog en geef de tuple met de gekozen orde door.
from statsmodels.tsa.arima.model import ARIMA
model = ARIMA(endog=series, order=(p, d, q))
fit = model.fit()
print(fit.summary())Voorspellen
Zodra het model is getraind, genereer je toekomstige waarden met forecast of get_forecast. Met die laatste krijg je ook betrouwbaarheidsintervallen.
preds = fit.forecast(steps=12) # next 12 periods
fc = fit.get_forecast(steps=12)
ci = fc.conf_int() # confidence intervalsACF- en PACF-grafieken
Bekijk autocorrelatiegrafieken om p en q te kiezen:
- ACF (autocorrelatie) helpt bij het kiezen van q (MA-orde).
- PACF (partiële autocorrelatie) helpt bij het kiezen van p (AR-orde).
Let op de vertraging waarbij de correlatie abrupt wegvalt.
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
plot_acf(series.diff().dropna())
plot_pacf(series.diff().dropna())AIC en BIC voor modelordekeuze
AIC en BIC beoordelen hoe goed een model past en bestraffen daarbij complexiteit. Lager is beter. Pas verschillende kandidaten voor (p,d,q) aan en kies degene met de laagste AIC/BIC; BIC bestraft extra parameters sterker.
print("AIC:", fit.aic)
print("BIC:", fit.bic)Modelordes zoeken in een raster
Een gebruikelijke aanpak doorloopt kleine bereiken voor p, d en q, past elk model aan en houdt het model met de laagste AIC bij. Bibliotheken zoals pmdarima.auto_arima automatiseren deze zoektocht.
best = None
for p in range(3):
for q in range(3):
try:
f = ARIMA(series, order=(p, 1, q)).fit()
if best is None or f.aic < best[1]:
best = ((p, 1, q), f.aic)
except Exception:
pass
print(best)SARIMA voor seizoenspatronen
SARIMA voegt een seizoenscomponent toe: (P, D, Q, m), waarbij m de seizoenslengte is, bijvoorbeeld 12 voor maandelijkse gegevens met een jaarpatroon. Het verwerkt herhalende patronen die gewone ARIMA niet aankan.
from statsmodels.tsa.statespace.sarimax import SARIMAX
model = SARIMAX(series,
order=(1, 1, 1),
seasonal_order=(1, 1, 1, 12))
fit = model.fit()ARIMA versus SARIMA
- ARIMA(p,d,q): trend en afhankelijkheid op korte termijn, zonder seizoenspatroon.
- SARIMA(p,d,q)(P,D,Q,m): voegt seizoensfactoren toe voor herhalende cycli.
Als je decompositie een duidelijk seizoenspatroon liet zien, kies je SARIMA.
Korte controle
Test je kennis van ARIMA.
Samenvatting
Je hebt ARIMA(p,d,q) geleerd: AR gebruikt vorige waarden, I is de differentiatieorde en MA gebruikt vorige fouten. Je hebt het model aangepast met ARIMA(endog, order=...), ordes gekozen met ACF/PACF en AIC/BIC en het uitgebreid naar SARIMA voor seizoenspatronen. Hierna: Prophet voor geautomatiseerde voorspellingen.
Leer Python met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 53
- Lessen
- 225
Veelgestelde vragen
Is de les “ARIMA- en SARIMA-modellen” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Leer AI met Python, waaronder “ARIMA- en SARIMA-modellen”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Leer AI met Python bevat in totaal 4 lessen.
Wat leer ik in “ARIMA- en SARIMA-modellen”?
AR-, MA- en I-componenten, parameterselectie met ACF/PACF, ARIMA fitten met statsmodels. Je oefent met Leer AI met Python door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Leer AI met Python te beginnen?
Ervaring vooraf is niet nodig. Leer AI met Python op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “ARIMA- en SARIMA-modellen”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Leer AI met Python?
Ja. Elke les over Leer AI met Python bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Componenten en stationariteit van tijdreeksen
- ARIMA- en SARIMA-modellen
- Prophet voor geautomatiseerde voorspellingen
- LSTM voor voorspellingen in tijdreeksen