SARIMA 모형

Python으로 배우는 ARIMA 모델

James Fulton

Climate informatics researcher

SARIMA 모형

계절 ARIMA = SARIMA

  • 비계절 차수
    • p: 자기회귀 차수
    • d: 차분 차수
    • q: 이동평균 차수

SARIMA(p,d,q)(P,D,Q)$_S$

  • 계절 차수
    • P: 계절 자기회귀 차수
    • D: 계절 차분 차수
    • Q: 계절 이동평균 차수
    • S: 주기당 시간 간격 수
Python으로 배우는 ARIMA 모델

SARIMA 모형

ARIMA(2,0,1) 모형: $$y_t = a_1 y_{t-1} + a_2 y_{t-2} + m_1 \epsilon_{t-1} + \epsilon_t$$

SARIMA(0,0,0)(2,0,1)$_7$ 모형: $$y_t = a_7 y_{t-7} + a_{14} y_{t-14} + m_7 \epsilon_{t-7} + \epsilon_t$$

Python으로 배우는 ARIMA 모델

SARIMA 모형 적합

# Imports
statsmodels.tsa.statespace.sarimax import SARIMAX

# Instantiate model model = SARIMAX(df, order=(p,d,q), seasonal_order=(P,D,Q,S))
# Fit model results = model.fit()
Python으로 배우는 ARIMA 모델

계절 차분

한 시즌 전 값을 빼서 계절 차분을 합니다

$$\Delta y_t = y_t - y_{t-S}$$

# Take the seasonal difference
df_diff = df.diff(S)
Python으로 배우는 ARIMA 모델

SARIMA를 위한 차분

시계열

Python으로 배우는 ARIMA 모델

SARIMA를 위한 차분

1차 차분 시계열

Python으로 배우는 ARIMA 모델

SARIMA를 위한 차분

1차 차분 + 계절 1차 차분 시계열

Python으로 배우는 ARIMA 모델

p와 q 찾기

Python으로 배우는 ARIMA 모델

P와 Q 찾기

Python으로 배우는 ARIMA 모델

계절 ACF와 PACF 그리기

# Create figure
fig, (ax1, ax2) = plt.subplots(2,1)

# Plot seasonal ACF
plot_acf(df_diff,  lags=[12,24,36,48,60,72], ax=ax1)

# Plot seasonal PACF
plot_pacf(df_diff, lags=[12,24,36,48,60,72], ax=ax2)

plt.show()
Python으로 배우는 ARIMA 모델

실습해 봅시다!

Python으로 배우는 ARIMA 모델

Preparing Video For Download...