ARIMAモデル入門

Pythonで学ぶARIMAモデル

James Fulton

Climate informatics researcher

非定常時系列の復習

Pythonで学ぶARIMAモデル

非定常時系列の復習

Pythonで学ぶARIMAモデル

差分系列の予測

Pythonで学ぶARIMAモデル

差分後に元の時系列を復元する

diff_forecast = results.get_forecast(steps=10).predicted_mean

from numpy import cumsum
mean_forecast = cumsum(diff_forecast)
Pythonで学ぶARIMAモデル

差分後に元の時系列を復元する

diff_forecast = results.get_forecast(steps=10).predicted_mean

from numpy import cumsum
mean_forecast = cumsum(diff_forecast) + df.iloc[-1,0]
Pythonで学ぶARIMAモデル

差分後に元の時系列を復元する

Pythonで学ぶARIMAモデル

ARIMAモデル

 

  • 差分を取る
  • ARMAモデルを当てる
  • 予測を積分する

こんなに手間を省けるか?

はい

ARIMA:自己回帰・和分・移動平均

Pythonで学ぶARIMAモデル

ARIMAモデルの使い方

from statsmodels.tsa.arima.model import ARIMA

model = ARIMA(df, order=(p,d,q))
  • p:自己回帰ラグ数
  • d:差分次数
  • q:移動平均ラグ数

ARIMA$(p,0,q)$ = ARMA$(p,q)$

Pythonで学ぶARIMAモデル

ARIMAモデルの使い方

# Create model
model = ARIMA(df, order=(2,1,1))

# Fit model model.fit()
# Make forecast mean_forecast = results.get_forecast(steps=10).predicted_mean
Pythonで学ぶARIMAモデル

ARIMAモデルの使い方

# Make forecast
mean_forecast = results.get_forecast(steps=steps).predicted_mean

Pythonで学ぶARIMAモデル

差分次数の選び方

adf = adfuller(df.iloc[:,0])
print('ADF Statistic:', adf[0])
print('p-value:', adf[1])
ADF Statistic: -2.674
p-value: 0.0784
adf = adfuller(df.diff().dropna().iloc[:,0])
print('ADF Statistic:', adf[0])
print('p-value:', adf[1])
ADF Statistic: -4.978
p-value: 2.44e-05
Pythonで学ぶARIMAモデル

差分次数の選び方

model = ARIMA(df, order=(p,1,q))
Pythonで学ぶARIMAモデル

Ayo berlatih!

Pythonで学ぶARIMAモデル

Preparing Video For Download...