# 1. Objek ts dan plot runtun waktu dari data harga GKP
# Data harga GKP Kabupaten Serang (Rp/kg)
gkp <- c(5200,5150,5300,5400,5250,5350,5450,5500,5400,5550,5600,5700, # 2023
5650,5700,5800,5900,5750,5850,5950,6000,5900,6050,6150,6300) # 2024
gkp_ts <- ts(gkp, start = c(2023, 1), frequency = 12)
plot(gkp_ts, main = "Harga GKP Kabupaten Serang (Rp/kg)", col = "darkblue", lwd = 2)
Plot memperlihatkan pola tren naik yang cukup konsisten, dari sekitar Rp5.200/kg (awal 2023) menjadi sekitar Rp6.300/kg (akhir 2024). Pada plot dapat dilihat bahwa data ini belum stasioner dalam mean (ada tren).
# 2. Transformasi logaritm
log_gkp <- log(gkp_ts)
sd(gkp_ts); sd(log_gkp)
## [1] 314.1514
## [1] 0.05539227
par(mfrow = c(1, 2))
plot(gkp_ts, main = "Data Asli (Rp/kg)", col = "darkblue", lwd = 2)
plot(log_gkp, main = "Log(Data)", col = "darkorange", lwd = 2)
Bentuk pola kedua plot sama-sama menunjukkan tren naik. Ini terjadi karena fluktuasi harga GKP relatif kecil dan stabil dari tahun ke tahun, sehingga efek transformasi log tidak terlalu mencolok secara visual. Namun transformasi log tetap berguna sebagai langkah persiapan sebelum dilakukan differencing di langkah berikutnya
# 3. Differencing Tingkat pertama
diff_log_gkp <- diff(log_gkp)
plot(diff_log_gkp, main = "Differencing Log(Data GKP)", col = "darkred", lwd = 2, type = "o")
mean(diff_log_gkp)
## [1] 0.008343087
sd(diff_log_gkp)
## [1] 0.01725887
Terlihat bahwa garis sudah berubah naik turun di sekitar garis nol, tidak terus naik seperti sebelumnya yang berarti tren sudah hilang.
# 4. Perhitungan ramalan naif
train <- head(gkp, 21); test <- tail(gkp, 3)
naive_forecast <- rep(tail(train, 1), 3)
error <- test - naive_forecast
ME <- mean(error)
MAE <- mean(abs(error))
MSE <- mean(error^2)
RMSE <- sqrt(MSE)
MAPE <- mean(abs(error / test)) * 100
ME; MAE; MSE ;RMSE; MAPE
## [1] 266.6667
## [1] 266.6667
## [1] 81666.67
## [1] 285.7738
## [1] 4.297862
Hasil evaluasi performa peramalan menghasilkan nilai Mean Error (ME) sebesar 266,67, yang menunjukkan adanya bias di mana model menebak lebih rendah dari harga aktua. Mean Absolute Error (MAE) sebesar Rp266,67/kg, sementara Mean Squared Error (MSE) sebesar 81.666,67 menghasilkan nilai Root Mean Squared Error (RMSE) sebesar Rp285. Nilai Mean Absolute Percentage Error (MAPE) di bawah 10% yaitu sebesar 4,30%, menunjukkan tingkat akurasi peramalan termasuk dalam kriteria sangat baik, walau model tetap lebih rendah dari pergerakan tren harga sebenarnya.