Szeregi niestacjonarne

Transkrypt

Szeregi niestacjonarne
Analiza szeregów czasowych:
6. Liniowe modele niestacjonarne
P. F. Góra
http://th-www.if.uj.edu.pl/zfs/gora/
semestr letni 2007/08
Warunki stacjonarności modelu AR(p)
yn = β1yn−1 + β2yn−2 + · · · + βpyn−p + α0ηn .
(1)
Proces (1) jest stacjonarny wtedy i tylko wtedy, gdy pierwiastki równania
λp − β1λp−1 − β2λp−2 − · · · − βp = 0
(2)
leża˛ wewnatrz
˛ okregu
˛
jednostkowego. Jeżeli któryś pierwiastek leży poza
okregiem
˛
jednostkowym, model wybucha.
Co sie˛ dzieje, jeśli jakiś pierwiastek leży na okregu
˛
jednostkowym? Model jest
niestacjonarny, ale czy możemy jakoś sobie z tym poradzić?
6. Liniowe modele niestacjonarne
2
Trendy liniowe
Rozważmy proces
yn+1 = yn + αηn
(3)
Proces ten jest niestacjonarny, równanie (2) ma dla niego postać λ − 1 = 0, ale
szereg pierwszych różnic jest stacjonarny:
(1)
zn
≡ yn+1 − yn = αηn
(4)
jest stacjonarny!
Ogólnie, jeśli zbudowany ze współczynników procesu wielomian wystepuj
˛ acy
˛
w równaniu (2) ma postać (λ − 1)Bp(λ), gdzie Bp jest wielomianem stopnia
p, majacym
˛
wszystkie pierwiastki wewnatrz
˛ okregu
˛
jednostkowego, proces taki
nazywamy procesem ARIMA(1,p,0). Proces taki ma (lokalny) trend liniowy.
6. Liniowe modele niestacjonarne
3
Trendy kwadratowe
Podobnie, jeśli zbudowany ze współczynników procesu wielomian wystepuj
˛ acy
˛
w równaniu (2) ma postać (λ − 1)2Bp(λ), gdzie Bp jest wielomianem stopnia
p, majacym
˛
wszystkie pierwiastki wewnatrz
˛ okregu
˛
jednostkowego, proces taki
nazywamy procesem ARIMA(2,p,0). Proces taki ma (lokalny) trend kwadratowy.
Szereg jego drugich różnic jest stacjonarny.
Przykład:
yn+1 = 2yn − yn−1 + α0ηn
(1)
zn
(1)
≡ yn+1 − yn = zn−1 + α0ηn
(2)
(1)
(1)
zn ≡ zn − zn−1 = α0ηn
6. Liniowe modele niestacjonarne
(5a)
(5b)
(5c)
4
Przykład szeregu z trendem liniowym
10
0
-10
-20
-30
-40
-50
-60
-70
-80
time series
first differences
-90
0
64
128
192
256
320
384
448
512
Niestacjonarny szereg czasowy i stacjonarny szereg pierwszych różnic
6. Liniowe modele niestacjonarne
5
Przykład szeregu z trendem kwadratowym
6000
5000
4000
3000
2000
1000
time series
0
0
64
128
192
256
320
384
448
512
Niestacjonarny szereg czasowy
6. Liniowe modele niestacjonarne
6
40
30
20
10
0
-10
-20
first differences
second differences
-30
0
64
128
192
256
320
384
448
512
Niestacjonarny szereg pierwszych różnic szeregu z poprzedniego rysunku
i stacjonarny szereg drugich różnic
6. Liniowe modele niestacjonarne
7
“Empiryczny” sposób postepowania
˛
Jeśli domyślamy sie,
˛ że badany szereg czasowy może mieć trend
liniowy, badamy szereg jego pierwszych różnic. Jeśli szereg
pierwszych różnic jest niestacjonarny, badamy szereg drugich
różnic.
W praktycznych zastosowaniach szeregi z trendami liniowymi
i kwadratowymi na ogół wystarczaja,
˛ możemy sie˛ wiec
˛ ograniczyć
do badania pierwszych i drugich różnic.
6. Liniowe modele niestacjonarne
8
Przykład szeregu z trendem sześciennym (nierealistyczny)
400000
300000
200000
100000
0
-100000
time series
-200000
-300000
0
64
128
192
256
3000
30
2000
20
1000
10
0
0
-1000
-10
-2000
-20
-3000
320
384
448
512
-30
first differences
-4000
-40
-5000
-50
0
64
128
6. Liniowe modele niestacjonarne
192
256
320
384
448
512
second differences
third differences
0
64
128
192
256
320
384
448
512
9
Dopasowywanie modelu
• Z niestacjonarnego szeregu czasowego tworzymy stacjonarny szereg pierwszych, ewentualnie drugich różnic.
• Do stacjonarnego szeregu różnic dopasowujemy model ARMA(p,q).
• Wyjściowy szereg jest wówczas procesem typu ARIMA(p,d,q), gdzie d oznacza rzad
˛ różnicy, jaki był potrzebny do uzyskania szeregu stacjonarnego.
• “I” w nazwie ARIMA oznacza “Integrated” — wycałkowany, czyli wysumowany.
6. Liniowe modele niestacjonarne
10
Przykład
1.0
0.5
0.0
-0.5
-1.0
-1.5
-2.0
0
128
256
384
512
640
768
896
1024
0
128
256
384
512
640
768
896
1024
0.5
0.0
-0.5
Niestacjonarny szereg czasowy i stacjonarny szereg pierwszych różnic
6. Liniowe modele niestacjonarne
11
1
0.5
0
-0.5
-1
0
2
4
6
8
10
12
14
16
Funkcja korelacji ρk i funkcja korelacji czastkowej
˛
ϕkk dla szeregu pierwszych
różnic z poprzedniego rysunku. Uznajemy, iż ϕ33 ' 0.
6. Liniowe modele niestacjonarne
12
Ponieważ ϕ33 ' 0, przyjmujemy, że szereg pierwszych różnic jest procesem AR(p = 2). Z równań Yule’a-Walkera obliczamy β1 = −0.849523,
β2 = −0.165224. Wielomian określajacy
˛ stabilność szeregu pierwszych różnic dany jest przez λ2 −β1λ−β2, a wobec tego wielomian określajacy
˛ stabilność
przecałkowanego procesu dany jest przez (λ − 1)(λ2 − β1λ − β2), a zatem badany proces jest procesem ARIMA(2,1,0). Nateżenie
˛
szumu szacujemy liczac
˛
pierwiastek z wariancji szeregu pierwszych różnic. Ostatecznie dla badanego
procesu otrzymujemy
yn+1 = 0.150477 yn + 0.684299 yn−1 + 0.165224 yn−2 + 0.189055 ηn
(6)
Proces, którego użyto do wygenerowania tego przykładu, miał postać
yn+1 = 0.166667 yn + 0.666667 yn−1 + 0.166667 yn−2 + 0.125000 ηn
6. Liniowe modele niestacjonarne
13
Gdy szum jest silniejszy, sytuacja może sie˛ pogorszyć
12.0
10.0
8.0
6.0
4.0
2.0
0.0
-2.0
-4.0
64
128
192
256
320
384
448
512
576
640
704
768
832
896
960 1024
64
128
192
256
320
384
448
512
576
640
704
768
832
896
960 1024
2.0
1.0
0.0
-1.0
-2.0
Niestacjonarny szereg czasowy i stacjonarny szereg pierwszych różnic
6. Liniowe modele niestacjonarne
14
1
0.5
0
-0.5
-1
0
2
4
6
8
10
12
14
16
Funkcja korelacji ρk i funkcja korelacji czastkowej
˛
ϕkk dla szeregu pierwszych
różnic z poprzedniego rysunku.
6. Liniowe modele niestacjonarne
15
W tym wypadku też moglibyśmy na oko uznać, że ϕ33 ' 0, a zatem, że szereg pierwszych różnic można opisać procesem AR(2). Ale czy istnieje jakieś
kryterium pozwalajace
˛ rozstrzygnać
˛ o rz˛edzie modelu?
6. Liniowe modele niestacjonarne
16
Kryterium Akaike
AIC — Akaike Information Criterion
Jest jasne, że jeśli do danych dopasowujemy różne model, dopasowanie bedzie
˛
tym lepsze, im wiecej
˛
swobodnych parametrów bedziemy
˛
mieli do dyspozycji.
Z drugiej strony modele ze zbyt duża˛ liczba˛ swobodnych parametrów sa˛ uważane za niedobre. Powinniśmy wiec
˛ jednocześnie nagradzać dobre dopasowanie i „karać” za zbyt wiele parametrów. Zakładamy, że błedy
˛ pochodza˛ z rozkładu
normalnego i że dopasowanie przeprowadzamy metoda˛ najmniejszych kwadratów.
6. Liniowe modele niestacjonarne
17
p
N
gdzie Q jest rezydualnym błedem:
˛
Przy dopasowywaniu modelu AR(p),
AIC = ln Q + 2

Q=
X
n
zn −
p
X
(7)
2
βj zn−j 
(8)
j=1
p
gdzie {βj }j=1 sa˛ dopasowanymi parametrami dla procesu rz˛edu p. Im wyższe
p, tym, potencjalnie, mniejsze Q, ale zarazem tym wiekszy
˛
jest człon 2p/N .
Dobieramy takie p, aby AIC było najmniejsze.
Uwaga: gdyby błedy
˛ nie pochodziły z rozkładu normalnego, trzebaby przyjać
˛ inna˛ definicje˛ AIC.
6. Liniowe modele niestacjonarne
18
6.6
6.5
6.4
AIC
6.3
6.2
6.1
6
5.9
5.8
4
8
12
16
20
24
28
32
p
Kryterium Akaike sugeruje użycie modelu AR(6).
6. Liniowe modele niestacjonarne
19
Dla n = 6 otrzymalibyśmy β1 = −0.832051, β2 = −0.181079, β3 =
0.0407839, β4 = 0.0650440, β5 = 0.0504210, β6 = 0.0310754, a zatem wyjściowy szereg byłby procesem ARIMA(6,1,0) o parametrach
yn+1 = 0.167949 yn
+ 0.650972 yn−1 + 0.221863 yn−2
+ 0.024260 yn−3 − 0.014620 yn−4 − 0.081496 yn−5
− 0.031075 yn−6 + 0.700224 ηn
(9)
Dla porównania, przyjecie
˛
p = 2 daje β1 = −0.831124, β2 = −0.189943
i dalej ARIMA(2,1,0):
yn+1 = 0.168876 yn + 0.641181 yn−1 + 0.189943 yn−2 + 0.700224 ηn
(10)
co jest nieco gorszym przybliżeniem idealnych parametrów użytych do wygenerowania szeregu.
6. Liniowe modele niestacjonarne
20
Kryterium Akaike w “zwykłej” metodzie najmniejszych kwadratów
6
dane
generating function
5
4
y(x)
3
2
1
0
-1
0.0
0.5
1.0
1.5
2.0
x
2.5
3.0
3.5
4.0
Punkty wygenerowane według wzoru
yn = 0.125 x3n + 0.25 x2n − 2.5 xn + 3.0 + 0.5 ηn
6. Liniowe modele niestacjonarne
(11)
21
6
dane
2
1.00276 x - 3.71561 x + 3.45878
3
AIC = 1.003000
2
0.116057 x + 0.28466 x - 2.51242 x + 3.01371
5
4
3
AIC = 0.743705
2
-0.00220287 x + 0.134231 x + 0.235956 x - 2.46613 x + 3.00285
AIC = 0.806068
4
y(x)
3
2
1
0
-1
0.0
0.5
1.0
1.5
2.0
x
2.5
3.0
3.5
4.0
Wyniki dopasowania
Dopasowane krzywe trzeciego i czwartego stopnia — w skali rysunku nierozróżnialne
6. Liniowe modele niestacjonarne
22
Szeregi sezonowe
Staramy sie˛ zidentyfikować okres, po czym tworzymy szereg odpowiednich różnic
3
szereg
szereg 32-gich roznic
2
yn
1
0
-1
-2
-3
0
100
200
300
400
500
n
Do stacjonarnego szeregu różnic dopasowujemy jakiś model ARMA
6. Liniowe modele niestacjonarne
23