Nama: Dea Kharisma N. B. NRP: 5003231109 Analisis Deret Waktu (A) Simulasi Seasonal ARIMA(0,0,0)(4,1,0)^12

set.seed(123456789)
n <- 1000
phi <- c(0.4, -0.2, 0.1, 0.05)
y <- arima.sim(model = list(order = c(0,0,0), seasonal = list(order = c(4,1,0), period=12, ar=phi)), n = n)
ts_data <- ts(y, frequency=12, start=c(2000,1))
par(mfrow=c(2,1))
plot(ts_data, main="Original Series", ylab="Value")

plot(diff(ts_data,12), main="After Diff", ylab="Value")

acf(ts_data, lag.max=60, main="ACF - Original Series")

acf(diff(ts_data,12), lag.max=60, main="ACF - Diff")

pacf(ts_data, lag.max=60, main="PACF - Original Series")

pacf(diff(ts_data,12), lag.max=60, main="PACF - Diff")

library(forecast)
## Warning: package 'forecast' was built under R version 4.4.3
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
model_fit <- Arima(ts_data, order=c(0,0,0), seasonal=list(order=c(4,1,0), period=12))
summary(model_fit)
## Series: ts_data 
## ARIMA(0,0,0)(4,1,0)[12] 
## 
## Coefficients:
##          sar1     sar2     sar3     sar4
##       -0.8200  -0.6976  -0.4617  -0.2741
## s.e.   0.0308   0.0379   0.0379   0.0316
## 
## sigma^2 = 1.179:  log likelihood = -1487.54
## AIC=2985.08   AICc=2985.14   BIC=3009.56
## 
## Training set error measures:
##                        ME     RMSE       MAE      MPE    MAPE      MASE
## Training set -0.004649111 1.076877 0.8505395 61.50659 214.691 0.7447204
##                   ACF1
## Training set 0.0209939
checkresiduals(model_fit)

## 
##  Ljung-Box test
## 
## data:  Residuals from ARIMA(0,0,0)(4,1,0)[12]
## Q* = 23.308, df = 20, p-value = 0.2739
## 
## Model df: 4.   Total lags used: 24
shapiro.test(model_fit$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  model_fit$residuals
## W = 0.99835, p-value = 0.4602
forecast_values <- forecast(model_fit, h=24)
plot(forecast_values, main="SARIMA(0,0,0)(4,1,0)^12 Forecast")