ARIMA- og SARIMA-modeller
AR-, MA- og I-komponenter, parametervalg med ACF/PACF, tilpasning af ARIMA med statsmodels.
ARIMA- og SARIMA-modeller er en gratis Lær AI med Python-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Lær AI med Python, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Lær AI med Python-kurset indeholder 4 lektioner i alt.
Hvad er ARIMA?
ARIMA står for autoregressiv integreret glidende middelværdi. Modellen beskriver en stationær serie ved hjælp af tre dele: autoregression (p), integration/differensering (d) og et glidende gennemsnit af fejl (q), skrevet som ARIMA(p, d, q).
AR(p): Autoregressiv
AR-leddet forudsiger den næste værdi ud fra en lineær kombination af seriens egne p foregående værdier. Hvis dagens værdi i høj grad afhænger af de seneste dage, har du brug for et p, der er forskelligt fra nul.
Eksempel: p=2 bruger de to seneste observationer som prædiktorer.
I(d): Integration / differensering
I-leddet er den d-differensorden, der kræves for at gøre serien stationær, præcis det d, du fandt med ADF-testen i den foregående lektion. d=1 fjerner en lineær tendens.
MA(q): Glidende gennemsnit
MA-leddet modellerer den næste værdi ved hjælp af de seneste q prognosefejl (stød). Det opfanger kortsigtede støjkorrektioner, som AR-delen ikke fanger.
Tilpasning af ARIMA i statsmodels
Angiv din serie som endog og den valgte ordenstupel.
from statsmodels.tsa.arima.model import ARIMA
model = ARIMA(endog=series, order=(p, d, q))
fit = model.fit()
print(fit.summary())Prognoser
Når modellen er tilpasset, kan du generere fremtidige værdier med forecast eller get_forecast, som også giver konfidensintervaller.
preds = fit.forecast(steps=12) # next 12 periods
fc = fit.get_forecast(steps=12)
ci = fc.conf_int() # confidence intervalsACF- og PACF-diagrammer
Undersøg autokorrelationsdiagrammer for at vælge p og q:
- ACF (autokorrelation) hjælper med at vælge q (MA-orden).
- PACF (partiel autokorrelation) hjælper med at vælge p (AR-orden).
Se efter det lag, hvor korrelationen stopper brat.
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
plot_acf(series.diff().dropna())
plot_pacf(series.diff().dropna())AIC og BIC til valg af orden
AIC og BIC vurderer modellens tilpasning og straffer samtidig kompleksitet. Lavere er bedre. Tilpas flere kandidater med (p,d,q), og vælg den med den laveste AIC/BIC; BIC straffer ekstra parametre hårdere.
print("AIC:", fit.aic)
print("BIC:", fit.bic)Gittersøgning efter ordener
En almindelig tilgang gennemløber små intervaller af p, d og q, tilpasser hver kandidat og beholder den med den laveste AIC. Biblioteker som pmdarima.auto_arima automatiserer denne søgning.
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 til sæsonudsving
SARIMA tilføjer en sæsonkomponent: (P, D, Q, m), hvor m er sæsonlængden (12 for månedlige data med årlig sæson). Den håndterer gentagne mønstre, som almindelig ARIMA ikke kan håndtere.
from statsmodels.tsa.statespace.sarimax import SARIMAX
model = SARIMAX(series,
order=(1, 1, 1),
seasonal_order=(1, 1, 1, 12))
fit = model.fit()ARIMA eller SARIMA
- ARIMA(p,d,q): tendens og kortsigtet afhængighed uden sæsonudsving.
- SARIMA(p,d,q)(P,D,Q,m): tilføjer sæsonled til gentagne cyklusser.
Hvis din opdeling viste tydelige sæsonudsving, skal du vælge SARIMA.
Hurtigt tjek
Test din viden om ARIMA.
Opsummering
Du lærte om ARIMA(p,d,q): AR bruger tidligere værdier, I er differensordenen, og MA bruger tidligere fejl. Du tilpassede modellen med ARIMA(endog, order=...), valgte ordener via ACF/PACF og AIC/BIC og udvidede den til SARIMA for sæsonudsving. Næste emne: Prophet til automatiserede prognoser.
Lær Python med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 53
- Lektioner
- 225
Ofte stillede spørgsmål
Er lektionen “ARIMA- og SARIMA-modeller” gratis?
Ja — alle 3 lektioner i læringssporet Lær AI med Python, inklusive “ARIMA- og SARIMA-modeller”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Lær AI med Python-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “ARIMA- og SARIMA-modeller”?
AR-, MA- og I-komponenter, parametervalg med ACF/PACF, tilpasning af ARIMA med statsmodels. Du øver dig i Lær AI med Python med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Lær AI med Python?
Der kræves ingen tidligere erfaring. Lær AI med Python på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.
Hvor lang tid tager lektionen “ARIMA- og SARIMA-modeller”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Lær AI med Python-lektion?
Ja. Alle Lær AI med Python-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Tidsseriers komponenter og stationaritet
- ARIMA- og SARIMA-modeller
- Prophet til automatiseret forecasting
- LSTM til forecasting af tidsserier