background image

Modele autoregresyjne z uwzględnieniem opóźnień

zmiennej zależnej

Anna Włódarczak

19 maja 2015

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Przypomnienie

Modele autoregresyjne

Modele określające związek funkcyjny między wartościami zmiennej
prognozowanej w okresie t, a wartościami tej samej zmiennej z
okresów poprzednich t − 1− 2, . . . , − p z dokładnością do
składnika losowego.

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Postać modelu

Modele autoregresyjne możemy zapisać w postaci:

Y

t

= f (Y

t1

Y

t2

, . . . , Y

tp

, ξ

t

)

Przyjmuje się, że funkcja f jest liniowa:

Y

t

α

0

+

p

X

i =1

α

i

Y

ti

ξ

t

albo nieliniowa sprowadzalna do postaci logarytmiczno-liniowej:

Y

t

α

0

·

p

Y

i =1

Y

α

i

ti

· ξ

t

ln Y

t

α

0

+

p

X

i =1

α

i

ln Y

ti

ξ

t

.

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Postać modelu

Uwaga

Oczywiście nie zawsze możemy korzystać ze zlogarytmowanych
wartości szeregu. Przykładem jest szereg o wartościach
niedodatnich.

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Metoda najmniejszych kwadratów

Parametry modelu szacujemy wykorzystując metodę najmniejszych
kwadratów.

y =





ln(y )

p+1

ln(y )

p+2

..

.

ln(y )

n





,

α =





α

0

α

1

..

.

α

p





,

ξ =





ξ

p+1

ξ

p+2

..

.

ξ

n





,

X =





1

ln(y )

p

ln(y )

p1

· · ·

ln(y )

1

1

ln(y )

p+1

ln(y )

p

· · ·

ln(y )

2

..

.

..

.

..

.

· · ·

..

.

1

ln(y )

n1

ln(y )

n2

· · ·

ln(y )

np





.

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Metoda najmniejszych kwadratów

Używając tych oznaczeń możemy zapisać model w postaci:

y = X α ξ.

Stosując metodę najmniejszych kwadratów otrzymujemy wektor
wartości poszukiwanych parametrów:

Z = (X

0

X )

1

X

0

y.

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Metoda najmniejszych kwadratów

Macierz wariancji i kowariancji estymatorów parametrów modelu
liniowego dana jest wzorem:

var (

Z) = s

2

e

(

X

0

X )

1

,

Przy czym wariancja resztowa jest równa:

s

2

e

=



0



− − (p + 1)

.

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Obliczanie prognoz

Prognozy obliczamy sekwencyjnie, tzn. do obliczenia prognozy na
okres n + h korzystamy z prognozy na okres n + h − 1, czyli:

ln(y )

P
T

=

cZ = [1 ln(y)

1

ln(y )

2

. . . ln(y )

p

]





a

0

a

1

..

.

a

p





,

przy czym:

gdy prognozujemy na okrs T = n + 1, wektor
c = [1 ln(y)

n

ln(y )

n1

. . . ln(y )

np+1

],

gdy prognozujemy na okrs T = n + 2, wektor
c = [1 ln(y)

P

n+1

ln(y )

n

. . . ln(y )

np+2

],

gdy prognozujemy na okrs T = n + 3, wektor
c = [1 ln(y)

P

n+2

ln(y )

P

n+1

. . . ln(y )

np+3

],

itd.

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Ocena błędu predykcji

Ocenę średniego błędu predykcji ex ante na okres T wyznacza się
na podstawie wzoru:

s

D

T

=

q

s

2

e

[1 +

c(X

0

X )

1

c

0

].

Błąd względny obliczany jest z wzoru:

V

D

T

=

S

D

T

|Y

P

T

|

i wyrażany jest w procentach.

Należy pamiętać, że prognozy są zlogarytmowanymi wartościami,
więc na końcu należy usunąć z nich logarytm.

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Jak logarytmować?

Mamy kilka metod na wykonanie logarytmowania zmiennych.
Pierwsza z nich to zwykły DATA STEP:

data nowy.zbior;
set nasz.zbior;
zmienna.zlogarytmowana=log(nasza.zmienna);
run;

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Jak logarytmować?

Druga to logarytmowanie w SAS Guide.

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Jak logarytmować?

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Jak logarytmować?

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Jak logarytmować?

Trzeci sposób to logarytmowanie w proc IML, które odbywa się na
podobnej zasadzie jak w pierwszej metodzie:

proc iml;
use nasz.zbior;
read all;
zmienna.zlogarytmowana=log(nasza.zmienna);
...
quit;

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Aby przeprowadzić analizę modelu pod kątem odnalezienia
współczynników α

i

możemy wszystko wyklikać w sas guide, użyć

procedur arima, reg lub autoreg albo skorzystać z metody
najmniejszych kwadratów w proc iml.

Kod do proc iml znajduje się w pliku IMLlog.sas.

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Makro wyrzuca postać macierzy

X , y, Z, wariancję resztową

(warreszt), macierz wariancji i kowariancji (VAR), prognozy
(prognozal), średnie błędy ocen prognoz (SDT) oraz względne
błędy prognoz (VDT) dla zlogarytmowanych wartości (!) oraz
wartości prognozowane po usunięciu logarytmu (prognoza).

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Makro-fragmenty

Omówimy tutaj końcówkę kodu, czyli obliczanie prognoz.

Q1=Q[1,ncol(Q)-(nrow(Z)-2):ncol(Q)];
do w=1 to ncol(Q1);
P1=j(1,ncol(Q1),0);

do j=1 to ncol(Q1);

P1[1,j]=Q1[1,ncol(Q1)-(j-1)];

end;

end;

Tworzymy macierz Q1 z kilku ostatnich elementów macierzy Q
(wierszowy wektor wartości naszego szeregu), a następnie
tworzymy wektor P1, który jest macierzą Q1 ze zmienioną
kolejnością elementów.

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Makro-fragmenty

PR=j(1,&T,0);
SE=j(1,&T,0);
VE=j(1,&T,0);

Tworzymy trzy zerowe macierze jednowierszowe, a ilość ich kolumn
zależy od parametru T (ilości prognoz, które chcemy wyliczyć).

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Makro-fragmenty

do d=1 to &T;

JE={1}||P1;
JED=JE*Z;
PR[1,d]=JED;
SED=sqrt(warreszt*(1+JE*inv(X‘*X)*JE‘));
SE[1,d]=SED;
VE[1,d]=100*SE[1,d]/abs(PR[1,d]);

if nrow(Z)=2 then do;

P1=JED;

end;
else do;

P2=P1[1,1:(nrow(Z)-2)];
P1=JED||P2;

end;

end;

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Makro-fragmenty

W pętli dołączamy do macierzy P1 jedynkę, obliczamy prognozę, a
wynik podmieniamy z jednym z elementów pierwszej macierzy.
Podobnie obliczamy oceny ex ante błędów predykcji i wstawiamy je
w miejsce zer do drugiej i trzeciej macierzy. Na końcu wyrzucamy z
macierzy P1 ostatnią wartość i dorzucamy do niej obliczoną
prognozę i powtarzamy przez tyle kroków, ile prognoz sobie
zażyczyliśmy.

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Makro-fragmenty

prognozal=PR‘;
SDT=SE‘;
VDT=VE‘;
prognoza=exp(prognozal);
Print prognozal SDT VDT;
Print prognoza;

Ponieważ wolimy prognozy pokazane w macierzy kolumnowej, więc
transponujemy macierze PR, SE i VE , a następnie usuwamy
logarytmowanie z macierzy prognozal . Umieszczenie macierzy
prognozal , SDT i VDT w jednym „princie” spowoduje, że
macierze będą połączone.

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Makro wywołujemy poprzez komendę
%nazwa.makra(wart.parametru1wart.parametru2, . . .).
Parametrami są: ścieżka do zbioru (z pozamienianymi / na \),
nazwa zmiennej, opóźnienie p i ilość prognoz, jakie chcemy
wywołać.

Należy pamiętać, że w przeciwieństwie do sas base, sas guide nie
zapisuje makra w osobnym katalogu, więc za każdym razem
musimy cały kod (makro jak i jego wywołanie) kompilować od
nowa.

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Przykład

Nasze dane to miesięczne notowania akcji Citigroup od lipca 2012
roku do maja 2015.

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Przykład

Na początku sprawdzimy, czy zlogarytmowany szereg jest
stacjonarny. Importujemy zbiór do SAS Guide i tworzymy zmienną
zlogarytmowaną. Następnie wchodzimy w Analizuj→ Szereg
czasowyModelowanie i prognozowanie ARIMA. Jako zmienną
szeregu czasowego wstawiamy zmienną zlogarytmowaną; w
zakładce testy stacjonarności zaznaczamy ’Wykonuj rozszerzone
testy Dickeya-Fullera’.

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Przykład

Test wykazał, że szereg zlogarytmowany jest stacjonarny na
poziomie α = 01, zatem możemy przystąpić do prognozowania.

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Przykład

Aby określić rząd autoregresji korzystamy z pliku IMLSR.sas , w
którym znajduje się kod na wywołanie funkcji SR. Parametrami
makra są: ścieżka do pliku, nazwa zmiennej i ilość iteracji, jakie ma
wykonać pętla. Przyjmiemy, że będzie to 8.

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Przykład

Rząd autoregresji obliczony ze wzoru to 2 i taką wartość wpisujemy
do makra IMLlog. Jako wartość T wybierzemy 5.

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Przykład

W górnej tabelce mamy prognozy dla zlogarytmowanych wartości
szeregu wraz z ocenami błędów. Błędy względne są rzędu 1.3%,
więc prognoza jest udana.

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej

background image

Dziękuję za uwagę!

Anna Włódarczak

Modele autoregresyjne z uwzględnieniem opóźnień zmiennej zależnej