Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
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)
2
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)
3
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)
4
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)
5
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
6
ARIMA Model: yt = Ө0 + Ф1yt-1 + Ф2yt-2 . . . + Фpyt-p +
єt - Ө1єt-1 - Ө2єt Ө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
7
ARIMA Budowanie modelu za pomocą metody Boy - Jenkins’a (1976)
Algorytm FAZA 1 : identyfikacja modelu FAZA 2 : estymacja parametrów FAZA 3 : walidacja
8
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.
9
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)
10
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
11
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
12
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
13
ARIMA - walidacja W ostatniej fazie oceniamy trafność naszego modelu. Jeśli model zawiera wiele parametrów i\lub wyniki nas nie zadowalają
14
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).
15
ANN Jest ogólnym modelem potrafiącym wykrywać nieliniowe zależnościach między danymi, w szeregów czasowych
16
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
17
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.
18
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
19
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
20
Hybrid Model: yt = Lt + Nt Lt - liniowy komponent
Nt - nieliniowy komponent Te dwa parametry muszą zostać wyznaczone z danych
21
Hybrid - 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.
22
Hybrid - 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
23
Hybrid Ostatecznie yt ~ Ľ t + N’t
gdzie N’t przewidywana wartość w czasie t wyznaczona przez ANN
24
Hybrid - przykłady Testowane szeregi czasowe: Lynx Sunspot
Exchange rate
25
Dziękuję za uwagę
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.