Funkcja autokorelacji

Analiza szeregów czasowych w Pythonie

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Funkcja autokorelacji

  • Funkcja autokorelacji (ACF): autokorelacja jako funkcja opóźnienia
  • Równa jeden dla opóźnienia zerowego
  • Przydatne informacje dla opóźnień większych niż jeden
Analiza szeregów czasowych w Pythonie

Przykład ACF 1: Prosta funkcja autokorelacji

  • Do prognozowania można użyć dwóch ostatnich wartości szeregu
Analiza szeregów czasowych w Pythonie

Przykład ACF 2: Sezonowe zarobki

  • Zarobki H&R Block
  • ACF dla H&R Block
Analiza szeregów czasowych w Pythonie

Przykład ACF 3: Przydatna przy wyborze modelu

  • Wybór modelu

Analiza szeregów czasowych w Pythonie

Wykres ACF w Pythonie

  • Importowanie modułu:
    from statsmodels.graphics.tsaplots import plot_acf
    
  • Wykres ACF:
    plot_acf(x, lags= 20, alpha=0.05)
    
Analiza szeregów czasowych w Pythonie

Przedział ufności ACF

Analiza szeregów czasowych w Pythonie

Przedział ufności ACF

  • Argument alpha określa szerokość przedziału ufności
  • Przykład: alpha=0.05
    • 5% szansa, że przy zerowej autokorelacji wartość wypadnie poza niebieski pas
  • Pasma ufności są szersze, gdy:
    • Alpha jest mniejsza
    • Mniej obserwacji
  • Przy uproszczonych założeniach 95% pasma ufności wynoszą $\pm 2/\sqrt{N}$
  • Aby ukryć pasma, należy ustawić alpha=1
Analiza szeregów czasowych w Pythonie

Wartości ACF zamiast wykresu

from statsmodels.tsa.stattools import acf
print(acf(x))
[ 1.         -0.6765505   0.34989905 -0.01629415 -0.02507013  0.01930354
 -0.03186545  0.01399904 -0.03518128  0.02063168 -0.02620646 -0.00509828
...
  0.07191516 -0.12211912  0.14514481 -0.09644228  0.05215882]
Analiza szeregów czasowych w Pythonie

Czas na ćwiczenia!

Analiza szeregów czasowych w Pythonie

Preparing Video For Download...