Automatiseren en opslaan

ARIMA-modellen in Python

James Fulton

Climate informatics researcher

Zoeken naar modelorders

import pmdarima as pm
results = pm.auto_arima(df)
Stapsgewijze zoekopdracht om aic te minimaliseren
 ARIMA(2,0,2)(1,1,1)[12] intercept   : AIC=inf, Tijd=3.33 sec
 ARIMA(0,0,0)(0,1,0)[12] intercept   : AIC=2648.467, Tijd=0.062 sec
 ARIMA(1,0,0)(1,1,0)[12] intercept   : AIC=2279.986, Tijd=1.171 sec

 ...

 ARIMA(3,0,3)(1,1,1)[12] intercept   : AIC=2173.508, Tijd=12.487 sec
 ARIMA(3,0,3)(0,1,0)[12] intercept   : AIC=2297.305, Tijd=2.087 sec

Beste model:  ARIMA(3,0,3)(1,1,1)[12]
Totale fittijd: 245.812 seconden
ARIMA-modellen in Python

pmdarima-resultaten

print(results.summary())

results.plot_diagnostics()

ARIMA-modellen in Python

Niet-seizoensgebonden zoekparameters

ARIMA-modellen in Python

Niet-seizoensgebonden zoekparameters

results = pm.auto_arima( df,             # data

d=0, # orde van niet-seizoensverschil
start_p=1, # startwaarde voor p start_q=1, # startwaarde voor q
max_p=3, # max. waarde van p om te testen max_q=3, # max. waarde van q om te testen )
1 https://www.alkaline-ml.com/pmdarima/modules/generated/pmdarima.arima.auto_arima.html
ARIMA-modellen in Python

Seizoensparameters voor zoekopdracht

results = pm.auto_arima( df,             # data
                         ... ,          # niet-seizoensgebonden argumenten 
                         seasonal=True,  # is de tijdreeks seizoensgebonden?

m=7, # de seizoensperiode
D=1, # orde van seizoensverschil
start_P=1, # startwaarde voor P start_Q=1, # startwaarde voor Q
max_P=2, # max. waarde van P om te testen max_Q=2, # max. waarde van Q om te testen )
ARIMA-modellen in Python

Overige parameters

results = pm.auto_arima( df,                     # data    
                         ... ,                   # modelorde-parameters     

information_criterion='aic', # criterium voor beste model
trace=True, # print resultaten tijdens training
error_action='ignore', # negeer niet-werkende orders
stepwise=True, # slimme zoekstrategie )
ARIMA-modellen in Python

Modelobjecten opslaan

# Importeren
import joblib 
# Kies een bestandspad
filepath ='localpath/great_model.pkl'

# Model opslaan naar pad
joblib.dump(model_results_object, filepath)
ARIMA-modellen in Python

Modelobjecten opslaan

# Kies een bestandspad
filepath ='localpath/great_model.pkl'

# Modelobject laden vanaf pad
model_results_object = joblib.load(filepath) 
ARIMA-modellen in Python

Model bijwerken

# Nieuwe observaties toevoegen en parameters bijwerken
model_results_object.update(df_new)
ARIMA-modellen in Python

Vergelijking van updates

ARIMA-modellen in Python

Laten we oefenen!

ARIMA-modellen in Python

Preparing Video For Download...