Wprowadzenie Analiza dynamiki zjawisk masowych Analizę dynamiki zjawisk masowych przeprowadza się na podstawie szeregówczasowych.sątociągi (Y t )wartościbadanegozjawiska obserwowanego w kolejnych jednostkach czasu. Zmienną niezależną jest czas, a zmienną zależną wartości liczbowe badanego zjawiska.
Szeregi czasowe w R Do konstrukcji szeregu czasowego wykorzystywana jest funkcja ts. Jeśli mamy już szereg czasowy, to możemy uzyskać z niego wiele informacji. Wykorzystywane są do tego następujące funkcje: start (początkowy okres), end(końcowy okres), frequency(liczba podokresów), deltat(odstęp czasowy pomiędzy obserwacjami, np. dla miesięcy mamy 1/12), time(wektor czasów, w których mamy obserwacje z szeregu). Do wizualizacji danych zebranych w postaci szeregu czasowego służy funkcja ts.plot, której argumentem może być kilka szeregów czasowych(zostaną zwizualizowane na jednym wykresie).
DatywR Analiza dynamiki zjawisk masowych Podstawowe funkcje to: Sys.time(data wraz z godziną), Sys.Date (data bez godziny). Do wprowadzania danych jako dat służy funkcja as.date, której argumentem jest data. Domyślny format daty,toczterycyfrynarok,dwienamiesiącidwienadzień, oddzielone kreską lub ukośnikiem. Jeśli chcemy użyć niestandardowego formatu, należy go wyspecyfikować jako wartość parametru format według oznaczeń zawartych w poniższej tabeli. Oznaczenie Działanie %d dzień miesiąca(liczba) %m miesiąc(liczba) %b miesiąc(skrót nazwy) %B miesiąc(pełna nazwa) %y rok(2 cyfry) %Y rok(4 cyfry)
DatywR Analiza dynamiki zjawisk masowych Data przechowywana jest jako liczba dni, jaka upłynęła od 1 stycznia 1970 roku. Można również podać datę jako liczbę dni, która upłynęła od pewnej daty początkowej. Jeśli chcemy sie dowiedzieć, jakim dniem, miesiącem lub kwartałem jest dana data możemy użyć funkcji weekdays, months oraz quarters. Często możemy być zainteresowani jaka była różnica pomiędzy dwoma datami. W R różnicę tę możemy wyrazić w sekundach, minutach, godzinach, dniach i miesiącach używając funkcji difftime i określając parametr units na secs, mins, hours, days, weeks odpowiednio. Przy konstrukcji szeregów czasowych potrzebne nam są sekwencje dat. Można je z łatwością utworzyć korzystająca z poznanej wcześniej funkcji seq z wykorzystaniem jej parametru by, który może przyjmować wartości będące jednostkami czasowymi.
Model wahań w czasie Modelem wahań w czasie nazywamy konstrukcję teoretyczną opisującą kształtowanie się określonego zjawiska jako funkcję czasu, wahań okresowych(periodycznych) i przypadkowych (nieregularnych). Tradycyjnie analizy prawidłowości w rozwoju zmiennej dokonuje się poprzez wyodrębnianie w szeregu czasowym jego elementów składowych, co nosi nazwę dekompozycji tego szeregu. W najogólniejszym przypadku zakłada się, że w szeregu czasowym mogą wystąpić cztery składniki: 1 trend T t, 2 wahaniacykliczne C t, 3 wahaniasezonowe S t, 4 wahanianieregularne,przypadkowe I t.
Model wahań w czasie Trend charakteryzuje długookresową tendencję zmian w szeregu czasowym. Może on oznaczać w miarę regularnie powtarzający się wzrost lub spadek wartości zmiennej Y lub też brak wyraźnej tendencji zmian. Pozostałe trzy składniki szeregu czasowego to różnego typu odchylenia od tendencji długookresowej. Wahania cykliczne oznaczają powtarzające się(niekoniecznie regularnie) wahania o czasie trwania dłuższym niż rok. Wahania sezonowe oznaczają takie odchylenia od trendu, które powtarzają się w czasiewsposóbregularnyiktórychpełencyklzawierasięwciągu jednego roku. Wahania sezonowe powtarzają się według pewnego wzorca każdego roku. Wahania sezonowe kształtowane są przez czynniki naturalne(pory roku, pogodę) oraz przez zwyczaje(np. różne święta). Wahania nieregularne(losowe) to te, które obejmują wszelkie odchylenia od trendu, będące efektem działania na badaną zmienną niepowtarzalnych, nie dających się przewidzieć ani prognozować zdarzeń.
Modelowanie szeregów czasowych Szereg czasowy możemy modelować na dwa sposoby: Multiplikatywnie Y t = T t S t C t I t Zakładamy, że zmiany odchylenia od trendu wyrażone są w procentach, przy czym 100% oznacza brak zmian. Ten model jest wykorzystywany częściej. Addytywnie Y t = T t +S t +C t +I t Zakładamy, że zmiany odchylenia od trendu wyrażone są w wartościach absolutnych.
Trend Analiza dynamiki zjawisk masowych Tendencją rozwojową(trendem) nazywamy powolne, regularne i systematyczne zmiany określonego zjawiska, obserwowane w dostatecznie długim przedziale czasu i będące wynikiem działania przyczyn głównych. Przyjmuje się, że aby wyodrębnić trend, niezbędne są co najmniej 10-letnie badania. Wyróżniamy dwie metody wyodrębniania tendencji rozwojowej szeregów czasowych: Metoda mechaniczna opiera się na średnich ruchomych. Polega ona na zastąpieniu danych empirycznych średnimi poziomami z okresu badanego i kilku okresów sąsiednich. Średnie ruchome mogą być obliczane z parzystej bądź nieparzystej liczby wyrazów sąsiednich. Metoda analityczna polega na dopasowaniu określonej funkcji matematycznej do całego szeregu czasowego za pomocą MNK. Istotny jest wybór klasy funkcji trendu oraz prawidłowe oszacowanie jej parametrów.
Średnia ruchoma Analiza dynamiki zjawisk masowych Dla przykładu średnie ruchome trzyokresowe(k = 3) obliczamy następująco: Ȳ 2 = Y 1 +Y 2 +Y 3, 3 Ȳ 3 = Y 2 +Y 3 +Y 4, 3..., Ȳ n 1 = Y n 2 +Y n 1 +Y n. 3
Średnia ruchoma Analiza dynamiki zjawisk masowych Natomiast w przypadku średniej ruchomej dla parzystej liczby okresów(k = 4) obliczenia wykonujemy według wzorów: Ȳ 3 = 1 2 Y 1 +Y 2 +Y 3 +Y 4 + 1 2 Y 5, 4 1 2 Ȳ 4 = Y 2 +Y 3 +Y 4 +Y 5 + 1 2 Y 6, 4..., Ȳ n 2 = 1 2 Y n 4 +Y n 3 +Y n 2 +Y n 1 + 1 2 Y n 4 Zaletą tej metody jest prostota obliczeń, wadą natomiast jest skracanie wyrównanego tą metodą szeregu czasowego. W naszym przypadkudla k =3tracimyelementpierwszyiostatni,adla k =4tracimydwapierwszeidwaostatnie..
Filtry wygładzające Oprócz najprostszej metody średniej ruchomej można zastosować, dużo bardziej wyrafinowane metody zwane filtrami. Do najpopularniejszych należą filtr liniowy oraz wykładniczy. Filtr liniowy ma postać: Ŷ t = 1 2a+1 a Y t+i. i= a Jest to w zasadzie nieco zmodyfikowana średnia ruchoma.
Filtry wygładzające Filtr wykładniczy, który bywa również nazywany wygładzaniem wykładniczym Browna, opiera się na założeniu, że wartość szeregu czasowego powinna bardziej zależeć od obserwacji bliskich niż dalekich, co daje Ŷ t+1 = αy t 1 +(1 α)ŷt. Istotny jak widać jest w tym przypadku wybór wartości startowej, najczęściejjestzaniąprzyjmowanawartośćpoczątkowaszeregu Y 1 lub jest to średnia z pierwszych czterech lub pięciu obserwacji początkowych. Takie proste wygładzanie wykładnicze używane jest w przypadku prognoz krótkoterminowych, gdy dane nie wykazują trendu ani sezonowości.
Filtry wygładzające W przypadku wystąpienia trendu używa się podwójnego wygładzania wykładniczego Holta postaci: oraz S t = αy t +(1 α)(s t 1 +b t 1 ), 0 < α <1 b t = β(s t S t 1 )+(1 β)b t 1, 0 < β <1 Ŷ t+1 = S t +b t gdzie S t jestwygładzonąwartościązmiennejprognozowanejw chwili t,ab t wygładzonąwartościąprzyrostutrenduwokresie t. Zawartościstartoweprzyjmujesię S 1 = Y 1 oraz b 1 = Y 2 Y 1 lub b 1 = (Y n Y 1 )/(n 1).Jeślidodatkowouwzględnimysezonowość to dostaniemy potrójne wygładzanie wykładnicze, zwane również metodą Wintersa(pojawia się tam dodatkowy parametr γ). Istnieją dwa jego rodzaje w zależności czy przyjmujemy model addytywny czy multiplikatywny sezonowości. Ogólnie wygładzenie wykładnicze jest nazywane filtrem Holta-Wintersa.
Filtry wygładzające w R Filtr liniowy realizuje funkcja filter, której pierwszym argumentem jest szereg czasowy, natomiast drugim argumentem jest wektor wag. Filtrowanie wykładnicze realizuje funkcja HoltWinters, której pierwszym argumentem jest szereg czasowy, następne trzy parametry alpha, beta i gamma określają wartości odpowiednich parametrów modelu. Jeśli nie zostaną podane(ustalenie na NULL wyklucza parametr z modelu), funkcja poszuka wartości minimalizujących błąd średniokwadratowy predykcji. Ostatni istotny parametr to seasonal, który może przyjmować wartość additive lub multiplicative w zależności od wybranego modelu sezonowości.
Metoda analityczna Najczęściej stosowana jest funkcja liniowa postaci: Y t = α 0 +α 1 t +ε t, gdzie ε t oznaczaskładniklosowy.napodstawiedanychzszeregu empirycznego wyznacza się oszacowanie tej funkcji: Ŷ t = a 0 +a 1 t, gdzie estymatory parametrów wyznaczamy według wzorów: 12 n Y t t t=1 a 1 = n 3 n a 0 = Ȳ a 1 t. 6 n Y t t=1 n 2 n,
Autokorelacja Analiza dynamiki zjawisk masowych Aby powyższe wzory były poprawne, odchylenia resztowe muszą być losowe oraz nie może występować autokorelacja(acf) składnika losowego. Autokorelacja występuje wtedy, gdy skutki działania zmienności losowej nie wygasają w danym okresie t, lecz są przenoszone naokresyprzyszłe t +1(autokorelacjarzędupierwszego), t +2 (autokorelacja rzędu drugiego) itd. Autokorelacja rzędu k(popularnie zwana opóźnieniem) jest funkcją, która argumentowi naturalnemu k przypisuje wartość współczynnika korelacji Pearsona pomiędzy szeregiem czasowym, a tym samym szeregiem cofniętym o k jednostek czasu. Formalnie(dla procesów stacjonarnych): gdzie ρ(k) = γ(k) γ(0), γ(k) = cov(y t,y t+k ) = E[(Y t µ)(y t+k µ)] jestautokowariancjąrzędu koraz µ = E(Y t ).
Autokorelacja Analiza dynamiki zjawisk masowych Najczęściej spotykaną formą autokorelacji jest autokorelacja dodatnia. Dodatnio skorelowane zaburzenia losowe nie zachowują się całkowicie chaotycznie. Jeśli w okresie t błąd losowy był dodatni,toprawdopodobieństwo,żewokresie t +1będzieon także dodatni, jest wyższe niż prawdopodobieństwo, że w okresie tym będzie on ujemny. Spowodowana jest ona zwykle rozciągnięciem na dłużej niż jeden okres skutków zdarzeń losowych wpływających na poziom zmiennej objaśnianej. Rzadziej spotykaną formą autokorelacji jest autokorelacja ujemna. W takim przypadku prawdopodobieństwo wystąpienia po dodatnim błędzie losowym ujemnego błędu jest wyższe niż prawdopodobieństwo wystąpienia dodatniego błędu. Autokorelacja może być także spowodowana przyjęciem błędnej postaci funkcyjnej dla estymowanego modelu. Sprawdzenie istotności autokorelacji składnika losowego następuje najczęściej za pomocą testu Durbina-Watsona, w którym hipoteza zerowa zakłada brak autokorelacji.
Autokorelacja wykresy Do wstępnej oceny autokorelacji można wykorzystać wykresy. a) Brak autokorelacji b) autokorelacja dodatnia c) autokorelacja ujemna a) Autokorelacja dodatnia b) autokorelacja ujemna
Test Durbina-Watsona w R Odpowiednia funkcja znajduje się w pakiecie car i nosi nazwę durbinwatsontest.
Modelowanie szeregów czasowych z autokorelacją Jeśli autokorelacja występuje szereg czasowy modeluje się poprzez: Proces średniej ruchomej(ma) rzędu q postaci: Y t = c + q β j ε t j, j=0 gdzie ε t jestczynnikiemlosowym(owartościoczekiwanej0 orazwariancji σ 2 ),przyczym ε i oraz ε i+1 sąniezależnedla każdej wartości i.
Modelowanie szeregów czasowych z autokorelacją Proces autoregresji(ar) rzędu p postaci: Y t = α 0 + p α i Y t i +ε t. i=1 W procesie AR(p) uwzględniamy wpływ p poprzednich wartości szeregu na jego wielkość w momencie t.
Modelowanie szeregów czasowych z autokorelacją Proces autoregresji i średniej ruchomej(arma) rzędu (p, q) postaci: Y t = α 0 + p α i Y t i + i=1 q β j ε t j, j=0 w którym dodajemy dodatkowo efekt wpływu czynnika losowego z poprzednich momentów czasowych na wartość szeregu w momencie t.
Modelowanie szeregów czasowych z autokorelacją Scałkowany proces autoregresji i średniej ruchomej(arima) rzędu (p, d, q). Jeśli w danych występuje wyraźny trend (proces jest niestacjonarny rozkłady prawdopodobieństwa zmiennej nie zmieniają się w czasie, parametry takie jak średnia i wariancja także nie ulegają zmianie wraz z przesunięciem w czasie), należy taki trend usunąć przed dalszą analizą. Trend usuwany jest poprzez różnicowanie d razy. Stopień różnicowania określony jest przez stopień wielomianu opisującego trend(pojedyncze różnicowanie usuwa trend liniowy, podwójne kwadratowy itd.). Operacja różnicowania polega na d krotnym zastępowaniu szeregu szeregiem różnic wyrazów sąsiednich. Przy każdej takiej operacji długość szeregu zmniejsza się o jeden. Gdy metodą różnicowania dojdziemy do szeregu stacjonarnego obliczając różnice rzędu d, taki szereg nazywamy szeregiem zintegrowanym stopnia d.
Stacjonarność Analiza dynamiki zjawisk masowych Jeśli nie mamy pewności co do stacjonarności szeregu, możemy spróbować zbadać to jednym z dostępnych testów stacjonarności. Do najpopularniejszych należy test Dickeya-Fullera. Hipoteza zerowa stanowi, że szereg jest niestacjonarny. Proces AR oraz ARMA jest stacjonarny jeżeli wszystkie pierwiastki równania charakterystycznego są większe co do wartości bezwzględnej od 1. Jeżeliwmodeluzawartofunkcjęzależnąodczasu t,toprocesjest niestacjonarny. Proces MA jest stacjonarny.
Stacjonarność Analiza dynamiki zjawisk masowych Proces Y t = 1 2 Y t 1 +ε t marównaniecharakterystyczne postaci x 2 =0,któremapierwiastekrówny2.Jestto zatem proces stacjonarny. Proces Y t = Y t 1 1 4 Y t 2 +ε t marównanie charakterystycznepostaci x 2 4x +4 =0,którema pierwiastek podwójny równy 2. Zatem jest to również proces stacjonarny. Proces Y t = 1 2 Y t 1 + 1 2 Y t 2 +ε t marównanie charakterystycznepostaci x 2 +x 2 =0,którema pierwiastkirówne-2i1.ponieważniesąobawiększecodo wartości bezwzględnej od 1, zatem proces jest niestacjonarny. Proces Y t = 1 4 Y t 2 +ε t marównaniecharakterystyczne postaci x 2 +4 =0,któremadwapierwiastkizespolone postaci ±2i,dlaktórych 2i = 2 2 +0 2 =2.Czyliproces jest stacjonarny.
Generowanie szeregów czasowych Powyższe procesy można generować w R za pomocą polecenia arima.sim. Generowane są procesy ze średnią 0, więc aby przesunąć proces należy przesunąć wszystkie jego wartości.
Określanie rzędu procesu Poza autokorelacją wykorzystuje się również autokorelację cząstkową(pacf). Jest ona podobna do autokorelacji, z wyjątkiem tego, że podczas jej obliczania korelacje z wszystkimi elementami w ramach opóźnienia zostają wyeliminowane. Jeśli opóźnienie zostało określone na 1(tzn. nie ma żadnych elementów pośrednich wewnątrz opóźnienia), to autokorelacja cząstkowa jest równoważna autokorelacji. Autokorelacje wizualizujemy za pomocą korelogramów, na których nanosimy wartości kolejnych autokorelacji, przy zmieniającym się opóźnieniu. Jeśli słupki są małe(między liniami określającymi poziom ufności) możemy wnioskować, że zależność autokorelacyjna nie występuje, w przeciwnym razie możemy zaobserwować jakiego jest rzędu.
Określanie rzędu procesu Z korelogramu autokorelacji możemy wnioskować o rzędzie średniej ruchomej, natomiast z korelogramu autokorelacji cząstkowej wnioskujemy o rzędzie procesu autoregresji. ARIMA(1,d,0):ACF opadawykładniczo;pacf maksimum przy opóźnieniu 1, brak korelacji dla innych opóźnień. ARIMA(2, d, 0): ACF kształt sinusoidalny lub kombinacja zaników wykładniczych; PACF duże wartości przy opóźnieniach 1 i 2, brak korelacji dla innych opóźnień. ARIMA(0,d,1):ACF maksimumprzyopóźnieniu1,brak korelacji dla innych opóźnień; PACF gaśnie wykładniczo. ARIMA(0,d,2):ACF dużewartościprzyopóźnieniach1i2, brak korelacji dla innych opóźnień; PACF kształt sinusoidy lub kombinacja zaników wykładniczych. ARIMA(1, d, 1): ACF opada wykładniczo począwszy od opóźnienia 1; PACF opada wykładniczo począwszy od opóźnienia 1.
Określanie rzędu procesu Ogólnie w celu określenia rzędów procesu można wykorzystać poniższą tabelę. AR(p) MA(q) ARMA(p,q), p,q >0 ACF Zmniejsza się Zanika po opóźnieniu q Zmniejsza się PACF Zanika po opóźnieniu p Zmniejsza się Zmniejsza się
Określanie rzędu procesu Jeśli jednak wciąż nie mamy pewności warto wykorzystać rozszerzoną funkcję autokorelacji(eacf). W wyniku otrzymujemy tabelę, w której w każdym wierszu otrzymujemy ACF aż do opóźnienia qdlakażdegoprocesuarorzędzie k p.rzędy procesu wnioskujemy z położenia wierzchołka trójkąta złożonego z zer. AR/MA 0 1 2 3 4 5 6 7 8 9 10 0 X X X X X X X X X X X 1 X 0* 0 0 0 0 0 0 0 0 0 2 X X 0 0 0 0 0 0 0 0 0 3 X X X 0 0 0 0 0 0 0 0 4 X X X X 0 0 0 0 0 0 0 5 X X X X X 0 0 0 0 0 0 6 X X X X X X 0 0 0 0 0 7 X X X X X X X 0 0 0 0
Równania Yule a-walkera Twierdzenie Jeśli Y t = p z=1 α zy t z +ε t jeststacjonarnymprocesemar(p), wtedy jego funkcja autokorelacji spełnia następujące równanie rekurencyjne ρ(s) = p α z ρ(s z), s =1,2,... z=1
Równania Yule a-walkera Znajdźmy korzystając z powyższego twierdzenia funkcję autokorelacji dla procesu AR(2) postaci Y t = α 1 Y t 1 +α 2 Y t 2 +ε t. Mamy: 1,dla k =0, α 1 1 α ρ(k) = 2,dla k =1, α 2 1 1 α 2 +α 2,dla k =2, 0,wp.p.
Autokorelacja i autokowariancja z definicji Niech Y t =10+Z t +Z t 1, gdzie Z t,z t 1,...jestciągiemniezależnychzmiennychlosowycho wartości oczekiwanej zero oraz jednostkowej wariancji. Mamy: E(Y t ) = E(Y t+k ) =10, γ(0) = Var(Y t ) =2, γ(1) = E[(Y t µ)(y t+1 µ)] =1, γ(2) = E[(Y t µ)(y t+2 µ)] =0. Oraz ρ(0) =1, ρ(1) =0,5, ρ(2) =0.
Stacjonarność procesów ARIMA Sprawdźmy czy proces ARIMA(1,1,1) jest stacjonarny. Proces taki ma postać: Mamy zatem Y t = α Y t 1 +ε t +βε t 1, α <1, b 0. Y t Y t 1 = α(y t 1 Y t 2 )+ε t +βε t 1, Y t = (α+1)y t 1 αy t 2 +ε t +βε t 1. Jest to zatem proces ARMA(2,1). Równanie charakterystyczne części AR ma postać: αx 2 (α+1)x +1 =0. Maonopierwiastki1oraz1/a.Zatemniejesttoproces stacjonarny.