(S)ARIMA(X)
Time-series
- Data per periode
- Rond een trend
- Vaak met regelmatige patronen
Time-series
- Data per periode
- Rond een trend
- Vaak met regelmatige patronen
ARIMA
ARIMA strengths
- Werkt met weinig input data
- Hoge 'explainability'
- Hoge 'adaptability'
Model
- AR: Auto-regressive
- MA: Moving Average
Model
- AR: Auto-regressive
- I: Integrated
- MA: Moving Average
Model
- S: Seasonal
- AR: Auto-regressive
- I: Integrated
- MA: Moving Average
Model
- S: Seasonal
- AR: Auto-regressive
- I: Integrated
- MA: Moving Average
- X: Exogenous data
Model
- S: Seasonal (s, P, D, Q)
- AR: Auto-regressive (p)
- I: Integrated (d)
- MA: Moving Average (q)
- X: Exogenous data
Model
𝜙𝑝(𝐿)𝜙̃ 𝑃(𝐿𝑠)Δ𝑑Δ𝐷𝑠𝑦𝑡=𝐴(𝑡)+𝜃𝑞(𝐿)𝜃̃ 𝑄(𝐿𝑠)𝜁𝑡
Model
𝜙𝑝(𝐿)𝜙̃ 𝑃(𝐿𝑠)Δ𝑑Δ𝐷𝑠𝑦𝑡=𝐴(𝑡)+𝜃𝑞(𝐿)𝜃̃ 𝑄(𝐿𝑠)𝜁𝑡
Model
Y = AVG + a*AR + b*MA + ERROR
Model
Y = AVG + a*AR + b*MA + ERROR
Mean
Model
Not in model
Model
Y = AVG + I(a*AR + b*MA) + ERROR
Model
Y = AVG + I(a*AR + b*MA) +
Is(a*ARs + b*MAs) + ERROR
Model
Y = AVG + I(a*AR + b*MA) +
Is(a*ARs + b*MAs) + c*EXOG + ERROR
Hoe werkt het ook weer?
Input
Hoe werkt het ook weer?
Input
Parameters
Hoe werkt het ook weer?
Input
Parameters
Model
Hoe werkt het ook weer?
Input
Parameters
Model
Training
Hoe werkt het ook weer?
Input
Parameters
Model
Training
More training
Hoe werkt het ook weer?
Input
Parameters
Model
Training
More training
Output
Hoe werkt het ook weer?
Input data
- Genoeg data nodig,
10k, 100k, 1M, 100, 1k - Gebalanceerd
- Gecleaned
- Geformatteerd
- Garbage in, garbage out
Input data
- Genoeg data nodig,
10k, 100k, 1M, 100, 1k - Gebalanceerd
- Gecleaned
- Geformatteerd
- Garbage in, garbage out
Input data
- Genoeg data nodig,
10k, 100k, 1M, 100, 1k - Gebalanceerd
- Gecleaned
- Geformatteerd
- Garbage in, garbage out
Input data
- Genoeg data nodig,
10k, 100k, 1M, 100, 1k - Gebalanceerd
- Gecleaned
- Geformatteerd
- Garbage in, garbage out
Input data
- Genoeg data nodig,
10k, 100k, 1M, 100, 1k - Gebalanceerd
- Gecleaned
- Geformatteerd
- Garbage in, garbage out
Input data
- Genoeg data nodig,
10k, 100k, 1M, 100, 1k - Gebalanceerd
- Gecleaned
- Geformatteerd
- Garbage in, garbage out
5-fold cross validation
Data set
5-fold cross validation
Data set 1
Data set 2
Data set 3
Data set 4
Data set 5
5-fold cross validation
Data set 1
Data set 2
Data set 3
Data set 4
Data set 5
Training
Training
Training
Validation
Testing
5-fold cross validation
Data set 1
Data set 2
Data set 3
Data set 4
Data set 5
Training
Training
Training
Validation
Testing
Hyperparameter search
- Brute force
Hyperparameter search
- Brute force
- Alternatives
- Grid search
- Factorial design
Hyperparameter search
- Gebruik multithreading/GPU/TPU
- Kies score/error
- Kies handige volgorde
- Log elke hyperparam combinatie
- Sla modellen op
- Handle exceptions
Demo
Hoe te gebruiken?
- Trainen offline/op server/in cloud
- Predictions schrijven naar file/doorgeven via API
- Model periodiek hergenereren met nieuwe data (ook exogene data updaten)
Improvements
- Kijken wat het effect is van:
- Verschillende timeframes
- Andere exogene data
- Vergelijken met andere modellen
- Holt-Winter
Vragen?
(S)ARIMA(X)
By mjorden
(S)ARIMA(X)
- 28