Introduktion till tidsserier och stationäritet

ARIMA-modeller i Python

James Fulton

Climate informatics researcher

Motivation

Tidsserier finns överallt

  • Vetenskap
  • Teknik
  • Näringsliv
  • Finans
  • Politik
ARIMA-modeller i Python

Kursinnehåll

Du kommer att lära dig

  • Struktur hos ARIMA-modeller
  • Hur man anpassar en ARIMA-modell
  • Hur man optimerar modellen
  • Hur man gör prognoser
  • Hur man beräknar osäkerhet i förutsägelser
ARIMA-modeller i Python

Läsa in och plotta

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
ARIMA-modeller i Python

Trend

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

ARIMA-modeller i Python

Säsongsvariation

ARIMA-modeller i Python

Cykliskhet

ARIMA-modeller i Python

Vitbrus

Vitbrusserier har okorrelerade värden

  • Krona, krona, krona, klave, krona, klave, ...
  • 0,1, -0,3, 0,8, 0,4, -0,5, 0,9, ...
ARIMA-modeller i Python

Stationäritet

Stationär

  • Trendstationär: Trenden är noll

Inte stationär

ARIMA-modeller i Python

Stationäritet

Stationär

  • Trendstationär: Trenden är noll
  • Variansen är konstant

Inte stationär

ARIMA-modeller i Python

Stationäritet

Stationär

  • Trendstationär: Trenden är noll
  • Variansen är konstant
  • Autokorrelationen är konstant

Inte stationär

ARIMA-modeller i Python

Tränings- och testuppdelning

# 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':]
ARIMA-modeller i Python

Nu kör vi en övning!

ARIMA-modeller i Python

Preparing Video For Download...