Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010,...

22
Copyright © StatSoft Polska 2010, [email protected] 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski, Uniwersytet Ekonomiczny w Krakowie, StatSoft Polska Sp. z o.o. Wprowadzenie Analiza szeregów czasowych to jedna z części statystyki najczęściej stosowanych w prak- tyce gospodarczej. Zazwyczaj jej podstawowym celem jest uzyskanie możliwości progno- zowania przebiegu zjawisk. Nie należy jednak nie doceniać dwóch innych celów – analizy (czyli próby odpowiedzi na pytanie, jakie mechanizmy powodowały, że zjawisko przebie- gało tak, a nie inaczej) oraz możliwości symulacji (to wymaga zbudowania modeli zawie- rających zmienne sterowalne; zmieniając ich poziom obserwujemy efekt). Szeregi czasowe, które obserwujemy w praktyce, są realizacjami pewnych procesów sto- chastycznych. Istnieje tu analogia do relacji pomiędzy populacją (zbiorowością generalną a próbą). Szereg czasowy jest próbą z procesu stochastycznego. Podobnie jak w klasycz- nym badaniu statystycznym chcemy poznać własności populacji na podstawie informacji z próby, tak tutaj na podstawie szeregu czasowego chcemy poznać właściwości mechaniz- mu, który go wygenerował, czyli procesu stochastycznego. Wybór metody analizy szeregu czasowego jest w dużej części zdeterminowany jednostką czasu, według której „mierzono” zjawisko. Mamy więc dane roczne, kwartalne, miesięcz- ne, dekadowe, tygodniowe, dzienne, godzinowe, dane o wysokiej częstotliwości próbkowa- nia, czy wreszcie dane ciągłe. Typowe elementy składowe procesu generującego szereg to trend, wahania okresowe (koniunkturalne, długookresowe, sezonowe, krótkookresowe), interwencje w proces (nagłe zmiany spowodowane czynnikami zewnętrznymi) oraz zawsze obecne wahania losowe. W większości analiz zakłada się, że wahania losowe są generowa- ne przez rozkład normalny o wartości przeciętnej zero i stałej wariancji. Jeżeli składowe szeregu łączą się ze sobą poprzez dodawanie, to mamy do czynienia z modelem addytyw- nym, jeżeli łączą się poprzez mnożenie, to mamy model multiplikatywny. Poprzez logaryt- mowanie możemy go łatwo sprowadzić do postaci addytywnej. Oczywiście konkretny sze- reg czasowy nie musi mieć wszystkich tych elementów. Tak naprawdę to konieczny jest tylko jeden składnik losowy. Pewne składowe są naturalnie eliminowane z pola zaintere- sowań w zależności od jednostki miary czasu. W danych rocznych nie będziemy przecież poszukiwali wahań sezonowych czy dobowych. W toku budowy modelu możemy traktować szereg czasowy całościowo i próbować od razu modelować wszystkie jego składowe – przykładem takiego podejścia jest wyrówny- wanie wykładnicze. Inne podejście przewiduje najpierw analizę trendu, ewentualnych

Transcript of Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010,...

Page 1: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

81

ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE

Andrzej Sokołowski, Uniwersytet Ekonomiczny w Krakowie, StatSoft Polska Sp. z o.o.

Wprowadzenie

Analiza szeregów czasowych to jedna z części statystyki najczęściej stosowanych w prak-

tyce gospodarczej. Zazwyczaj jej podstawowym celem jest uzyskanie możliwości progno-

zowania przebiegu zjawisk. Nie należy jednak nie doceniać dwóch innych celów – analizy

(czyli próby odpowiedzi na pytanie, jakie mechanizmy powodowały, że zjawisko przebie-

gało tak, a nie inaczej) oraz możliwości symulacji (to wymaga zbudowania modeli zawie-

rających zmienne sterowalne; zmieniając ich poziom obserwujemy efekt).

Szeregi czasowe, które obserwujemy w praktyce, są realizacjami pewnych procesów sto-

chastycznych. Istnieje tu analogia do relacji pomiędzy populacją (zbiorowością generalną

a próbą). Szereg czasowy jest próbą z procesu stochastycznego. Podobnie jak w klasycz-

nym badaniu statystycznym chcemy poznać własności populacji na podstawie informacji

z próby, tak tutaj na podstawie szeregu czasowego chcemy poznać właściwości mechaniz-

mu, który go wygenerował, czyli procesu stochastycznego.

Wybór metody analizy szeregu czasowego jest w dużej części zdeterminowany jednostką

czasu, według której „mierzono” zjawisko. Mamy więc dane roczne, kwartalne, miesięcz-

ne, dekadowe, tygodniowe, dzienne, godzinowe, dane o wysokiej częstotliwości próbkowa-

nia, czy wreszcie dane ciągłe. Typowe elementy składowe procesu generującego szereg to

trend, wahania okresowe (koniunkturalne, długookresowe, sezonowe, krótkookresowe),

interwencje w proces (nagłe zmiany spowodowane czynnikami zewnętrznymi) oraz zawsze

obecne wahania losowe. W większości analiz zakłada się, że wahania losowe są generowa-

ne przez rozkład normalny o wartości przeciętnej zero i stałej wariancji. Jeżeli składowe

szeregu łączą się ze sobą poprzez dodawanie, to mamy do czynienia z modelem addytyw-

nym, jeżeli łączą się poprzez mnożenie, to mamy model multiplikatywny. Poprzez logaryt-

mowanie możemy go łatwo sprowadzić do postaci addytywnej. Oczywiście konkretny sze-

reg czasowy nie musi mieć wszystkich tych elementów. Tak naprawdę to konieczny jest

tylko jeden – składnik losowy. Pewne składowe są naturalnie eliminowane z pola zaintere-

sowań w zależności od jednostki miary czasu. W danych rocznych nie będziemy przecież

poszukiwali wahań sezonowych czy dobowych.

W toku budowy modelu możemy traktować szereg czasowy całościowo i próbować od

razu modelować wszystkie jego składowe – przykładem takiego podejścia jest wyrówny-

wanie wykładnicze. Inne podejście przewiduje najpierw analizę trendu, ewentualnych

Page 2: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

82

interwencji, potem wahań okresowych i na końcu reszt modelu całościowego, które są

realizacją składnika losowego.

Etapy analizy składników szeregu czasowego obejmują:

identyfikację,

pomiar,

modelowanie,

eliminowanie,

prognozowanie.

Dla każdego składnika szeregu czasowego mamy odpowiednie metody realizacji wymie-

nionych etapów analizy. Zostaną one bliżej przedstawione w trakcie prezentacji dwóch

przykładów.

Przykład 1

Ten przykład poświęcony jest analizie danych rocznych. Mamy informacje dotyczące spo-

życia piwa w Polsce, średnio na głowę mieszkańca, w latach 1995-2007. Jednostką miary

są litry. Ze względu na charakter danych jest oczywiste, że w tym szeregu czasowym mogą

występować co najwyżej trzy składniki: trend, interwencje, składnik losowy. Praktycznie

każdą analizę konkretnego szeregu rozpoczynamy od analizy wykresu ilustrującego prze-

bieg zjawiska. Z menu Wykresy wybieramy Wykresy 2W, a następnie Wykresy liniowe

(Zmienne). Po określeniu kolumny arkusza danych zawierającego badany szereg czasowy

(u nas jest to Piwo) otrzymujemy następujący rysunek.

1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 200730

40

50

60

70

80

90

100

Piw

o

Page 3: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

83

Najprostsza metoda identyfikacji trendu to ocena wykresu. Tutaj nie podlega dyskusji, że

w latach 1995-2007 występował w naszym kraju wyraźny, rosnący trend spożycia piwa.

Stale zdobywało ono popularność.

Jako pierwszy rozpatrzmy model, w którym występuje tylko trend i wahania losowe. Taki

model ma postać

f(.) to analityczna postać funkcji trendu. Jej wstępnego wyboru możemy dokonać już na

wykresie. Przy definiowaniu Wykresu liniowego (Zmienne), na karcie Więcej wybieramy

funkcję liniową.

Liniowy Piwo

Piwo 6v*16c

Piwo = 36,5385+4,2264*x

1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 200730

40

50

60

70

80

90

100

Piw

o

Page 4: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

84

Na pierwszy rzut oka wydaje się, że funkcja liniowa dobrze oddaje ogólny kierunek rozwo-

ju zjawiska. Na tym etapie warto ocenić liczbę serii odchyleń. Seria to ciąg odchyleń o jed-

nakowym znaku. W latach 1995-1996 szereg empiryczny jest pod trendem (odchylenia są

ujemne) i to jest pierwsza seria, potem w latach 1997-2000 wykres empiryczny jest ponad

funkcją trendu i to jest druga seria itd. Zwracamy uwagę na właściwe określenia pojęcia

„seria” – na pewno nie jest nim używane w MS Excel niewłaściwe tłumaczenie angiel-

skiego series. Series to nie seria, tylko szereg. Polska seria, to w języku angielskim run.

Wracając do serii odchyleń w naszym szeregu czasowym – mamy ich 6. Nie jest to liczba

zachwycająca na 13 obserwacji (najmniejsza możliwa liczba serii przy używaniu Metody

Najmniejszych Kwadratów to 3). Formalnie nie można odrzucić hipotezy o losowości reszt,

bo lewa wartość krytyczna w teście serii dla tego układu ma wartość 4.

W tytule ostatniego wykresu mamy oszacowaną liniową funkcję trendu. To nie jest

wystarczające do pełniej analizy. Trend liniowy o postaci

oszacujemy w module Regresja wieloraka. Wykorzystamy w tym celu zmienną czasową t,

która przyjmuje wartości kolejnych liczb naturalnych, począwszy od jedynki dla 1995 r.

Po naciśnięciu kolejno OK oraz Podsumowanie: Wyniki regresji otrzymujemy

Page 5: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

85

Zwracamy uwagę przede wszystkim na poziom p przy współczynniku kierunkowym

trendu. Jeżeli jest on mniejszy od przyjętego poziomu istotności (0,05), to jest to statys-

tyczny dowód na występowanie istotnego trendu.

Nasz trend liniowy ma postać:

Stwierdzamy, że w latach 1995-2007 średnioroczny przyrost spożycia piwa na jednego

mieszkańca w Polsce wynosił 4,23 litra. Liniowa funkcja trendu w 98% opisuje zmiany,

jakie zachodziły w spożyciu piwa. Średni błąd dopasowania (tu zwany błędem standardo-

wym estymacji) wynosi 2,27 litra. O tyle przeciętnie różnią się wskazania funkcji trendu od

rzeczywistego spożycia.

W module Regresja wieloraka mamy szerokie możliwości analizy reszt. Na karcie Podsta-

wowe widocznej po użyciu opcji Wykonaj analizę reszt (z karty Reszty, założenia predyk-

cja) mamy Wykres normalności reszt.

Page 6: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

86

Wykres normalności reszt

-5 -4 -3 -2 -1 0 1 2 3 4 5

Reszty

-2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

Wart

ość n

orm

aln

a

Punkty na tym wykresie wydają się nie wykazywać większych, ukierunkowanych odchyleń

od prostej. Formalnie hipotezę normalności rozkładu reszt możemy zweryfikować, wyś-

wietlając reszty klawiszem Podsumowanie: Reszty i przewidywane.

W kolumnie Reszty usuwamy wartości minimum, maksimum, średniej i mediany. Następ-

nie w menu Dane ustalamy powyższy arkusz jako Arkusz wejściowy. Teraz z menu Statys-

tyka wybieramy kolejno Statystyki podstawowe i tabele, Tabele liczności i kartę Nor-

malność. Wybieramy test Shapiro-Wilka.

Page 7: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

87

Wartość p jest bardzo duża i oczywiście nie ma podstaw do odrzucenia hipotezy o normal-

ności rozkładu reszt.

Wracamy do Analizy reszt. Na karcie Więcej znajdujemy Statystykę Durbina-Watsona.

Dla n=13 i liniowej funkcji trendu wartości krytyczne dla testu na dodatnią autokorelację

wynoszą 1,010 oraz 1,340. Ponieważ nasza empiryczna wartość statystyki testowej leży

między tymi wartościami, więc test nie pozwala na rozstrzygnięcie, czy korelacja dodatnia

występuje czy nie.

Zbudujmy teraz prognozę spożycia piwa na lata 2009-2011. W Wynikach regresji wielora-

kiej na ostatniej karcie mamy możliwość wyliczenia prognozy punktowej wraz z przedzia-

łem prognozy. W pojawiające się okno wpisujemy kolejne wartości zmiennej czasowej t –

dla roku 2009 jest to 14.

Jeżeli nie zadowala nas mała liczba serii w odchyleniach od funkcji trendu, to możemy

spróbować dopasować tzw. trend łamany. Koncepcja ta robi ostatnio karierę w epide-

miologii pod nazwą joint-point regression (albo joinpoint regression). Oprogramowanie

przygotowane w amerykańskim National Cancer Institute w ramach programu SEER (Sur-

veillance Epidemiology and End Results) samo wyszukuje ewentualne punkty zwrotne

trendu. My możemy oszacować trend łamany wprowadzając dwie „interwencje” do funkcji

trendu. Na rysunku prezentującym szereg empiryczny widzimy, że w latach 2001 oraz

2004 nastąpiło dwukrotne „przyhamowanie” trendu obserwowanego w latach poprzednich.

Te dwie interwencje oznaczamy dwiema zmiennymi zerojedynkowymi. Pierwsza – I1 –

przyjmuje wartość zero do 2000 roku, a wartość 1 od 2001 roku do końca analizowanego

Page 8: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

88

okresu. Druga zmienna – I2 – przyjmuje wartości zero do 2003 roku, a jeden od 2004. Tak

więc zmienne te są równe zero „na lewo” od punktu zwrotnego, który wyznaczają, zaś

jeden „na prawo” od punktu zwrotnego i w tym punkcie. Te dwie zmienne pozwalają nam

założyć, że parametry funkcji trendu (wyraz wolny i współczynnik kierunkowy) mogą

(choć nie muszą) ulegać zmianie w punktach zwrotnych. Równanie trendu liniowego

łamanego w dwóch punktach ma teraz postać:

Prosta idea tego wzoru jest taka, że w pierwszym punkcie zwrotnym wyjściowy wyraz

wolny a0 jest modyfikowany o a1, zaś współczynnik kierunkowy b0 jest modyfikowany

o b1. Podobna modyfikacja następuje w drugim punkcie zwrotnym. Powyższy wzór

doprowadzamy do postaci

Widać, że parametry tego modelu możemy oszacować jako parametry równania regresji

z pięcioma zmiennymi objaśniającymi: I1, I2, t, I1t, I2t. Co bardzo ważne, poprzez

weryfikację istotności takiego modelu możemy stwierdzić, czy parametry funkcji trendu

naprawdę uległy korekcie w punktach, które podejrzewamy, że są punktami zwrotnymi

funkcji trendu. Wyniki oszacowania modelu, o którym mówimy, są następujące

Wartość p przy zmiennej I1 jest zbyt duża. Oznacza to, że w pierwszym punkcie zwrotnym

nie uległ istotnej zmianie wyraz wolny trendu. Zgodnie z zasadami regresji krokowej zstę-

pującej usuwamy tę zmienną z modelu.

Ostateczny model trendu łamanego ma więc postać:

Page 9: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

89

Zauważmy, że ten model ma niemal czterokrotnie mniejszy średni błąd dopasowania

(0,6 litra) i rewelacyjny współczynnik determinacji (0,9987).

Wykres normalności reszt

-1,2 -1,0 -0,8 -0,6 -0,4 -0,2 0,0 0,2 0,4 0,6 0,8

Reszty

-2,0

-1,5

-1,0

-0,5

0,0

0,5

1,0

1,5

2,0

Wart

ość n

orm

aln

a

Wykres nie ma już widocznych serii reszt, a na osi poziomej są błędy z przedziału tylko

[-1;+0,8] litra.

Wartość statystyki Durbina-Watsona wynosi

Ponieważ współczynnik autokorelacji rzędu pierwszego jest ujemny, więc testujemy istot-

ność autokorelacji ujemnej. Statystyką testową jest w takim przypadku wielkość 4-d, co

w naszym przypadku wynosi 0,967. Liczba ta jest mniejsza od lewej wartości krytycznej

przytoczonej uprzednio (1,010), co oznacza, że w szeregu reszt obserwujemy istotną

autokorelację ujemną. Pozwala nam to zbudować model autokorelacji reszt. Najpierw jed-

nak zinterpretujmy równanie trendu łamanego. Interesująca jest oczywiście tylko interpre-

tacja współczynnika kierunkowego trendu.

W latach 1995-2000 spożycie piwa na 1 mieszkańca przyrastało w Polsce średnio o 5,48

litra rocznie; w roku 2001 spadło o prawie pół litra, a potem do roku 2003 wzrastało już

wolniej, bo o średnio 4,69 litra rocznie. W 2004 znów nastąpiło przyhamowanie trendu.

Spożycie wzrosło tylko o niecałe pół litra, ale potem w kolejnych latach wzrastało średnio

o 6,19 litra. Opisywany model tak dobrze pasuje do danych empirycznych, że obydwa

wykresy niemal się pokrywają.

Page 10: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

90

1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 200730

40

50

60

70

80

90

100

Piwo

Model TŁ

Trudno uwierzyć, że dobroć dopasowania można jeszcze poprawić. Otóż możemy wyko-

rzystać ujemną autokorelację składnika resztowego (jest to autokorelacja rzędu pierwsze-

go) i oszacować następujący model:

Model ten nie zawiera wyrazu wolnego, gdyż model wyjściowy był szacowany metodą

najmniejszych kwadratów, co zapewnia, że średnia reszt jest równa zeru. W arkuszu

danych trzeba wyliczyć wartości teoretyczne modelu trendu z interwencjami, następnie

reszty oraz utworzyć kolumnę z resztami opóźnionymi o jeden rok. Przy szacowaniu tego

modelu trzeba pamiętać o wybraniu opcji braku wyrazu wolnego.

Otrzymujemy następujący wynik

Page 11: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

91

Równanie autoregresji reszt ma więc postać

Po dodaniu wartości teoretycznych powyższego modelu do trendu segmentowego

otrzymujemy model ostateczny. Jego średni błąd dopasowania wynosi 0,48 litra, czyli

tylko nieco mniej niż standardowa puszka.

Na koniec porównajmy prognozy trendu liniowego z prognozami trendu segmentowego

z uwzględnieniem autokorelacji reszt.

Rok Prognoza z trendu liniowego Prognoza z trendu segmentowego

2008 95,7 99,6

2009 100,0 105,8

2010 104,2 112,0

Różnice w prognozach odzwierciedlają różne koncepcje leżące u podstaw obu modeli.

W modelu trendu liniowego najważniejsza jest tendencja długookresowa, jej pewien średni

efekt będący wypadkową trendów krótkookresowych i nagłych zahamowań. Drugi model

próbuje te składowe opisać. W jego prognozie tkwi założenie, że utrzyma się trend zaob-

serwowany po 2004 roku. Niewątpliwie ciekawe byłoby też poszukiwanie przyczyn dwóch

punktów zwrotnych, w latach 2001 i 2004. Tu ewentualnej odpowiedzi mogą udzielić tylko

specjaliści z branży znający uwarunkowania i historię rynku piwa w Polsce.

Przykład 2

Ten przykład to szereg czasowy danych dziennych. Jest to liczba wejść na stronę pewnego

serwisu randkowego. Dane obejmują okres od 14 marca do 10 sierpnia 2005 roku. Naj-

pierw odcinamy dane sierpniowe jako zbiór testowy. Okres uczący daje następujący wy-

kres szeregu czasowego.

Page 12: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

92

1

7

13

19

25

31

37

43

49

55

61

67

73

79

85

91

97

103

109

115

121

127

133

139

600

800

1000

1200

1400

1600

1800

2000

2200

2400

Lic

zba logow

Na wykresie zwracają uwagę przede wszystkim wyraźne wahanie okresowe – jak łatwo

zauważyć o okresie 7, czyli tygodniowe. Jeżeli chodzi o trend, to można by próbować –

podobnie jak w poprzednim przykładzie – dopasować trend składający się z trzech segmen-

tów liniowych. Pierwszy podokres do 56 wartości (8 maja), drugi do obserwacji 98

(19 czerwca) i trzeci potem. Jednak zastosujemy tu inne podejście, dopasowując trend

paraboliczny. Jest on istotny statystycznie, ale ma niewielkie znaczenie w szeregu. Ten

trend jest odpowiedzialny tylko za około 8 i pół procenta obserwowanej zmienności.

To niewielkie znaczenie trendu w pewnym sensie usprawiedliwia policzenie funkcji auto-

korelacji na danych oryginalnych, bez eliminowania trendu. Większość zaawansowanych

metod analizy szeregów czasowych znajduje się w części Szeregi czasowe i prognozowane

(można ją znaleźć w Zaawansowanych modelach liniowych i nieliniowych).

Page 13: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

93

Po zdefiniowaniu analizowanej zmiennej i naciśnięciu klawisza OK odnajdujemy kartę

z Autokorelacją.

Funkcja autokorelacji

Liczba logowań: =v2-v4

(Błędy standardowe to oceny białego szumu)

-1,0 -0,5 0,0 0,5 1,0

15 +,423 ,0795

14 +,741 ,0799

13 +,472 ,0802

12 -,118 ,0805

11 -,531 ,0808

10 -,527 ,0811

9 -,096 ,0814

8 +,524 ,0818

7 +,848 ,0821

6 +,571 ,0824

5 -,040 ,0827

4 -,476 ,0830

3 -,463 ,0833

2 -,015 ,0836

1 +,639 ,0839

Opóźn Kor. S.E

0

555,9 0,000

527,5 0,000

441,4 0,000

406,9 0,000

404,7 0,000

361,5 0,000

319,2 0,000

317,9 0,000

276,9 0,000

170,0 0,000

122,0 0,000

121,8 0,000

88,90 0,000

58,04 ,0000

58,01 ,0000

Q p

Funkcja autokorelacji potwierdza występowanie cyklu tygodniowego. Jeżeli w procesie

jest istotny cykl o stałym okresie, wówczas taki sam cykl obserwujemy w funkcji autokore-

lacji – stąd duży współczynnik korelacji dla opóźnienia 14. Relatywnie duży współczynnik

autokorelacji dla opóźnienia 1 to pokłosie niewyeliminowanego trendu. Dobrą ilustracją

struktury cyklu tygodniowego jest rysunek średnich z przedziałami ufności. Z menu

Wykresy wybieramy Wykresy średnia i błędy.

Page 14: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

94

1 2 3 4 5 6 7

Dzień tyg

1000

1200

1400

1600

1800

2000

2200

Lic

zba logow

Średnia Średnia±0,95 Przedz. ufn.

Widać, że internauci najintensywniej poszukują potencjalnego kandydata/kandydatki na

randkę od środy do piątku. Sobota to raczej dni realizacji tych randek, a poniedziałek to

zdecydowanie dzień odpoczynku po weekendzie.

Podejmiemy teraz próbę budowy trzech modeli prognostycznych.

Page 15: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

95

Model ze zmiennymi zerojedynkowymi

Z poprzedniej analizy wiemy, że w analizowanym szeregu występuje trend paraboliczny

oraz cykl tygodniowy. Cykl ten opiszemy przy pomocy zmiennych zerojedynkowych.

Ponieważ najmniej logowań było w poniedziałek, dlatego ten dzień przyjmiemy jako punkt

odniesienia. Sześć zmiennych zerojedynkowych odpowiada następnym dniom tygodnia.

Wydaje się rozsądnym przypuszczenie, że w dni świąteczne przypadające w środku

tygodnia oraz w Wielkim Tygodniu ten bardzo wyrazisty i gładki model cyklu tygodnio-

wego może ulegać zakłóceniu. Dlatego wprowadzamy zmienne zerojedynkowe oznacza-

jące takie dni.

W module Regresja wieloraka szacujemy model liniowy zawierający te wszystkie zmien-

ne zerojedynkowe, zmienną czasową oraz jej kwadrat.

W modelu wstępnym tylko 1 maja wydaje się obniżać zwyczajową liczbę logowań przypa-

dających w typową niedzielę (w 2005 roku 1 maja przypadał w niedzielę). Stosując zasady

regresji krokowej, dochodzimy do następującego modelu ostatecznego (zob. rys. poniżej).

Po wyeliminowaniu zmiennych nieistotnych znaczenie 1 maja spadło. Nie udało się więc

udowodnić, jakoby „specjalne” dni wywierały istotny wpływ na zakłócenie cyklu tygod-

niowego. W naszym modelu zostawimy jednak zmienną 1 maja, ponieważ bardzo niewiele

brakuje jej do istotności statystycznej na poziomie 0,05 (p=0,0543).

Page 16: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

96

Wyrównywanie wykładnicze

Podstawową metodę wyrównywania wykładniczego zapisuje się przy pomocy równania:

P

tt

P

t yyy 11

gdzie: jest prognozą szeregu na okres t, - stałą wygładzania z przedziału (0,1). Przed-

stawione równanie pokazuje, że aby wyznaczyć prognozę na kolejny okres, należy wziąć

kombinację liniową ostatniej obserwacji oraz poprzedniej prognozy. W programie

STATISTICA uwzględniono również bardziej skomplikowane modele uwzględniające trend

i wahania okresowe.

Page 17: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

97

Wybór odpowiedniego modelu oznaczamy kropką i wybieramy Automatyczne poszuki-

wanie.

Pokazujące się wyniki wyrównywania wykładniczego są bardzo rozbudowane. Szereg

wygładzony dobrze pasuje do danych empirycznych. Średni absolutny błąd procentowy

wynosi 4,4%.

Model ARIMA

Metodologia budowy modeli ARIMA została spopularyzowana przez Boxa i Jenkinsa

w ich książce Time series analysis: Forecasting and control wydanej w 1970 roku (tłuma-

czenie w języku polskim ukazało się w 1983 roku: Analiza szeregów czasowych. Progno-

zowanie i sterowanie). W najbardziej ogólnym opisie: analizowany szereg należy najpierw

sprowadzić do stacjonarności pod względem wartości przeciętnej i wariancji. W odniesie-

niu do wartości przeciętnej to doprowadzenie do stacjonarności uzyskuje się poprzez

wyeliminowanie ewentualnego trendu na drodze różnicowania niesezonowego (jego

krotność jest równa stopniowi trendu) oraz wahań okresowych poprzez dwukrotne różnico-

wanie sezonowe z opóźnieniem równym długości okresu. Po tych transformacjach staramy

się opisać wartości szeregu w zależności od swoich poprzednich wartości (część auto-

regresyjna) oraz w zależności od historii błędów (część średniej ruchomej).

W analizowanym przykładzie wybieramy dwukrotne różnicowanie niesezonowe oraz

różnicowanie sezonowe (jednokrotne) z okresem 7.

Page 18: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

98

Na wstępie koncentrujemy się na niesezonowej części modelu. Poprzez kolejne podwyż-

szanie rzędu autokorelacji i średniej ruchomej znajdujemy „najbardziej skomplikowany”

model ARIMA (0,2,1).

Funkcja autokorelacji reszt wskazuje, że komponenta okresowa nie została skutecznie

wyeliminowana i trzeba podjąć próbę jej opisania modelem, który ma aktywną część

sezonową (stąd niekiedy używana nazwa SARIMA).

Funkcja autokorelacji

Liczba logowań: ARIMA (0,2,1)(0,2,0) reszty ;

(Błędy standardowe to oceny białego szumu)

-1,0 -0,5 0,0 0,5 1,0

15 -,064 ,0838

14 +,353 ,0842

13 -,059 ,0846

12 -,136 ,0850

11 +,233 ,0853

10 -,129 ,0857

9 +,198 ,0861

8 +,153 ,0865

7 -,681 ,0869

6 +,183 ,0872

5 +,216 ,0876

4 -,203 ,0880

3 +,246 ,0883

2 -,167 ,0887

1 -,168 ,0891

Opóźn Kor. S.E

0

131,3 0,000

130,7 0,000

113,2 ,0000

112,7 ,0000

110,1 ,0000

102,7 ,0000

100,4 ,0000

95,14 ,0000

92,01 ,0000

30,60 ,0000

26,20 ,0001

20,14 ,0005

14,83 ,0020

7,09 ,0289

3,54 ,0600

Q p

Page 19: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

99

Znów poprzez stopniowe zwiększanie rzędu parametrów sezonowych znajdujemy optymal-

ny model ARIMA(0,2,1)(1,2,1).

Teraz funkcja autokorelacji reszt jest zadowalająca.

Funkcja autokorelacji

Liczba logowań: ARIMA (0,2,1)(1,2,1) reszty ;

(Błędy standardowe to oceny białego szumu)

-1,0 -0,5 0,0 0,5 1,0

15 +,051 ,0838

14 -,048 ,0842

13 +,108 ,0846

12 -,069 ,0850

11 +,166 ,0853

10 -,034 ,0857

9 +,067 ,0861

8 +,036 ,0865

7 -,038 ,0869

6 +,126 ,0872

5 +,044 ,0876

4 +,003 ,0880

3 +,150 ,0883

2 -,110 ,0887

1 -,182 ,0891

Opóźn Kor. S.E

0

18,80 ,2229

18,43 ,1878

18,11 ,1536

16,48 ,1701

15,83 ,1477

12,05 ,2819

11,89 ,2194

11,30 ,1856

11,12 ,1336

10,93 ,0906

8,83 ,1160

8,58 ,0726

8,58 ,0355

5,71 ,0576

4,16 ,0413

Q p

Sprawdzamy jeszcze rozkład reszt.

Page 20: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

100

Histogram; zmienna: Liczba logowań

ARIMA (0,2,1)(1,2,1) reszty ;

Oczekiwana normalna

-700 -600 -500 -400 -300 -200 -100 0 100 200 300 400 500 600 700 800 900

Górna granica (x<=granica)

0

5

10

15

20

25

30

35

Lic

zba o

b

Teoretyczna krzywa normalna nieźle pasuje do rozkładu empirycznego. Teraz możemy

wreszcie przystąpić do prognozowania. Na karcie Więcej określamy horyzont prognozy.

Model dość zaskakująco przewiduje spadek liczby logowań w okresie prognozowanym.

Page 21: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

101

Prognoza; Model: (0,2,1)(1,2,1) Opóź. sezon.: 7

Dane: Liczba logowań

-10 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160

Obserw. Prognozuj

1000

2000

-2000

-1000

0

1000

2000

3000

4000

5000

Na zakończenie przykładu porównamy, jak spisują się trzy modele prognostyczne w okre-

sie testowym. Na poniższym wykresie porównano prognozy z danymi rzeczywistymi.

Dane rzeczywiste

Model 0/1

Wyrównywanie wykładnicze

ARIMA0 1 2 3 4 5 6 7 8 9 10 11600

800

1000

1200

1400

1600

1800

2000

2200

Prognozy modelu ARIMA są praktycznie do odrzucenia. Dobre prognozy dał tylko dla

pierwszych trzech dni. W drugim prognozowanym tygodniu błąd już rośnie bardzo wyraź-

nie. Z oglądu rysunku najlepiej wygląda prognoza przygotowana z wykorzystaniem mode-

lu wyrównywania wykładniczego. To spostrzeżenie potwierdzają wartości średniego

absolutnego błędu procentowego (MAPE) wyliczonego dla okresu prognozowanego. Dla

modelu ze zmiennymi zerojedynkowymi wyniósł on 3,79%, a dla modelu wyrównywania

wykładniczego 2,96%.

Page 22: Analiza szeregów czasowych i prognozowanie - statsoft.pl · Copyright © StatSoft Polska 2010, info@DaneWiedzaSukceS.pl 81 ANALIZA SZEREGÓW CZASOWYCH I PROGNOZOWANIE Andrzej Sokołowski,

Copyright © StatSoft Polska 2010, [email protected]

102

Metody przedstawione w obydwu przykładach nie są oczywiście jedynymi metodami ana-

lizy szeregów czasowych dostępnymi w środowisku STATISTICA. Program STATISTICA

Data Miner oferuje szereg nowoczesnych metod możliwych do zastosowania przy analizie

i prognozowaniu długich szeregów czasowych. Są to na przykład sieci neuronowe, metoda

MARS, czy metoda SVM. Ponadto nawet te relatywnie proste metody można „zautomaty-

zować”, tworząc odpowiedni projekt w programie STATISTICA Data Miner. Takie rozwią-

zanie jest bezcenne, gdy prognozy mają być aktualizowane na bieżąco wraz z napływaniem

nowych danych. Struktura modeli prognostycznych pozostaje taka sama, natomiast para-

metry modeli są aktualizowane na bieżąco. Oczywiście sama struktura modeli też niekiedy

wymaga aktualizacji, ale ewentualną konieczność takiej aktualizacji można stwierdzić

poprzez analizowanie długich ciągów błędów prognoz ex post.