Model SARIMA

Model ARIMA di Python

James Fulton

Climate informatics researcher

Model SARIMA

ARIMA musiman = SARIMA

  • Orde non-musiman
    • p: orde autoregresif
    • d: orde pembedaan
    • q: orde rata-rata bergerak

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

  • Orde musiman
    • P: orde autoregresif musiman
    • D: orde pembedaan musiman
    • Q: orde rata-rata bergerak musiman
    • S: jumlah langkah waktu per siklus
Model ARIMA di Python

Model SARIMA

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

Model 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$$

Model ARIMA di Python

Melatih model 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()
Model ARIMA di Python

Pembedaan musiman

Kurangi nilai deret dari satu musim sebelumnya

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

# Ambil selisih musiman
df_diff = df.diff(S)
Model ARIMA di Python

Pembedaan untuk model SARIMA

Deret waktu

Model ARIMA di Python

Pembedaan untuk model SARIMA

Selisih pertama deret waktu

Model ARIMA di Python

Pembedaan untuk model SARIMA

Selisih pertama dan selisih musiman pertama deret waktu

Model ARIMA di Python

Menentukan p dan q

Model ARIMA di Python

Menentukan P dan Q

Model ARIMA di Python

Memplot ACF dan PACF musiman

# 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()
Model ARIMA di Python

Ayo berlatih!

Model ARIMA di Python

Preparing Video For Download...