#Model SARIMA Model SARIMA(0,1,0)(2,1,0)^12 ditulis sebagai:
\[ (1 - B)(1 - B^{12})(1 - \Phi_1 B^{12} - \Phi_2 B^{24}) y_t = a_t \]
n <- 500
s <- 12 # Seasonal period
# Koefisien Seasonal AR(2)
Phi <- c(0.6, -0.4)
# White noise
set.seed(123)
at <- rnorm(n + 100, mean = 0, sd = 1)
# Inisialisasi vektor
y <- rep(0, n + 100)
# Simulasi SARIMA(0,1,0)(2,1,0)[12]
for(t in (2*s + 1):(n + 100)) {
y[t] <- Phi[1]*y[t-s] + Phi[2]*y[t-2*s] + at[t]
}
# Buang nilai awal (burn-in)
y <- y[101:(n + 100)]
# Buat sebagai time series
y_ts <- ts(y, frequency = s)
autoplot(y_ts) +
ggtitle("Simulasi Manual SARIMA(0,1,0)(2,1,0)[12]") +
xlab("Waktu") + ylab("Nilai")
Hasil simulasi menunjukkan bahwa deret waktu yang dihasilkan memiliki
pola yang fluktuatif dan tidak menunjukkan adanya tren atau pola musiman
yang jelas, yang sesuai dengan karakteristik dari proses setelah
dilakukan differencing. Nilai-nilai deret berkisar di sekitar nol dan
terlihat cukup acak, yang menandakan bahwa model ini menghasilkan deret
waktu yang stasioner secara musiman dan non-musiman setelah transformasi
differencing dilakukan. Hal ini mencerminkan bahwa komponen acak (white
noise) mendominasi perilaku deret setelah kedua jenis differencing
diterapkan.
acf(y_ts, main="ACF - Tanpa Differencing")
pacf(y_ts, main="PACF - Tanpa Differencing")
ACF : Plot ACFtanpa differencing menunjukkan autokorelasi yang sangat
tinggi pada lag ke-1 (mendekati 1) dan langsung turun drastis pada lag
berikutnya. Pola ini menandakan bahwa data asli bersifat non-stasioner,
karena adanya autokorelasi kuat pada lag awal. Ini mengindikasikan
perlunya differencing untuk mencapai stasioneritas. PACF : Plot PACF
menunjukkan puncak signifikan pada lag ke-1, lalu segera turun ke nilai
mendekati nol pada lag-lag berikutnya. Ini mengonfirmasi bahwa terdapat
autokorelasi langsung pada lag ke-1 saja, yang juga merupakan ciri dari
data non-stasioner. Pola ini dapat terjadi pada proses yang memerlukan
differencing orde 1.
diff_y <- diff(diff(y_ts, lag = s), differences = 1)
autoplot(diff_y) +
ggtitle("Setelah Differencing (d=1, D=1)") +
xlab("Waktu") + ylab("Nilai")
Setelah dilakukan transformasi ini, pola data tampak berfluktuasi secara
acak di sekitar garis nol dan tidak menunjukkan adanya pola tren jangka
panjang maupun pola musiman yang jelas. Hal ini merupakan indikasi bahwa
proses differencing berhasil menghilangkan komponen tren dan musiman,
sehingga data menjadi stasioner dalam ragam dan rata-rata.
acf(diff_y, main = "ACF - Setelah Differencing")
pacf(diff_y, main = "PACF - Setelah Differencing")
Grafik ACF dan PACF sebelum dilakukan differencing menunjukkan nilai
autokorelasi yang signifikan pada lag awal, terutama lag 1, yang
menunjukkan adanya non-stasioneritas pada data. Setelah dilakukan
differencing non-musiman dan musiman (d=1, D=1), grafik deret waktu
tampak lebih stabil di sekitar nol, yang mengindikasikan bahwa data
telah mencapai kestasioneran.