Analisis Deret Waktu Harga Gabah Kering Panen (GKP) Kabupaten Serang 2023–2024

Gambaran Umum

Analisis ini membahas harga GKP Kabupaten Serang periode 2023–2024 melalui transformasi logaritma, differencing, dan peramalan naif.

1. Objek Time Series dan Plot Runtun Waktu

# Input Data
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)

# Objek time seires
gkp_ts <- ts(gkp,start = c(2023, 1),
              frequency = 12)
print(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 runtun waktu
bulan <- c("Jan-23", "Feb-23", "Mar-23", "Apr-23", "May-23", "Jun-23",
           "Jul-23", "Aug-23", "Sep-23", "Oct-23", "Nov-23", "Dec-23",
           "Jan-24", "Feb-24", "Mar-24", "Apr-24", "May-24", "Jun-24",
           "Jul-24", "Aug-24", "Sep-24", "Oct-24", "Nov-24", "Dec-24")

  plot(gkp_ts,
       main = "Harga Gabah Kering Panen (GKP) Kabupaten Serang",
       xlab = "Waktu",
       ylab = "Harga GKP (Rp/kg)",
       xaxt = "n",
       col = "steelblue",
       lwd = 2,
       pch = 1,
       cex = 1.2)
  
  points(time(gkp_ts), gkp_ts,
         pch = 1,
         cex = 1.1,
         col = "steelblue")

  axis(1,
       at = time(gkp_ts)[seq(1, 24, by = 2)],
       labels = bulan[seq(1, 24, by = 2)],
       las = 2,
       cex.axis = 0.8)

Interpretasi:

Berdasarkan plot runtun waktu, harga GKP Kabupaten Serang selama periode Januari 2023–Desember 2024 cenderung mengalami peningkatan dari waktu ke waktu, meskipun terdapat beberapa penurunan pada bulan tertentu. Harga berada pada kisaran Rp5.150–Rp6.300/kg, dengan nilai tertinggi terjadi pada Desember 2024. Jadi, secara keseluruhan pola menunjukkan adanya tren meningkat selama periode pengamatan.

2. Transformasi Logaritma

Transformasi logaritma dilakukan untuk menstabilkan varians data dan mengurangi pengaruh perubahan nilai yang semakin besar seiring kenaikan harga.

# melakukan transformasi logaritma
log_gkp <- log(gkp_ts)

print(log_gkp)
##           Jan      Feb      Mar      Apr      May      Jun      Jul      Aug
## 2023 8.556414 8.546752 8.575462 8.594154 8.565983 8.584852 8.603371 8.612503
## 2024 8.639411 8.648221 8.665613 8.682708 8.656955 8.674197 8.691146 8.699515
##           Sep      Oct      Nov      Dec
## 2023 8.594154 8.621553 8.630522 8.648221
## 2024 8.682708 8.707814 8.724207 8.748305
par(mfrow = c(2, 1))

# Plot Sebelum dilakukannya transformasi
plot(gkp_ts,
     main = "Data Asli Harga GKP",
     xlab = "Bulan",
     ylab = "Harga GKP (Rp/kg)",
     xaxt = "n",
     col = "steelblue",
     lwd = 2,
     pch = 1)
  
  points(time(gkp_ts), gkp_ts,
         pch = 1,
         cex = 1.1,
         col = "steelblue")

axis(1,
     at = time(gkp_ts)[seq(1, 24, by = 2)],
     labels = bulan[seq(1, 24, by = 2)],
     las = 2,
     cex.axis = 0.8)

# plot setelah dilakukan transformasi
plot(log_gkp,
     main = "Data Harga GKP Setelah Transformasi Logaritma",
     xlab = "Bulan",
     ylab = "Log Harga GKP",
     xaxt = "n",
     col = "tomato2",
     lwd = 2,
     pch = 1)
  
  points(time(log_gkp), log_gkp,
         pch = 1,
         cex = 1.1,
         col = "tomato2")

axis(1,
     at = time(log_gkp)[seq(1, 24, by = 2)],
     labels = bulan[seq(1, 24, by = 2)],
     las = 2,
     cex.axis = 0.8)

par(mfrow = c(1, 1))

Interpretasi :

Berdasarkan hasil transformasi logaritma, nilai data berada pada rentang 8,5468 hingga 8,7483. Pola pergerakan data masih menunjukkan tren meningkat dari Januari 2023 hingga Desember 2024, dengan beberapa penurunan pada bulan tertentu. Jadi, pola data setelah transformasi logaritma masih serupa dengan data asli.

3. Differencing Tingkat Pertama

Setelah dilakukan transformasi logaritma, pola data masih menunjukkan tren meningkat. Oleh karena itu, dilakukan differencing tingkat pertama untuk mengurangi atau menghilangkan tren tersebut dengan harapan data menjadi lebih stabil.

diff_log_gkp <- diff(log_gkp)
print(diff_log_gkp)
##               Jan          Feb          Mar          Apr          May
## 2023              -0.009661911  0.028710106  0.018692133 -0.028170877
## 2024 -0.008810630  0.008810630  0.017391743  0.017094433 -0.025752496
##               Jun          Jul          Aug          Sep          Oct
## 2023  0.018868484  0.018519048  0.009132484 -0.018349139  0.027398974
## 2024  0.017241806  0.016949558  0.008368250 -0.016807118  0.025105921
##               Nov          Dec
## 2023  0.008968670  0.017699577
## 2024  0.016393810  0.024097552
plot(diff_log_gkp,
     main = "Differencing Tingkat Pertama Data Log Harga GKP",
     xlab = "Bulan",
     ylab = "Differenced Log GKP",
     xaxt = "n",
     col = "steelblue",
     lwd = 2,
     pch = 1)

abline(h = 0, lty = 2)

axis(1,
     at = time(diff_log_gkp)[seq(1, 23, by = 2)],
     labels = bulan[2:24][seq(1, 23, by = 2)],
     las = 2,
     cex.axis = 0.8)

Interpretasi :

Hasil differencing tingkat pertama menunjukkan bahwa data berfluktuasi di sekitar nilai nol, dengan nilai berkisar antara -0,0282 hingga 0,0287. Tidak terlihat adanya tren meningkat maupun menurun yang jelas, sehingga differencing tingkat pertama telah menghilangkan tren pada data dan data menjadi lebih stabil.

Perbandingan Standard Deviasi

# Standar deviasi
data.frame(
  Data = c("Data Asli", "Transformasi Log", "Differencing Log"),
  Standar_Deviasi = c(
    sd(gkp_ts),
    sd(log_gkp),
    sd(diff_log_gkp)
  )
)
##               Data Standar_Deviasi
## 1        Data Asli    314.15143353
## 2 Transformasi Log      0.05539227
## 3 Differencing Log      0.01725887

Interpretasi:

Berdasarkan tabel, standar deviasi data asli sebesar 314,1514, kemudian menjadi 0,0554 setelah transformasi logaritma dan 0,0173 setelah differencing. Hal ini menunjukkan bahwa penyebaran data pada hasil transformasi dan differencing lebih kecil dibandingkan data asli.

4. Ramalan Naif

# Data latih dan data uji
train <- gkp_ts[1:21]
test <- gkp_ts[22:24]

# Ramalan naif
forecast_naive <- rep(tail(train, 1), 3)

# Data aktual, ramalan, dan error
hasil <- data.frame(
  Bulan = bulan[22:24],
  Aktual = as.numeric(test),
  Ramalan = forecast_naive
)
hasil
##    Bulan Aktual Ramalan
## 1 Oct-24   6050    5900
## 2 Nov-24   6150    5900
## 3 Dec-24   6300    5900
hasil$Error <- hasil$Aktual - hasil$Ramalan

Interpretasi:

Berdasarkan hasil peramalan naif, nilai ramalan untuk Oktober hingga Desember 2024 sebesar Rp5.900/kg lebih rendah dibandingkan nilai aktual pada ketiga bulan tersebut. Hasil peramalan menunjukkan underforecasting, yaitu ketika ramalan cenderung lebih rendah daripada nilai aktual.

5. Evaluasi Hasil Ramalan

ME <- mean(hasil$Error)
MAE <- mean(abs(hasil$Error))
MSE <- mean(hasil$Error^2)
RMSE <- sqrt(MSE)
MAPE <- mean(abs(hasil$Error / hasil$Aktual)) * 100

data.frame(
  Ukuran = c("ME", "MAE", "MSE", "RMSE", "MAPE"),
  Nilai = c(ME, MAE, MSE, RMSE, MAPE)
)
##   Ukuran        Nilai
## 1     ME   266.666667
## 2    MAE   266.666667
## 3    MSE 81666.666667
## 4   RMSE   285.773803
## 5   MAPE     4.297862

interpretasi:

  • ME = 266,67 menunjukkan ramalan scenderung lebih rendah dari aktual (underforecasting). Ini sesuai dengan hasil sebelumnya, karena seluruh ramalan Rp5.900/kg berada di bawah harga aktual Oktober–Desember 2024 yang terus meningkat.

  • MAE = 266,67 menunjukkan bahwa rata-rata ramalan berbeda sekitar Rp266,67/kg dari harga aktual.

  • MSE = 81.666,67 menunjukkan adanya kesalahan ramalan yang kemudian diperbesar melalui proses pengkuadratan, terutama karena terdapat selisih yang cukup besar pada periode dengan kenaikan harga lebih tinggi.

  • RMSE = 285,77 menunjukkan bahwa besarnya kesalahan ramalan secara keseluruhan berada sekitar Rp285,77/kg pada skala harga GKP.

  • MAPE = 4,30% menunjukkan bahwa secara relatif, rata-rata hasil ramalan memiliki kesalahan sekitar 4,30% dibandingkan harga aktual.

Kesimpulan

Secara keseluruhan, harga Gabah Kering Panen (GKP) Kabupaten Serang selama periode Januari 2023- Desember 2024 menunjukkan tren meningkat. Setelah dilakukan transformasi log dan differencing, tren pada data menjadi berkurang sehingga data lebih siap untuk dianalisis. Pada peramalan naif, hasil ramalan cenderung lebih rendah dari nilai aktual (underforecasting) karena harga terus meningkat pada tiga bulan terakhir. Hasil evaluasi menunjukkan rata-rata kesalahan sekitar Rp266,67/kg dengan kesalahan relatif 4,30%, jadi ramalan masih memiliki selisih dari nilai aktual karena metode naif menggunakan nilai periode sebelumnya sebagai ramalan.