季節性のある時系列

Pythonで学ぶARIMAモデル

James Fulton

Climate informatics researcher

季節データ

  • 予測可能で繰り返すパターンがある
  • ある一定の時間後に繰り返す
Pythonで学ぶARIMAモデル

季節分解

Pythonで学ぶARIMAモデル

季節分解

time series = trend + seasonal + residual

Pythonで学ぶARIMAモデル

statsmodels による季節分解

# Import 
from statsmodels.tsa.seasonal import seasonal_decompose
# Decompose data
decomp_results = seasonal_decompose(df['IPG3113N'], period=12)
type(decomp_results)
statsmodels.tsa.seasonal.DecomposeResult
Pythonで学ぶARIMAモデル

statsmodels による季節分解

# Plot decomposed data
decomp_results.plot()
plt.show()

Pythonで学ぶARIMAモデル

ACF による季節周期の特定

Pythonで学ぶARIMAモデル

ACF による季節性の判別

Pythonで学ぶARIMAモデル

時系列のトレンド除去

# Subtract long rolling average over N steps
df = df - df.rolling(N).mean()

# Drop NaN values df = df.dropna()

Pythonで学ぶARIMAモデル

ACF による季節性の判別

# Create figure
fig, ax = plt.subplots(1,1, figsize=(8,4))

# Plot ACF
plot_acf(df.dropna(), ax=ax, lags=25, zero=False)
plt.show()

Pythonで学ぶARIMAモデル

ARIMA と季節データ

Pythonで学ぶARIMAモデル

練習しましょう!

Pythonで学ぶARIMAモデル

Preparing Video For Download...