Diberikan data harga gabah kering panen (GKP) di tingkat petani Kabupaten Serang periode Januari 2023–Desember 2024 (Rp/kg):
| Tahun | Jan | Feb | Mar | Apr | Mei | Jun | Jul | Agu | Sep | Okt | Nov | Des |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2023 | 5.200 | 5.150 | 5.300 | 5.400 | 5.250 | 5.350 | 5.450 | 5.500 | 5.400 | 5.550 | 5.600 | 5.700 |
| 2024 | 5.650 | 5.700 | 5.800 | 5.900 | 5.750 | 5.850 | 5.950 | 6.000 | 5.900 | 6.050 | 6.150 | 6.300 |
ts dan plot runtun waktu dari data harga
GKP di atas.Jawaban:
gkp <- c(
5200, 5150, 5300, 5400, 5250, 5350, 5450, 5500, 5400, 5550, 5600, 5700,
5650, 5700, 5800, 5900, 5750, 5850, 5950, 6000, 5900, 6050, 6150, 6300
)
gkp_ts <- ts(gkp, start = c(2023, 1), frequency = 12)
plot(gkp_ts,
main = "Time Series of GKP Prices in Serang",
xlab = "Year",
ylab = "GKP Price (Rp/kg)")
Interpretasi:
Berdasarkan plot, harga GKP di Kabupaten Serang secara umum menunjukkan tren meningkat dari tahun 2023 hingga 2024. Meskipun terdapat beberapa penurunan pada bulan tertentu, harga pada tahun 2024 cenderung lebih tinggi dibandingkan tahun 2023.
Jawaban:
log_gkp <- log(gkp_ts)
plot(gkp_ts,
main = "Original GKP Price",
xlab = "Year",
ylab = "GKP Price (Rp/kg)")
plot(log_gkp,
main = "Log-Transformed GKP Price",
xlab = "Year",
ylab = "log(GKP Price)")
Untuk melihat perbedaan simpangan bakunya:
sd(gkp_ts)
## [1] 314.1514
sd(log_gkp)
## [1] 0.05539227
Interpretasi:
Setelah dilakukan transformasi logaritma, skala data menjadi lebih kecil dan perubahan data terlihat lebih stabil. Transformasi log digunakan untuk membantu menstabilkan variansi data ketika variansi cenderung berubah mengikuti level data.
Jawaban:
diff_log_gkp <- diff(log_gkp)
plot(diff_log_gkp,
main = "First Differencing of Log-Transformed GKP Price",
xlab = "Year",
ylab = "Differenced log(GKP Price)")
Interpretasi:
Setelah dilakukan differencing tingkat pertama pada data hasil transformasi log, nilai data berfluktuasi di sekitar nilai yang relatif kecil dan tidak menunjukkan tren naik yang sistematis seperti pada data asli. Jadi, dapat dikatakan bahwa tren sudah cukup hilang setelah dilakukan differencing tingkat pertama. Differencing digunakan untuk menghilangkan tren dan menstabilkan mean data.
Jawaban:
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
## [1] 266.6667
MAE
## [1] 266.6667
MSE
## [1] 81666.67
RMSE
## [1] 285.7738
MAPE
## [1] 4.297862
Hasil ramalan:
hasil_forecast <- data.frame(
Bulan = c("Oktober 2024", "November 2024", "Desember 2024"),
Aktual = test,
Ramalan = naive_forecast,
Error = error
)
hasil_forecast
## Bulan Aktual Ramalan Error
## 1 Oktober 2024 6050 5900 150
## 2 November 2024 6150 5900 250
## 3 Desember 2024 6300 5900 400
Hasilnya:
| Bulan | Aktual | Ramalan | Error |
|---|---|---|---|
| Oktober 2024 | 6.050 | 5.900 | 150 |
| November 2024 | 6.150 | 5.900 | 250 |
| Desember 2024 | 6.300 | 5.900 | 400 |
Metrik evaluasi:
| Metrik | Nilai |
|---|---|
| ME | 266,67 |
| MAE | 266,67 |
| MSE | 81.666,67 |
| RMSE | 285,77 |
| MAPE | 4,30% |
Interpretasi:
Nilai ME sebesar 266,67 bernilai positif, sehingga ramalan naif cenderung berada di bawah nilai aktual atau mengalami under-forecast. Hal ini terlihat karena seluruh harga aktual pada tiga bulan terakhir lebih tinggi daripada hasil ramalan sebesar Rp5.900.
Nilai MAE sebesar 266,67 menunjukkan bahwa rata-rata kesalahan absolut ramalan adalah sekitar Rp266,67/kg. Sementara itu, RMSE sebesar 285,77 menunjukkan besar kesalahan dengan memberikan bobot lebih besar pada kesalahan yang besar.
Nilai MAPE sebesar 4,30% menunjukkan bahwa rata-rata kesalahan ramalan berada sekitar 4,30% dari nilai aktual.