Ale zostawmy teorię na boku i przyjrzyjmy się prostemu przykładowi. Wrócę do poprzedniego artykułu, w którym przykładowo analizowałem funkcję sinus z nałożonym szumem białym, 1000 obserwacji:
Normalnie zawsze sprawdzamy przed estymacją niestacjonarność, aby usunąć pozorne trendy i korelacje. Stwierdziłem już, że proces cykliczny może być uznany za stacjonarny chociaż intuicyjnie wydaje się to nieprawidłowe. Taka sinusoida zawiera po prostu silne autokorelacje, a same autokorelacje nie są warunkiem wystarczającym do niestacjonarności. Gdybyśmy potraktowali ten proces jako stacjonarny, wtedy moglibyśmy użyć modelu ARMA(p, q) w Gretlu. Aby odnaleźć właściwe rzędy opóźnień p i q, użyjemy dodatku armax w Gretlu, o którym pisałem tutaj. Dodatek pozwala wybrać MNW lub CMNW. Dla MNW działa wolno przy ustawieniu dużych maksymalnych poziomów p i q. Dla CMNW działa bardzo szybko, co stanowi dodatkowy walor tej metody. Zróbmy więc eksperyment dla MNW i CMNW.
MNW: Ustawmy w armax maksymalne rzędy p = 10 i q = 10. Te wartości wynikają z tego, że gdy potem chcemy użyć modelu ARIMA (już poza dodatkiem), to na obecną chwilę maksymalnymi rzędami AR i MA jest właśnie poziom 10. Upewniamy się, że jest ustawiona MNW (ML - maximum likelihood). Gdy dodatek armax zakończy pracę, musimy wybrać, wg którego kryterium będziemy szacować model. Na podstawie dwóch artykułów: Dla ARIMA najlepszym kryterium jest BIC? oraz Nieprawda, że dla ARIMA najlepszym kryterium jest BIC. Nowy sprawdzian i prognoza WIG-u wnioskujemy, że w ARIMA powinniśmy posługiwać się tylko HQC i BIC (kolejność ma znaczenie). Obydwa kryteria wskazały, że optymalnym wyborem jest p = 10 i q = 1. Wracamy więc teraz do ARIMA i używamy tych rzędów, przy czym pamiętamy, żeby ustawić d = 0 oraz MNW. Otrzymujemy wyniki i konstruujemy prognozę:
CMNW: Jeszcze raz wchodzimy do armaxa, upewniamy się, że max p = 10 i max q = 10 i dodatkowo zaznaczamy CMNW (CML - conditional maximum likelihood). Uzyskany mówi, że dla HQC optymalnym wyborem jest p = 4 i q = 3. Wobec tego wracamy do ARIMA i zmieniamy rzędy, tak aby estymować model ARIMA(4, 0, 3), czyli ARMA(4, 3). Następnie zmieniamy ustawienie MNW na CMNW. Dostajemy wyniki i konstruujemy prognozę:
Gdy pierwszy raz to robiłem, byłem zdziwiony, że CMNW tak dokładnie odwzorowało funkcję sinus tylko na podstawie danych historycznych. CMNW może okazać się znacznie lepsza dla długoterminowych (niestacjonarnych) prognoz.
Należy tu jeszcze zwrócić uwagę, że gdy w armax zwiększymy maksymalne poziomy rzędów, np. do 12, to MNW się zmieni i wskaże p = 12 i q = 1, natomiast przy CMNW optimum zostaje zachowane - ciągle p =4 i q = 3. Wynika to z tego, że MNW wymaga dokładnej liczby parametrów, aby dać najlepsze możliwe wyniki, a CMNW potrafi sobie poradzić bez nich, wykorzystując pewne przybliżenia. Spodziewałbym się, że ze względu na cykliczność 200 rzędów w tym przypadku, MNW do tego poziomu właśnie zmieniałaby się, doprowadzając do globalnego optimum p = 200 i q = 1. Tutaj zaznaczam jednak, że to tylko moje przypuszczenie.
Funkcja sinus jest prosta, więc spróbujmy jeszcze przetestować bardziej skomplikowaną funkcję fraktalną, w której na sinus nakładamy mniejszy sinus i na ten mniejszy sinus nakładamy szum biały:
Powtórzmy eksperyment z poprzednich kroków.
MNW: Dodatek Armax wskazał (dla wszystkich kryteriów) p = 3 i q = 10. Prognoza:
W długim terminie prognoza jest zbyt wygasająca.
CMNW: Armax pokazał (dla wszystkich kryteriów) p = 7 i q = 7. Prognoza:
Prognoza fantastyczna. CMNW niesamowicie dobrze prognozuje długoterminowe skomplikowane zmiany sinusoidalne tylko na podstawie historii.
CMNW okazuje się nie tylko dużo bardziej dokładna dla długoterminowych prognoz skomplikowanych wzorów ale także jest praktyczniejsza, bo dużo szybsza. Wynika z tego, że warto się tą metodą posługiwać.
W takim razie spróbujmy wykorzystać CMNW do długoterminowej prognozy kwartalnego PKB od 4 kwartału 2017 do 4 kwartału 2021 r. Dane historyczne pochodzą z bazy GUS - kwartalnych zmian PKB z okresu 1.2003-3.2017. Przedstawię dwie prognozy - wg kryterium HQC oraz BIC. Prognozy wykonane analogicznie jak wyżej. Nie sprawdzamy więc stacjonarności, tylko od razu zakładamy d = 0 (tj. ARMA).
-HQC (daje nieco lepsze dostosowania dla procesu ARMA): optymalny model = ARMA(8, 0):
-BIC (lepiej wykrywa błądzenie przypadkowe - tutaj go z pewnością jednak nie ma): optymalny model = ARMA(5, 0):
Obydwa kryteria sygnalizują, że jeszcze 4 kwartał 2017 będzie bardzo dobry, natomiast od 2018 nastąpi deprecjacja i osłabienie gospodarczego wzrostu aż do końca roku.
* Metoda najmniejszych kwadratów (MNK) nie jest stosowana, bo się okazuje tutaj gorsza, opierając się tylko na historycznych danych. Podczas gdy MNW wykorzystuje dodatkowo teoretyczny rozkład prawdopodobieństwa - zob. [3] oraz [4]. Beach [5] także wykazał empirycznie, że MNW jest dla ARMA bardziej efektywna od MNK.
Literatura:
[1] Andersen, E. B., Asymptotic Properties of Conditional Maximum-Likelihood Estimators, 1970;
[2] Neyman, J., Scott, E. L., Consistent Estimates Based on Partially Consistent Observations, Jan. 1948;
[3] Osborn, D. R., Maximum Likelihood Estimation of Moving Average Processes, 1976;
[4] Osborn, D. R., On the Criteria Functions used for the Estimation of Moving Average Processes, Jun., 1982;
[5] Beach, C. M., MacKinnon, J. G., A Maximum Likelihood Procedure for Regression with Autocorrelated Errors, Jan. 1978.
Brak komentarzy:
Prześlij komentarz