Data harga gabah kering panen (GKP) di tingkat petani Kabupaten Serang periode Januari 2023–Desember 2024
1. Buat objek ts dan plot runtun waktu dari data harga GKP di atas Data harga GKP (Rp/kg), Jan 2023 - Des 2024
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)
gkp_ts## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2023 5200 5150 5300 5400 5250 5350 5450 5500 5400 5550 5600 5700
## 2024 5650 5700 5800 5900 5750 5850 5950 6000 5900 6050 6150 6300
plot(gkp_ts, main = "Harga GKP Kabupaten Serang (Rp/kg)",
ylab = "Rp/kg", xlab = "Tahun", col = "darkblue", lwd = 2)
grid()
Plot tersebut menunjukkan bahwa harga GKP Kabupaten Serang periode
Januari 2023 - Desember 2024 mempunyai tren naik yang cukup
konsisten.
2. Lakukan transformasi logaritma, lalu bandingkan plot data asli dan hasil transformasi
log_gkp <- log(gkp_ts)
plot(log_gkp, main = "Log(Data GKP)",
ylab = "ln(Rp/kg)", xlab = "Tahun", col = "darkorange", lwd = 2)
grid()## [1] 314.1514
## [1] 0.05539227
Berdasarkan hasil plot tersebut, terlihat bahwa plot hasil transformasi logaritma mirip dengan bentuk pola pada plot data asli. Keduanya menunjukkan tren naik dengan sedikit fluktuasi kecil (naik turun) di sepanjang periode. Namun terdapat perbedaan antara kedua plot tersebut, yaitu skala pada sumbu y pada plot hasil transformasi telah berubah menjadi skala logaritma natural (ln(Rp/Kg)). Didapatkan juga nilai standar deviasi logaritma yang lebih kecil daripada standar deviasi data asli, yaitu bernilai 0.05539227 menunjukkan bahwa fluktuasi data berhasil diskalakan agar lebih stabil. Namun, transformasi logaritma ini belum menghilangkan tren yang ada.
3. Lakukan differencing tingkat pertama pada data hasil transformasi. Apakah tren sudah hilang?
diff_log_gkp <- diff(log_gkp)
plot(diff_log_gkp, main = "Differencing Log(Data GKP)",
ylab = "W_t = ln(Z_t) - ln(Z_t-1)", col = "darkred", lwd = 2)
abline(h = 0, lty = 2)## [1] 0.008343087
## [1] 0.01725887
Setelah dilakukan differencing tingkat pertama, didapatkan hasil bahwa tren sudah berhasil dihilangkan. Hal ini terlihat dari plot yang berfluktuasi secara konstan di sekitar garis nol dengan nilai rata-rata mean = 0,0083 dan standar deviasi sd = 0,0172. Karena tidak ada lagi kecenderungan pola kenaikan atau penurunan panjang, sehingga data telah stasioner dalam rata-rata (mean).
4. Gunakan 21 observasi pertama sebagai data latih dan 3 observasi terakhir sebagai data uji. Hitung ramalan naif untuk 3 bulan tersebut, lalu hitung ME, MAE, MSE, RMSE, dan MAPE-nya
train <- head(gkp, 21)
test <- tail(gkp, 3)
naive_forecast <- rep(tail(train, 1), 3)
error <- test - naive_forecast
ME <- mean(error)
ME## [1] 266.6667
## [1] 266.6667
## [1] 81666.67
## [1] 285.7738
## [1] 4.297862
Dari perhitungan evaluasi peramalan naif pada data uji, diperoleh nilai ME sebesar 266,6667 yang bernilai positif sehingga menunjukkan ramalan cenderung meleset ke bawah (under-forecast) akibat tren harga yang sedang naik, nilai MAE sebesar 266,67 yang berarti rata-rata kesalahan absolutnya adalah Rp266,67/kg, nilai MSE sebesar 81.666,67 dan RMSE sebesar 285,7738 yang mencerminkan besarnya akar rata-rata kuadrat galat sebesar Rp285,77/kg, serta nilai MAPE sebesar 4,2979% yang menunjukkan bahwa tingkat persentase kesalahan peramalan relatif cukup kecil.