Analiza Szeregów Czasowych/Techniki analizy szeregów czasowych

Z Skrypty dla studentów Ekonofizyki UPGOW

(Różnice między wersjami)
(Estymacja parametrów modeli)
(Metoda Yule-Walkera)
Linia 29: Linia 29:
====Metoda Yule-Walkera====
====Metoda Yule-Walkera====
 +
Niech <math> \{ X_t \} \ </math> będzie procesem AR(p) o średniej zerowej
 +
: <math> X_t - \varphi_1 X_{t-1} - \dots - \varphi_p X_{t-p} = Z_t, ~~Z_t \sim BS(0, \sigma^2). </math>
 +
Postaramy się teraz oszacować <math> \bar{\varphi} </math> oraz <math> \sigma^2 </math>.
 +
 +
Korzystając z założenia, że <math> \{ X_t \} \ </math> jest losowy <math> \big( X_t = \sum \Psi_j Z_{t-j} \ \big),</math> otrzymujemy równania Yole - Walkera
 +
: <math>
 +
\begin{align}
 +
\Gamma_p \bar{\varphi} &= \gamma_p \\
 +
\sigma^2 &= \gamma(0) - \bar{\varphi}' \gamma_p
 +
\end{align}
 +
</math>
 +
gdzie
 +
: <math> \Gamma_p = [\gamma(i-j)]_{i,j=1}^p </math> - macierz kowariancji,
 +
: <math> \gamma_p = (\gamma(1), \gamma(2), \dots, \gamma(p) )'. </math>
 +
Z równań tych możemy łatwo oszacować <math> \gamma(0), \dots, \gamma(p) </math> znając <math> \sigma^2, \bar{\varphi} </math>. Z drugiej strony, jeżeli zamienimy występujące tutaj funkcje autokowariancji na odpowiednie funkcje autokowariancji ''próby'' otrzymamy '''estymatory Yule-Walkera'''
 +
: <math>
 +
\begin{align}
 +
\hat{\Gamma}_p \hat{\varphi} &= \hat{\gamma}_p, \\
 +
\hat{\sigma}^2 &= \hat{\gamma}(0) - \hat{\varphi}' \hat{\gamma}_p,
 +
\end{align}
 +
</math>
 +
gdzie odpowiednie
 +
: <math> \hat{\Gamma}_p = [\hat{\gamma}(i-j)]_{i,j=1}^p </math> - macierz kowariancji próby,
 +
: <math> \hat{\gamma}_p = (\hat{\gamma}(1), \hat{\gamma}(2), \dots, \hat{\gamma}(p) )' </math> - wektor kowariancji próby.
 +
 +
Jeżeli tylko <math> \hat{\gamma}(0) > 0 </math> to możemy podzielić obie strony przez <math> \hat{\gamma}(0) </math> i otrzymamy wtedy
 +
====Algorytm Durbina - Levinsona====
====Algorytm Durbina - Levinsona====
====Algorytm Burga====
====Algorytm Burga====

Wersja z 15:57, 29 gru 2010

Analiza Szeregów Czasowych
<<< Modelowanie szeregów czasowych | Matlab / GNU Octave >>>

Spis treści


Estymacja parametrów modeli

Szacowanie parametrów modeli rządzących szeregami czasowymi to niełatwe zagadnienie. Jest to również przedostatni krok w analizie szeregów czasowych. Ostatnim krokiem jest predykcja przyszłych wartości szeregu w oparciu o dane posiadane. ,

Aby oszacować jaki to model ARMA(p,q) stoi za analizowanym szeregiem czasowym musimy wykonać kilka kroków

  • jakie p i q należy wybrać
  • oszacować średnią oraz współczynniki AR \( \varphi_i \ \) oraz MA \( \theta_j \ \), i=1,...,p, j=1,...,q,
  • oszacować wariancję szumu \(\sigma^2 \ \) dla wybranych parametrów,
  • sprawdzić poprawność wybranego modelu (najlepiej dla różnych zestawów parametrów p i q).

Ostateczna decyzja, czy dany model dobrze reprezentuje dane zależy od kilku możliwych testów.

Zakładamy obecnie, że fitować będziemy model ARMA do danych których średnia wynosi 0

\( \langle X_t \rangle = EX_t = 0. \)

Jeżeli \( \{ Y_t \} \) oznacza oryginalne dane, to \( X_t = Y_t - EY_t \).

Będziemy dopasowywać dane do modelu

\( X_t - \varphi_1X_{t-1} - \dots - \varphi_p X_{t-p} = Z_t + \theta_1Z_{t-1} - \dots - \varphi_q Z_{t-q}, \{ Z_t \} = BS(0,\sigma^2) \ \)

Czyli dla wybranych przez na p i q celem będzie znalezienie wektorów \( \bar{\varphi} = (\varphi_1, \dots, \varphi_p) \) oraz \( \bar{\theta} = (\theta_1, \dots, \theta_q) \).

AR

W przypadku, gdy posiadane dane mogą być przybliżone poprzez model autoregresji rzędu p (tj: q = 0), dość dobrym estymatorem wektora \( \bar{\varphi} \) okazuje się być prosty algorytm porównujący autokowariancję próby oraz teoretyczną wyliczoną z modelu AR(p). Metoda ta nosi nazwę Yule-Walkera.

Metoda Yule-Walkera

Niech \( \{ X_t \} \ \) będzie procesem AR(p) o średniej zerowej

\( X_t - \varphi_1 X_{t-1} - \dots - \varphi_p X_{t-p} = Z_t, ~~Z_t \sim BS(0, \sigma^2). \)

Postaramy się teraz oszacować \( \bar{\varphi} \) oraz \( \sigma^2 \).

Korzystając z założenia, że \( \{ X_t \} \ \) jest losowy \( \big( X_t = \sum \Psi_j Z_{t-j} \ \big),\) otrzymujemy równania Yole - Walkera

\( \begin{align} \Gamma_p \bar{\varphi} &= \gamma_p \\ \sigma^2 &= \gamma(0) - \bar{\varphi}' \gamma_p \end{align} \)

gdzie

\( \Gamma_p = [\gamma(i-j)]_{i,j=1}^p \) - macierz kowariancji,
\( \gamma_p = (\gamma(1), \gamma(2), \dots, \gamma(p) )'. \)

Z równań tych możemy łatwo oszacować \( \gamma(0), \dots, \gamma(p) \) znając \( \sigma^2, \bar{\varphi} \). Z drugiej strony, jeżeli zamienimy występujące tutaj funkcje autokowariancji na odpowiednie funkcje autokowariancji próby otrzymamy estymatory Yule-Walkera

\( \begin{align} \hat{\Gamma}_p \hat{\varphi} &= \hat{\gamma}_p, \\ \hat{\sigma}^2 &= \hat{\gamma}(0) - \hat{\varphi}' \hat{\gamma}_p, \end{align} \)

gdzie odpowiednie

\( \hat{\Gamma}_p = [\hat{\gamma}(i-j)]_{i,j=1}^p \) - macierz kowariancji próby,
\( \hat{\gamma}_p = (\hat{\gamma}(1), \hat{\gamma}(2), \dots, \hat{\gamma}(p) )' \) - wektor kowariancji próby.

Jeżeli tylko \( \hat{\gamma}(0) > 0 \) to możemy podzielić obie strony przez \( \hat{\gamma}(0) \) i otrzymamy wtedy

Algorytm Durbina - Levinsona

Algorytm Burga

MA

Dla przypadków, gdy q > 0 metoda zaprezentowana wcześniej nie do końca zdaje egzamin. W tym przypadku posługujemy się algorytmem innowacyjnym.

Algorytm innowacyjny

ARMA

Rekurencyjny algorytm dopasowania ARMA

Estymacja modelem maximum Likelihood

Testy

AICC

Prognoza