michał kowalczykiewicz
DESCRIPTION
Michał Kowalczykiewicz. Time series forecasting using a hybrid ARIMA and neural network model (na podstawie pracy z Neurocomputing 50 (2003) 159 – 175, autorstwa G. Peter Zhang). Szereg czasowy. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/1.jpg)
Michał Kowalczykiewicz
Time series forecasting using a hybrid ARIMA and neural network model
(na podstawie pracy z Neurocomputing 50 (2003) 159 – 175,
autorstwa G. Peter Zhang)
![Page 2: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/2.jpg)
Szereg czasowy
Szereg czasowy to proces stochastyczny, którego dziedziną jest czas; to zbiór informacji uporządkowanych w czasie, których pomiary wykonywane są z pewnym krokiem czasowym
Analiza szeregów czasowych ma dwa główne cele: wykrywanie natury zjawiska reprezentowanego przez
sekwencję obserwacji prognozowanie (przewidywanie przyszłych wartości
szeregu czasowego)
![Page 3: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/3.jpg)
Analiza szeregów
Modele pure autoregressive (AR) pure moving avarage (MA) autoregressive integrated moving average (ARIMA) bilinear model threshold autoregressive (TAR) autoregressive conditional heteroscedastic (ARCH) artificial neural network (ANN)
![Page 4: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/4.jpg)
Analiza szeregów
Modele pure autoregressive (AR) pure moving avarage (MA) autoregressive integrated moving average (ARIMA) bilinear model threshold autoregressive (TAR) autoregressive conditional heteroscedastic (ARCH) artificial neural network (ANN)
![Page 5: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/5.jpg)
ARIMA
Jest metodą statystyczną służącą do analizowania szeregów czasowych, o liniowych zależnościach między danymi.
Autorzy Box i Jenkins, 1976
![Page 6: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/6.jpg)
ARIMA
Model: yt = Ө0 + Ф1yt-1 + Ф2yt-2 . . . + Фpyt-p +
єt - Ө1єt-1 - Ө2єt-2 - . . . - Өqєt-q
yt - wartość w czasie t
єt - losowy błąd w czasie t
Фi (i = 1, 2, . . ., p), Өi (j = 0, 1, . . ., q) - parametry modelu
p, q - porządek modelu
єt - niezależne, ze średnią zero i stałą wariancją σ2
![Page 7: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/7.jpg)
ARIMA
Budowanie modelu za pomocą metody Boy - Jenkins’a (1976)
Algorytm FAZA 1 : identyfikacja modelu FAZA 2 : estymacja parametrów FAZA 3 : walidacja
![Page 8: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/8.jpg)
ARIMA - identyfikacja modelu
W tej fazie należy ustalić (zidentyfikować) liczbę i typ parametrów modelu ARIMA, czyli określić wartości parametrów p i q.
![Page 9: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/9.jpg)
ARIMA - identyfikacja modelu
W tej fazie należy ustalić (zidentyfikować) liczbę i typ parametrów modelu ARIMA, czyli określić wartości parametrów p i q.
Korzysta się z: autokorelogramu (ACF) autokorelogramu cząstkowego (PACF)
![Page 10: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/10.jpg)
ARIMA - uwagi
Wymaga się, by wejściowy szereg dla tej fazy był stacjonarny, to znaczy, powinien on mieć stałą w czasie średnią, wariancję i autokorelację. Dlatego zazwyczaj szereg wymaga różnicowania aż do osiągnięcia stacjonarności
różnicowanie: yt = yt - yt-1
![Page 11: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/11.jpg)
ARIMA - estymacja parametrów
Polega na wyznaczeniu wartości parametrów Фi (i = 1, 2, . . ., p), Өi (j = 0, 1, . . ., q) dla których otrzymujemy maksymalną wiarygodność (prawdopodobieństwo) otrzymania właśnie obserwowanego szeregu. Aby mierzony błąd był minimalny
![Page 12: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/12.jpg)
ARIMA - estymacja parametrów
Polega na wyznaczeniu wartości parametrów Фi (i = 1, 2, . . ., p), Өi (j = 0, 1, . . ., q) dla których otrzymujemy maksymalną wiarygodność (prawdopodobieństwo) otrzymania właśnie obserwowanego szeregu. Aby mierzony błąd był minimalny
W praktyce wymaga to obliczenia (warunkowych) sum kwadratów reszt przy zadanych parametrach
![Page 13: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/13.jpg)
ARIMA - walidacja
W ostatniej fazie oceniamy trafność naszego modelu. Jeśli model zawiera wiele parametrów i\lub wyniki nas nie zadowalają
![Page 14: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/14.jpg)
ARIMA - walidacja
W ostatniej fazie oceniamy trafność naszego modelu. Jeśli model zawiera wiele parametrów i\lub wyniki nas nie zadowalają
możemy próbować powtórnie z innymi wartościami początkowymi parametrów (czyli wracamy do FAZA 1).
![Page 15: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/15.jpg)
ANN
Jest ogólnym modelem potrafiącym wykrywać nieliniowe zależnościach między danymi, w szeregów czasowych
![Page 16: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/16.jpg)
ANN
Najczęściej używaną siecią w tym zagadnieniu jest a sieć GLM
zależność między wyjściem yt , a wejściam
(yt-1, yt-2, . . ., yt-p), jest następująca:
yt = α0 + Σj<=q αjg(Σ i<=p βijyt-i) + єt
αj (j = 0, 1, . . ., q), βij (i = 0, 1, . . ., p; j = 1, 2, . . ., q) - wagi p - liczba wejść q - liczba neuronów w warstwie ukrytej
![Page 17: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/17.jpg)
ANN
Jako funkcję aktywacji środkowej warstwy przyjmuję się funkcje logistic:
g(x) = 1 / (1 + exp(-x))
liczba wejść sieci (p) i liczba neuronów wewnętrznych (q) są dobierane eksperymentalnie.
![Page 18: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/18.jpg)
Hybrid
Dla danych o których nie wiemy, czy są związki w nich występujące są liniowe czy, też nie żadna z wymienionych metoda nie jest odpowiednia.
Metoda ARIMA nie wykrywa nieliniowości w danych Sieci neuronowe dają średnie wyniki dla danych w których
występują zarówno liniowe jak i nieliniowe związki
![Page 19: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/19.jpg)
Hybrid
Dla danych o których nie wiemy, czy są związki w nich występujące są liniowe czy, też nie żadna z wymienionych metoda nie jest odpowiednia.
Metoda ARIMA nie wykrywa nieliniowości w danych Sieci neuronowe dają średnie wyniki dla danych w których
występują zarówno liniowe jak i nieliniowe związki
Potrzebujemy uniwersalnego modelu, odpowiedniego dla wszystkich rodzajów danych
![Page 20: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/20.jpg)
Hybrid
Model: yt = Lt + Nt
Lt - liniowy komponent
Nt - nieliniowy komponent
Te dwa parametry muszą zostać wyznaczone z danych
![Page 21: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/21.jpg)
Hybrid - Liniowy komponent
Liniowy komponent Wpierw metodą ARIMA modelujemy liniowy komponent (Ľ). Jeśli tylko Ľ~L (czyli Ľ zawiera wszystkie liniowe relacje w
danych) to residua powstałe z liniowego modelu będą zawierały tylko nieliniowe związki.
![Page 22: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/22.jpg)
Hybrid - Nieliniowy komponent
Nieliniowy komponent Niech et będzie resztą z dopasowanego liniowego modelu w
czasie t. Wtedy: et = yt - Ľ t
Te wartości możemy zamodelować za pomocą sieci neuronowej:
et = f(et-1, et-2, . . ., et-n) + єt
єt - losowy błąd w czasie t
![Page 23: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/23.jpg)
Hybrid
Ostatecznie
yt ~ Ľ t + N’t
gdzie N’t przewidywana wartość w czasie t wyznaczona przez ANN
![Page 24: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/24.jpg)
Hybrid - przykłady
Testowane szeregi czasowe: Lynx Sunspot Exchange rate
![Page 25: Michał Kowalczykiewicz](https://reader036.vdocuments.net/reader036/viewer/2022062422/56813ddf550346895da7abb1/html5/thumbnails/25.jpg)
Dziękuję za uwagę