\[\begin{equation*}
\begin{split}
&(1 - \Phi_1 B^{12} - \Phi_2 B^{24} - \Phi_3 B^{36} - \Phi_4 B^{48})
(1 - B)(1 - B^{12}) y_t = a_t \\
&y_t = y_{t-1} + y_{t-12} - y_{t-13} \\
&\quad + \Phi_1 \left(y_{t-12} - y_{t-13} - y_{t-24} +
y_{t-25}\right) \\
&\quad + \Phi_2 \left(y_{t-24} - y_{t-25} - y_{t-36} +
y_{t-37}\right) \\
&\quad + \Phi_3 \left(y_{t-36} - y_{t-37} - y_{t-48} +
y_{t-49}\right) \\
&\quad + \Phi_4 \left(y_{t-48} - y_{t-49} - y_{t-60} +
y_{t-61}\right) + a_t.
\end{split}
\end{equation*}\]
library(forecast)
library(TSA)
# Seasonal ARIMA(0,1,0)(4,1,0)12
# Generating white noise residual
set.seed(1)
at <- rnorm(1000, mean = 0, sd = 2)
PHI1 <- 0.7
PHI2 <- -0.8
PHI3 <- 0.65
PHI4 <- -0.2
n <- length(at)
y <- numeric(n)
# Initialize first sixty one values of y (e.g., zero or any arbitrary values)
y[1:61] <- 0
for (t in 62:n) {
y[t] <- y[t-1] + y[t-12] - y[t-13] +
PHI1 * (y[t-12] - y[t-13] - y[t-24] + y[t-25]) +
PHI2 * (y[t-24] - y[t-25] - y[t-36] + y[t-37]) +
PHI3 * (y[t-36] - y[t-37] - y[t-48] + y[t-49]) +
PHI4 * (y[t-48] - y[t-49] - y[t-60] + y[t-61]) +
at[t]
}
y <- y[-(1:100)]
ts.plot(y)

# ACF PACF of The Non-Differenced Simulation Data
par(mfrow=c(1,2))
Acf(y, lag.max=100)
Pacf(y, lag.max=100)

# ACF PACF of The Non-Seasonally Differenced Simulation Data
diff_y <- diff(y)
par(mfrow=c(1,2))
Acf(diff_y, lag.max=100)
Pacf(diff_y, lag.max=100)

# ACF PACF of The Non-Seasonally and Seasonally Differenced Simulation Data
diff_y2 <- diff(diff(y), lag=12)
par(mfrow=c(1,2))
Acf(diff_y2, lag.max=100)
Pacf(diff_y2, lag.max=100)
