library(tseries)
## Warning: package 'tseries' was built under R version 4.4.2
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.2
library(forecast)
## Warning: package 'forecast' was built under R version 4.4.2
# Input Data Inflasi Bulanan
data <- read.csv("D:/Kampus/Semester 3/Komputasi Statistika/Artikel Proyek/Inflasi.csv", sep = ";")
data
## Date Inflasi
## 1 2023-10-01 0.17
## 2 2023-11-01 0.38
## 3 2023-12-01 0.41
## 4 2024-01-01 0.04
## 5 2024-02-01 0.37
## 6 2024-03-01 0.52
## 7 2024-04-01 0.25
## 8 2024-05-01 -0.03
## 9 2024-06-01 -0.08
## 10 2024-07-01 -0.18
## 11 2024-08-01 -0.03
## 12 2024-09-01 -0.12
## 13 2024-10-01 0.08
## 14 2024-11-01 0.30
## 15 NA
## 16 NA
## 17 NA
## 18 NA
## 19 NA
## 20 NA
## 21 NA
## 22 NA
## 23 NA
## 24 NA
## 25 NA
inflasi <- ts(data$Inflasi, start=c(2023,10), end = c(2024, 11), frequency=12)
inflasi[is.infinite(inflasi)] <- NA
inflasi <- na.omit(inflasi)
autoplot(inflasi) +
ggtitle("Inflasi Bulanan Indonesia (Oktober 2023- November 2024)") +
ylab("Inflasi Bulanan (%)") + xlab("Tahun")

# Uji Stasioneritas (Augmented Dickey-Fuller Test)
library(tseries)
adf.test(inflasi)
##
## Augmented Dickey-Fuller Test
##
## data: inflasi
## Dickey-Fuller = -0.92717, Lag order = 2, p-value = 0.9313
## alternative hypothesis: stationary
# Differencing untuk Stasioneritas (Jika diperlukan)
d_inflasi <- diff(inflasi)
autoplot(d_inflasi) +
ggtitle("Differenced Data") +
ylab("Differenced Inflasi")

adf.test(d_inflasi)
##
## Augmented Dickey-Fuller Test
##
## data: d_inflasi
## Dickey-Fuller = -1.2268, Lag order = 2, p-value = 0.8669
## alternative hypothesis: stationary
# Plot ACF dan PACF untuk Identifikasi p dan q
par(mfrow=c(2,2))
acf(d_inflasi, main="ACF dari Inflasi")
pacf(d_inflasi, main="PACF dari Inflasi")

# Pemodelan ARIMA (Auto ARIMA)
model <- auto.arima(inflasi, d=1, D=1, seasonal=TRUE, stepwise=FALSE, approximation=FALSE)
print(summary(model))
## Series: inflasi
## ARIMA(0,1,0)(0,1,0)[12]
##
## sigma^2 = 0.0001013: log likelihood = 3.19
## AIC=-4.37 AICc=-8.37 BIC=-6.37
##
## Training set error measures:
## ME RMSE MAE MPE MAPE
## Training set 0.0005908542 0.00268959 0.0009588825 0.3377142 0.5431334
## MASE ACF1
## Training set 0.01128097 -0.06032858
## Diagnostik Model (Cek Residual)
checkresiduals(model)

##
## Ljung-Box test
##
## data: Residuals from ARIMA(0,1,0)(0,1,0)[12]
## Q* = 0.1013, df = 3, p-value = 0.9917
##
## Model df: 0. Total lags used: 3
# Prediksi Inflasi 13 Bulan ke Depan
prediksi <- forecast(model, h=24)
autoplot(prediksi) +
ggtitle("Prediksi Inflasi 2 Tahun ke depan") +
ylab("Inflasi Bulanan (%)")

print(prediksi)
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Dec 2024 3.300000e-01 0.31710307 0.34289693 0.31027585 0.34972415
## Jan 2025 -4.000000e-02 -0.05823901 -0.02176099 -0.06789416 -0.01210584
## Feb 2025 2.900000e-01 0.26766187 0.31233813 0.25583678 0.32416322
## Mar 2025 4.400000e-01 0.41420615 0.46579385 0.40055171 0.47944829
## Apr 2025 1.700000e-01 0.14116160 0.19883840 0.12589547 0.21410453
## May 2025 -1.100000e-01 -0.14159089 -0.07840911 -0.15831409 -0.06168591
## Jun 2025 -1.600000e-01 -0.19412206 -0.12587794 -0.21218519 -0.10781481
## Jul 2025 -2.600000e-01 -0.29647802 -0.22352198 -0.31578831 -0.20421169
## Aug 2025 -1.100000e-01 -0.14869078 -0.07130922 -0.16917244 -0.05082756
## Sep 2025 -2.000000e-01 -0.24078366 -0.15921634 -0.26237323 -0.13762677
## Oct 2025 -2.502165e-14 -0.04277427 0.04277427 -0.06541759 0.06541759
## Nov 2025 2.200000e-01 0.17532374 0.26467626 0.15167355 0.28832645
## Dec 2025 2.500000e-01 0.19841229 0.30158771 0.17110341 0.32889659
## Jan 2026 -1.200000e-01 -0.17767681 -0.06232319 -0.20820907 -0.03179093
## Feb 2026 2.100000e-01 0.14681822 0.27318178 0.11337181 0.30662819
## Mar 2026 3.600000e-01 0.29175588 0.42824412 0.25562963 0.46437037
## Apr 2026 9.000000e-02 0.01704397 0.16295603 -0.02157662 0.20157662
## May 2026 -1.900000e-01 -0.26738156 -0.11261844 -0.30834488 -0.07165512
## Jun 2026 -2.400000e-01 -0.32156732 -0.15843268 -0.36474646 -0.11525354
## Jul 2026 -3.400000e-01 -0.42554853 -0.25445147 -0.47083519 -0.20916481
## Aug 2026 -1.900000e-01 -0.27935253 -0.10064747 -0.32665290 -0.05334710
## Sep 2026 -2.800000e-01 -0.37300106 -0.18699894 -0.42223284 -0.13776716
## Oct 2026 -8.000000e-02 -0.17651176 0.01651176 -0.22760200 0.06760200
## Nov 2026 1.400000e-01 0.04010084 0.23989916 -0.01278258 0.29278258
# Evaluasi Model
accuracy(model)
## ME RMSE MAE MPE MAPE
## Training set 0.0005908542 0.00268959 0.0009588825 0.3377142 0.5431334
## MASE ACF1
## Training set 0.01128097 -0.06032858
write.csv(prediksi, file = "D:/Kampus/Semester 3/Komputasi Statistika/Artikel Proyek/hasil.csv", row.names = FALSE)