1 / 25

Michał Kowalczykiewicz

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.

merton
Download Presentation

Michał Kowalczykiewicz

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Michał Kowalczykiewicz Time series forecasting using a hybrid ARIMA and neural network model (na podstawie pracy zNeurocomputing 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-2 - . . . - Өqєt-q • yt - wartość w czasie t • єt - losowy błądw 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 • 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 • 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łądw czasie t

  23. Hybrid • Ostatecznie • yt ~ Ľ t + N’t • gdzieN’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ę

More Related