Co se může stát dál? Prognóza pomocí ARIMA, automatického výběru a vyhlazování
Stručně
V kartě „Jak se hodnota vyvíjí v čase?“ je pod dekompozicí část „Co se může stát dál? (prognóza)“. Bez kliknutí se nic nepočítá. Můžete zvolit automatický výběr (Statable navrhne model ARIMA), ARIMA s řádem, který zvolíte sami, a exponenciální vyhlazování (jednoduché, s trendem, Holt-Winters aditivní nebo multiplikativní). Výsledek nejprve ukáže kontrolní seznam, pak graf s pásmem 80 % a 95 %, tabulku prognózy, model, při automatickém výběru pět nejlepších modelů a testovací období.
Kdy je prognóza zablokována
- Chybí-li v řadě hodnoty, Statable prognózu nepočítá. Nic nedoplňuje.
- Ne při nestejných odstupech, při méně než 20 hodnotách ani tehdy, jsou-li všechny hodnoty stejné.
- Automatický výběr funguje do 600 hodnot. Nad tím zůstává „Zvolit ARIMA sám“ a vyhlazování.
Volby
- Horizont: ve výchozím nastavení jedna perioda (12 u měsíců), 5 bez sezóny. Nejvýše dvě periody a nejvýše čtvrtina řady, nejméně 1.
- Logaritmická škála (jen ARIMA, jen pro hodnoty nad 0): ve výchozím nastavení zapnuta, naznačuje-li dekompozice multiplikativní model, tedy roste-li kolísání s úrovní. Prognóza a meze se převedou zpět; prognóza je pak medián, ne průměr.
- Zvolit ARIMA sám: p, q, P a Q od 0 do 5, d do 2, D do 1. Sezónní část (P, D, Q) funguje jen s periodou od 2 do 24. Konstanta existuje jen pro d + D do 1 (průměr nebo drift).
- Vyhlazování: se sezónou jen při periodě 2 nebo více a nejméně dvou periodách plus jedné hodnotě; multiplikativní jen pro hodnoty nad 0.
Jak vybírá automatický výběr
Statable se řídí Hyndmanem a Khandakarem (2008). Nejdřív počet diferencí: d (0 až 2) testem KPSS (mez 0,463), D (0 nebo 1) sezónní silou (mez 0,64). Potom proloží všechny modely do p, q ≤ 2 se sezónou (do 3 bez ní), P, Q ≤ 1 a p + q + P + Q ≤ 5, s konstantou i bez ní, a seřadí je podle AICc. První je návrh. Tabulka ukazuje pět nejlepších s ΔAICc. Při periodě nad 24 nebo při méně než třech úplných periodách automatický výběr sezónu ignoruje.
Past: nejmenší AICc není důkaz
AICc porovnává jen modely, které vidí. Leží-li druhý model o méně než 2 výš (ΔAICc < 2), je několik modelů zhruba stejně dobrých; porovnejte pak prognózy („Spočítat tento model“ v tabulce). Při méně než 50 hodnotách je výběr modelu nejistý (Box a Jenkins). AICc se nehodí k porovnávání modelů s různými diferencemi.
Čtení výsledku
- Kontrolní seznam: stojí před čísly. Každá věta platí, je-li splněna její podmínka. První platí vždy: prognóza prodlužuje minulost a platí jen tehdy, zůstanou-li podmínky stejné.
- Graf a tabulka: čára hodnot, čárkovaně prognóza, s pásmem 80 % a 95 %. Svislá čára stojí u poslední hodnoty. Pásma se s horizontem rozšiřují.
- Rezidua: test Ljung-Box zjišťuje, zda chyby modelu spolu stále souvisejí. p < ,05 znamená: model nezachytí celý vzorec a intervaly jsou nespolehlivé.
- Testovací období: poslední hodnoty (jedna perioda, bez sezóny do 5) se odloží a stejný model se odhadne znovu z dřívějších hodnot. Porovnává se s jednoduchým pravidlem (poslední hodnota, se sezónou hodnota o periodu dříve). Nebyl-li model lepší (RMSE stejné nebo větší), prognóza nic nepřináší. Je-li řada příliš krátká, řekne to kontrolní seznam.
- Dolní mez pod 0 při samých kladných hodnotách: model nezná dolní hranici 0. Logaritmická škála se tomu vyhne.
Požadavky a omezení
- Stejné odstupy, bez mezer, nejméně 20 hodnot. Lépe nad 50.
- Prognóza předpokládá, že podmínky zůstanou stejné: žádný strukturální zlom, žádné nové pravidlo, žádná krize. Model to nemůže vědět.
- Statable nezpracovává kalendářní vlivy (přestupné roky, pracovní dny), svátky, vysvětlující řady ani více sezón.
- Intervaly vyhlazování (HoltWinters) jsou aproximace, zejména multiplikativní.
Uvedení výsledku
Pro měsíční počty cestujících leteckých společností byl odhadnut ARIMA(0,1,1)(0,1,1)[12] na logaritmické škále (MA 1 = −,402, sezónní MA 1 = −,557; AICc = −483,21). Ljung-Box Q(24) = 26,45, df = 22, p = ,233. V testovacím období 12 měsíců činilo RMSE 18,59 oproti 50,71 u jednoduchého pravidla. Prognóza pro první měsíc: 450, 95% interval [419; 484].
Pro odborníky
Vše počítá R (jen stats, žádný další balík): arima (maximální věrohodnost), predict pro průměr a standardní chybu, HoltWinters, stl pro sezónní sílu, Box.test. Výběr modelu odpovídá forecast::auto.arima se stepwise = FALSE a approximation = FALSE: u deseti řad, každé s logaritmem i bez něj, dalo všech 20 běhů stejný model, stejné AICc i stejnou bodovou prognózu.
Meze se záměrně liší od forecast: forecast počítá σ² s opravou stupňů volnosti, Statable používá stats::predict (σ² metodou maximální věrohodnosti).
Rozdíly oproti SPSS
- Znaménko koeficientů MA: R a Statable zapisují model podle Boxe a Jenkinse; SPSS ukazuje MA s opačným znaménkem (cestující leteckých společností: −,402 a −,557 oproti ,402 a ,558).
- Standardní chyby a meze: SPSS odhaduje a počítá rozptyl jinak. Příklad cestující leteckých společností, první měsíc: Statable 419 až 484, SPSS 419 až 485. Příklad Nile, první rok: 541 až 1092 oproti 534 až 1098.
- Počáteční hodnoty vyhlazování: Nile s jednoduchým vyhlazováním: Statable α = ,2466 a 805, SPSS α = ,248 a 804.
- Bodové prognózy se shodují až na zaokrouhlení (Nile s ARIMA(1,1,1) bez konstanty: 816, 836, 840, 842, 842 u obou).
Zdroje
Hyndman, R. J., & Khandakar, Y. (2008). Automatic time series forecasting: The forecast package for R. Journal of Statistical Software, 27(3).
Box, G. E. P., & Jenkins, G. M.: Time series analysis: Forecasting and control (Wiley).
Kwiatkowski, D., Phillips, P. C. B., Schmidt, P., & Shin, Y. (1992). Testing the null hypothesis of stationarity against the alternative of a unit root. Journal of Econometrics, 54, 159-178.
Typické příklady
- Zápisy do kurzu za měsíc: kolik jich lze čekat příští semestr - a byl model v testovacím období lepší než „stejně jako loni“?
- Roční měření bez sezóny (například vodní stav): vyhlazování nebo ARIMA bez sezónní části, s posledními pěti lety jako testovacím obdobím.