Wprowadzenie do szeregów czasowych i stacjonarności

Modele ARIMA w Pythonie

James Fulton

Climate informatics researcher

Motywacja

Szeregi czasowe są wszędzie

  • Nauka
  • Technologia
  • Biznes
  • Finanse
  • Polityka
Modele ARIMA w Pythonie

Zawartość kursu

Nauczysz się

  • Struktury modeli ARIMA
  • Jak dopasować model ARIMA
  • Jak optymalizować model
  • Jak tworzyć prognozy
  • Jak obliczać niepewność prognoz
Modele ARIMA w Pythonie

Wczytywanie i wizualizacja

import pandas as pd
import matplotlib as plt

df = pd.read_csv('time_series.csv', index_col='date', parse_dates=True)
date            values
2019-03-11    5.734193    
2019-03-12    6.288708    
2019-03-13    5.205788    
2019-03-14    3.176578
Modele ARIMA w Pythonie

Trend

fig, ax = plt.subplots()
df.plot(ax=ax)
plt.show()

Modele ARIMA w Pythonie

Sezonowość

Modele ARIMA w Pythonie

Cykliczność

Modele ARIMA w Pythonie

Biały szum

Szereg białego szumu ma nieskorelowane wartości

  • Orzeł, orzeł, orzeł, reszka, orzeł, reszka, ...
  • 0.1, -0.3, 0.8, 0.4, -0.5, 0.9, ...
Modele ARIMA w Pythonie

Stacjonarność

Stacjonarny

  • Stacjonarny trendowo: trend wynosi zero

Niestacjonarny

Modele ARIMA w Pythonie

Stacjonarność

Stacjonarny

  • Stacjonarny trendowo: trend wynosi zero
  • Wariancja jest stała

Niestacjonarny

Modele ARIMA w Pythonie

Stacjonarność

Stacjonarny

  • Stacjonarny trendowo: trend wynosi zero
  • Wariancja jest stała
  • Autokorelacja jest stała

Niestacjonarny

Modele ARIMA w Pythonie

Podział na zbiór treningowy i testowy

# Train data - all data up to the end of 2018
df_train = df.loc[:'2018']

# Test data - all data from 2019 onwards
df_test = df.loc['2019':]
Modele ARIMA w Pythonie

Czas na ćwiczenia!

Modele ARIMA w Pythonie

Preparing Video For Download...