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")