Ce s-ar putea întâmpla în continuare? Prognoză cu ARIMA, alegere automată și netezire
Pe scurt
În fișa „Cum se dezvoltă o valoare în timp?” se află, sub descompunere, secțiunea „Ce s-ar putea întâmpla în continuare? (prognoză)”. Fără clic nu se calculează nimic. Puteți alege alegerea automată (Statable propune un model ARIMA), ARIMA cu un ordin ales de dumneavoastră și netezirea exponențială (simplă, cu tendință, Holt-Winters aditivă sau multiplicativă). Rezultatul arată mai întâi o listă de verificare, apoi graficul cu banda de 80% și de 95%, tabelul prognozei, modelul, la alegerea automată cele mai bune cinci modele, și o perioadă de testare.
Când prognoza este blocată
- Dacă lipsesc valori din serie, Statable nu calculează nicio prognoză. Nu completează nimic.
- Nu la intervale inegale, la mai puțin de 20 de valori și nici dacă toate valorile sunt egale.
- Alegerea automată funcționează până la 600 de valori. Peste aceasta rămân „Alegeți ARIMA singur” și netezirea.
Alegerile
- Orizont: implicit o perioadă (12 pentru luni), 5 fără sezon. Cel mult două perioade și cel mult un sfert din serie, cel puțin 1.
- Scală logaritmică (doar ARIMA, doar pentru valori peste 0): activată implicit dacă descompunerea sugerează un model multiplicativ, adică dacă fluctuația crește odată cu nivelul. Prognoza și limitele sunt transformate înapoi; prognoza este atunci o mediană, nu o medie.
- Alegeți ARIMA singur: p, q, P și Q de la 0 la 5, d până la 2, D până la 1. Partea sezonieră (P, D, Q) funcționează doar cu o perioadă de la 2 la 24. Constanta există doar pentru d + D până la 1 (medie sau derivă).
- Netezire: cu sezon doar la o perioadă de 2 sau mai mult și cel puțin două perioade plus o valoare; multiplicativă doar pentru valori peste 0.
Cum alege alegerea automată
Statable urmează Hyndman și Khandakar (2008). Mai întâi numărul de diferențe: d (0 până la 2) prin testul KPSS (limită 0,463), D (0 sau 1) prin forța sezonieră (limită 0,64). Apoi ajustează toate modelele până la p, q ≤ 2 cu sezon (până la 3 fără), P, Q ≤ 1 și p + q + P + Q ≤ 5, cu și fără constantă, și le ordonează după AICc. Primul este propunerea. Tabelul arată cele mai bune cinci cu ΔAICc. La o perioadă peste 24 sau la mai puțin de trei perioade complete, alegerea automată ignoră sezonul.
Capcană: cel mai mic AICc nu este o dovadă
AICc compară doar modelele pe care le vede. Dacă al doilea model este cu mai puțin de 2 mai sus (ΔAICc < 2), mai multe modele sunt aproximativ la fel de bune; comparați atunci prognozele („Calculează acest model” în tabel). Sub 50 de valori, alegerea modelului este nesigură (Box și Jenkins). AICc nu este potrivit pentru compararea modelelor cu diferențe diferite.
Citirea rezultatului
- Listă de verificare: vine înaintea numerelor. Fiecare propoziție se aplică dacă este îndeplinită condiția ei. Prima se aplică întotdeauna: o prognoză prelungește trecutul și este valabilă doar dacă condițiile rămân aceleași.
- Grafic și tabel: linia valorilor, punctat prognoza, cu o bandă de 80% și una de 95%. Linia verticală stă la ultima valoare. Benzile se lărgesc odată cu orizontul.
- Reziduuri: testul Ljung-Box verifică dacă erorile modelului mai sunt legate între ele. p < ,05 înseamnă: modelul nu surprinde întregul tipar, iar intervalele nu sunt de încredere.
- Perioadă de testare: ultimele valori (o perioadă, până la 5 fără sezon) sunt păstrate deoparte, iar același model este estimat din nou cu valorile anterioare. Comparația se face cu regula simplă (ultima valoare, cu sezon valoarea de cu o perioadă mai devreme). Dacă modelul nu a fost mai bun (RMSE egal sau mai mare), prognoza nu aduce niciun câștig. Dacă seria este prea scurtă, lista de verificare spune acest lucru.
- Limită inferioară sub 0 cu doar valori pozitive: modelul nu cunoaște limita inferioară de 0. Scala logaritmică evită acest lucru.
Cerințe și limite
- Intervale egale, fără goluri, cel puțin 20 de valori. Mai bine peste 50.
- Prognoza presupune că condițiile rămân aceleași: fără ruptură structurală, fără regulă nouă, fără criză. Modelul nu poate ști asta.
- Statable nu tratează efectele de calendar (ani bisecți, zile lucrătoare), sărbătorile legale, serii explicative sau mai multe sezoane.
- Intervalele netezirii (HoltWinters) sunt o aproximare, mai ales cele multiplicative.
Raportarea rezultatului
Pentru pasagerii aerieni lunari s-a estimat ARIMA(0,1,1)(0,1,1)[12] pe scala logaritmică (MA 1 = −,402, MA sezonier 1 = −,557; AICc = −483,21). Ljung-Box Q(24) = 26,45, df = 22, p = ,233. În perioada de testare de 12 luni, RMSE a fost 18,59 față de 50,71 pentru regula simplă. Prognoza pentru prima lună: 450, interval de 95% [419; 484].
Pentru specialiști
Totul este calculat de R (doar stats, fără pachet suplimentar): arima (maximă verosimilitate), predict pentru medie și eroarea standard, HoltWinters, stl pentru forța sezonieră, Box.test. Alegerea modelului corespunde lui forecast::auto.arima cu stepwise = FALSE și approximation = FALSE: pe zece serii, fiecare cu și fără logaritm, toate cele 20 de rulări au dat același model, același AICc și aceeași prognoză punctuală.
Limitele diferă intenționat de forecast: forecast calculează σ² cu o corecție a gradelor de libertate, Statable folosește stats::predict (σ² prin maximă verosimilitate).
Deosebiri față de SPSS
- Semnul coeficienților MA: R și Statable scriu modelul după Box și Jenkins; SPSS arată MA cu semn opus (pasageri aerieni: −,402 și −,557 față de ,402 și ,558).
- Erori standard și limite: SPSS estimează și calculează varianța diferit. Exemplu pasageri aerieni, prima lună: Statable de la 419 la 484, SPSS de la 419 la 485. Exemplu Nile, primul an: de la 541 la 1092 față de la 534 la 1098.
- Valorile de pornire ale netezirii: Nile cu netezire simplă: Statable α = ,2466 și 805, SPSS α = ,248 și 804.
- Prognozele punctuale coincid până la rotunjire (Nile cu ARIMA(1,1,1) fără constantă: 816, 836, 840, 842, 842 la amândouă).
Surse
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.
Exemple tipice
- Înscrieri la un curs pe lună: câte sunt de așteptat semestrul viitor - și a fost modelul mai bun în perioada de testare decât „la fel ca anul trecut”?
- Măsurători anuale fără sezon (de exemplu nivelul apei): netezire sau ARIMA fără parte sezonieră, cu ultimii cinci ani ca perioadă de testare.