Stacjonarność

Analiza szeregów czasowych w Pythonie

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Czym jest stacjonarność?

  • Stacjonarność silna: cały rozkład danych jest niezmienny w czasie
  • Stacjonarność słaba: średnia, wariancja i autokorelacja są niezmienne w czasie (tj. corr$\large (X_t, X_{t-\tau})$ jest funkcją wyłącznie $\large \tau$)
Analiza szeregów czasowych w Pythonie

Dlaczego to ważne?

  • Jeśli parametry zmieniają się w czasie, jest ich zbyt wiele do oszacowania
  • Można szacować jedynie modele oszczędne z niewielką liczbą parametrów
Analiza szeregów czasowych w Pythonie

Przykłady szeregów niestacjonarnych

  • Błądzenie losowe
Analiza szeregów czasowych w Pythonie

Przykłady szeregów niestacjonarnych

  • Sezonowość w szeregu
Analiza szeregów czasowych w Pythonie

Przykłady szeregów niestacjonarnych

  • Zmiana średniej lub odchylenia standardowego w czasie
Analiza szeregów czasowych w Pythonie

Przekształcanie szeregów niestacjonarnych w stacjonarne

  • Błądzenie losowe
    plot.plot(SPY)
    
  • Pierwsze różnicowanie
    plot.plot(SPY.diff())
    
Analiza szeregów czasowych w Pythonie

Przekształcanie szeregów niestacjonarnych w stacjonarne

  • Sezonowość
    plot.plot(HRB)
    
  • Różnicowanie sezonowe
    plot.plot(HRB.diff(4))
    
Analiza szeregów czasowych w Pythonie

Przekształcanie szeregów niestacjonarnych w stacjonarne

  • Kwartalne przychody AMZN
    plt.plot(AMZN)
    
# Log of AMZN Revenues
plt.plot(np.log(AMZN))

# Log, then seasonal difference
plt.plot(np.log(AMZN).diff(4))

Analiza szeregów czasowych w Pythonie

Czas na ćwiczenia!

Analiza szeregów czasowych w Pythonie

Preparing Video For Download...