Lanjutan analisis pola waktu: seberapa kuat pola musiman mingguan tiap komoditas, serta bulan-bulan dengan perubahan harga paling tajam.
Dihitung dari data harian dengan periode mingguan (s=7) memakai metode Hyndman: skor mendekati 1 berarti pola mingguan sangat kuat dan berulang, mendekati 0 berarti nyaris tidak ada pola musiman.
Top 15 perubahan harga bulanan (month-over-month) terbesar di seluruh komoditas dan kedua pasar — dasar kuantitatif untuk menelusuri penyebab kenaikan/penurunan harga yang tajam.
Persiapan Data untuk SARIMA
Screening kandidat dan validasi struktur time series
3.1
Screening Kandidat
Tabel dan grafik berikut mengurutkan enam komoditas fokus berdasarkan seberapa kuat pola musimannya, diukur melalui skor seasonality (rata-rata nilai seasonality pada pasar Mojosari dan Kedungmaling) serta CV rata-rata sebagai indikator dinamika harga secara umum. Semakin tinggi skor seasonality suatu komoditas, semakin jelas pola berulang yang dimilikinya sepanjang periode observasi — informasi ini akan digunakan untuk menentukan seberapa besar komponen musiman perlu diperhitungkan pada model SARIMA masing-masing komoditas.
Petunjuk membaca tabel:
• Korelasi Pola Bulanan —
seberapa mirip pola naik-turun harga antar bulan dari tahun ke tahun
(semakin mendekati 1, semakin berulang polanya).
• Seasonality
Mojosari / Kedungmaling — besarnya komponen musiman pada
masing-masing pasar.
• Skor Seasonality — rata-rata dari
kedua pasar, menjadi dasar pengurutan dan kategori kekuatan musiman
(badge berwarna).
• CV Rata-Rata — tingkat fluktuasi harga
secara umum (bukan khusus musiman); semakin tinggi, semakin volatil
harganya.
• Gap Simetris Rata-Rata (%) — selisih harga antar
pasar; nilai besar berarti disparitas harga antar pasar cukup
tinggi.
• Korelasi Harga — kemiripan pergerakan harga aktual
antar pasar sepanjang periode observasi.
| Rank | Komoditas |
Korelasi Pola Bulanan |
Seasonality Mojosari |
Seasonality Kedungmaling |
CV Rata-Rata |
Gap Simetris Rata-Rata (%) |
Korelasi Harga |
Skor Seasonality |
Kategori Musiman |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Cabe Rawit Merah | 0.990812 | 33.921580 | 35.705117 | 37.381841 | 11.879407 | 0.936129 | 34.813349 | Sangat Kuat |
| 2 | Bawang Merah | 0.705381 | 8.512892 | 11.578621 | 12.099926 | 8.856637 | 0.668189 | 10.045756 | Kuat |
| 3 | Telur Ayam Ras | 0.828654 | 6.201450 | 4.588203 | 5.823242 | 3.993873 | 0.717200 | 5.394827 | Sedang |
| 4 | Minyak Goreng Kemasan Premium | 0.983052 | 4.303703 | 4.301076 | 4.495865 | 9.910732 | 0.942991 | 4.302390 | Lemah |
| 5 | Beras Premium | -0.443846 | 4.898815 | 1.587960 | 3.642293 | 8.067813 | -0.474245 | 3.243387 | Lemah |
| 6 | Gula Kristal Putih | 0.983294 | 1.799434 | 4.236422 | 3.168440 | 2.685298 | 0.918665 | 3.017928 | Lemah |
Interpretasi: Cabe Rawit Merah menempati peringkat tertinggi
dengan skor seasonality 34.81 (kategori “Sangat Kuat”), menunjukkan pola
musiman yang paling kuat dan berulang dibanding komoditas fokus lainnya
— cocok disorot sebagai komoditas dengan risiko fluktuasi harga musiman
paling besar. Sebaliknya, Gula Kristal Putih memiliki skor seasonality
paling rendah (3.02), yang berarti pergerakan harganya relatif lebih
stabil dan kurang dipengaruhi pola musiman tertentu.
Cabe Rawit
Merah juga merupakan komoditas dengan CV rata-rata tertinggi (37.38%).
Artinya, pola musiman yang kuat pada komoditas ini sejalan dengan
tingkat fluktuasi harga yang juga paling besar, sehingga menjadi
prioritas utama untuk pemodelan SARIMA dengan komponen musiman penuh.
Perlu menjadi catatan khusus: Beras Premium menunjukkan
korelasi pola bulanan dan/atau korelasi harga yang bernilai negatif,
yang mengindikasikan arah pergerakan harga antar tahun atau antar pasar
tidak konsisten. Untuk komoditas ini, skor seasonality sebaiknya tidak
dijadikan acuan tunggal — perlu dikonfirmasi lebih lanjut lewat plot
deret waktu langsung sebelum menentukan parameter musiman (P, D, Q, s)
pada SARIMA.
Perbedaan skor dan kategori inilah yang menjadi
dasar seberapa penting komponen musiman diperhitungkan saat membangun
model SARIMA untuk masing-masing komoditas — komoditas berkategori
“Sangat Kuat” / “Kuat” umumnya membutuhkan orde musiman (P, D, Q, s)
yang lebih besar dibanding komoditas berkategori “Sedang” / “Lemah”.
3.2
Validasi Struktur Time Series
Sebelum data digunakan untuk pemodelan time series, struktur tanggalnya perlu diperiksa terlebih dahulu untuk memastikan tidak ada bolong (gap) pencatatan yang signifikan. Pemeriksaan ini mencakup rentang waktu data, jumlah total observasi, jumlah tanggal unik, kelengkapan tanggal, serta pola jarak antar tanggal yang tercatat.
Kenapa validasi ini penting? Model SARIMA mengasumsikan data tercatat pada interval waktu yang teratur (misalnya harian tanpa jeda). Jika terdapat banyak tanggal yang hilang, pola musiman yang terdeteksi bisa bias atau bahkan tidak terbaca dengan baik oleh model. Bagian ini memastikan struktur data cukup rapat sebelum masuk ke tahap pembentukan model, dan memberi rekomendasi bila ditemukan gap yang perlu ditangani.
Tanggal Minimum
12-08-2025
Tanggal Maksimum
12-08-2026
Jumlah Observasi
10.248
Jumlah Tanggal Unik
366
Rentang Hari Kalender
366
Kelengkapan Tanggal
100.0%
| Jarak Antar Tanggal | Frekuensi |
|---|---|
| 0 | 9.882 |
| 1 | 365 |
Hasil: Rentang data adalah dari 12-08-2025 sampai 12-08-2026,
dengan total 10.248 observasi yang mencakup 366 tanggal unik dari 366
hari kalender pada rentang tersebut (rata-rata sekitar 28.0 pencatatan
setiap tanggal, berasal dari kombinasi seluruh komoditas dan pasar yang
dipantau).
Pola transisi yang paling sering muncul adalah jarak
0 hari (96.4% dari seluruh transisi), yang wajar terjadi karena beberapa
komoditas dan pasar dicatat pada tanggal yang sama. Jika dilihat hanya
pada transisi antar tanggal yang berbeda, interval yang paling sering
muncul adalah 1 hari (3.6% dari seluruh transisi), yang menunjukkan
pencatatan data dilakukan secara harian.
Data Siap Digunakan
Kelengkapan tanggal pada rentang ini mencapai 100.0%, tergolong sangat
lengkap. Data historis dapat langsung digunakan sebagai dasar
pembentukan model SARIMA tanpa penanganan gap tambahan yang
signifikan.
Kriteria pemilihan komoditas fokus serta pola tren dan musiman harga
Sebelum masuk ke tahap peramalan, setiap komoditas perlu dipastikan layak untuk dimodelkan. Tabel di bawah menunjukkan hasil penyaringan komoditas berdasarkan kelengkapan data pada kedua pasar dan tingkat dinamika harganya. Komoditas yang harganya benar-benar datar (tidak pernah berubah) pada salah satu pasar dikeluarkan karena tidak memiliki pola yang bisa dipelajari oleh model peramalan.
Kriteria yang digunakan:
1. Merupakan bahan pokok/sembako
yang relevan dipantau (sudah disaring pada tahap awal).
2. Data pada
kedua pasar lengkap dan konsisten (bukan FLAT TOTAL).
3. Memiliki
dinamika harga yang cukup tinggi, diukur dari CV_Rata_Rata (koefisien
variasi rata-rata) — semakin tinggi CV, semakin banyak pergerakan harga
yang bisa dipelajari model.
Enam komoditas fokus yang
terpilih: Beras Premium, Gula Kristal Putih, Minyak Goreng Kemasan
Premium, Bawang Merah, Telur Ayam Ras, dan Cabe Rawit Merah.
| Komoditas | CV Mojosari | CV Kedungmaling | CV Rata-Rata | Status Mojosari | Status Kedungmaling | Fokus SARIMA |
|---|---|---|---|---|---|---|
| Cabe Rawit Merah | 36.067231 | 38.696452 | 37.381841 | BERVARIASI | BERVARIASI | YA |
| Tomat Merah | 17.510484 | 32.313149 | 24.911817 | BERVARIASI | BERVARIASI | TIDAK |
| Cabe Merah Besar | 19.400096 | 30.388132 | 24.894114 | BERVARIASI | BERVARIASI | TIDAK |
| BUNCIS | 14.011923 | 25.426705 | 19.719314 | BERVARIASI | BERVARIASI | TIDAK |
| WORTEL | 13.776410 | 17.942390 | 15.859400 | BERVARIASI | BERVARIASI | TIDAK |
| Bawang Merah | 9.670653 | 14.529199 | 12.099926 | BERVARIASI | BERVARIASI | YA |
| KOL/KUBIS | 3.880921 | 13.676963 | 8.778942 | BERVARIASI | BERVARIASI | TIDAK |
| Bawang Putih Sinco/Honan | 6.719065 | 9.073369 | 7.896217 | BERVARIASI | BERVARIASI | TIDAK |
| KENTANG | 4.773385 | 8.189926 | 6.481656 | BERVARIASI | BERVARIASI | TIDAK |
| Daging Ayam Ras | 5.195820 | 6.462727 | 5.829273 | BERVARIASI | BERVARIASI | TIDAK |
| Telur Ayam Ras | 6.274268 | 5.372215 | 5.823242 | BERVARIASI | BERVARIASI | YA |
| Ikan Bandeng | 7.429143 | 1.613614 | 4.521379 | BERVARIASI | BERVARIASI | TIDAK |
| Minyak Goreng Kemasan Premium | 4.474276 | 4.517454 | 4.495865 | BERVARIASI | BERVARIASI | YA |
| Beras Premium | 5.618438 | 1.666148 | 3.642293 | BERVARIASI | BERVARIASI | YA |
| Gula Kristal Putih | 1.887382 | 4.449497 | 3.168440 | BERVARIASI | BERVARIASI | YA |
Grafik berikut memecah pergerakan harga harian setiap komoditas fokus menjadi dua komponen utama yang berguna untuk membaca kondisi pasar: Trend memperlihatkan arah pergerakan harga dalam jangka panjang (naik, turun, atau stabil), sedangkan Seasonal memperlihatkan pola berulang mingguan, misalnya kecenderungan harga naik menjelang akhir pekan lalu kembali turun di awal minggu. Baris Observed adalah data harga asli sebelum dipecah, sehingga bisa dibandingkan langsung dengan hasil Trend dan Seasonal di bawahnya. Panel Residual (sisa acak yang tidak terjelaskan oleh Trend maupun Seasonal) tidak ditampilkan di sini agar fokus pembacaan tetap pada pola tren dan musiman yang akan menjadi dasar penentuan model SARIMA.
Metode: Dekomposisi additive dengan periode musiman 7 hari
digunakan karena pola belanja masyarakat umumnya berulang dalam siklus
mingguan (hari kerja vs akhir pekan). Data harga yang hilang
diinterpolasi secara linear agar deret waktu tetap kontinu, dan proses
dekomposisi dilakukan secara terpisah untuk setiap kombinasi komoditas
dan pasar agar karakteristik masing-masing dapat terlihat dengan
tepat.
Cara membaca tiap kartu grafik: Perhatikan garis
Trend — jika cenderung naik dari kiri ke kanan berarti harga
menguat sepanjang periode, jika menurun berarti melemah. Perhatikan juga
rentang naik-turun garis Seasonal — semakin lebar rentangnya,
semakin kuat pola mingguan yang berulang (misalnya harga rutin naik di
hari tertentu). Kotak hijau di bawah tiap grafik berisi ringkasan
otomatis dari kedua hal ini untuk mempercepat interpretasi saat
presentasi.
Pengujian dilakukan pada enam komoditas fokus di Pasar Mojosari dan Pasar Kedungmaling. Stasioneritas diperiksa menggunakan ADF dan KPSS, kemudian pola autokorelasi setelah first differencing digunakan untuk membantu identifikasi model.
Sebelum masuk ke pemodelan SARIMA, setiap deret harga perlu dipastikan sudah stasioner terlebih dahulu — artinya rata-rata dan variansnya relatif stabil sepanjang waktu, tidak terus naik, turun, atau berubah-ubah pola secara sistematis. ADF dan KPSS digunakan secara bersamaan karena keduanya menguji arah hipotesis yang berlawanan, sehingga keputusan yang dihasilkan lebih dapat diandalkan. Pada taraf signifikansi 5%, data dinyatakan stasioner apabila ADF menghasilkan p-value < 0,05 dan KPSS menghasilkan p-value > 0,05.
| Komoditas | Pasar | ADF Statistic | ADF p-value | KPSS Statistic | KPSS p-value | Keputusan |
|---|---|---|---|---|---|---|
| Beras Premium | Mojosari | -2.1867 | 0.4981 | 3.6900 | 0.0100 | Tidak Stasioner |
| Beras Premium | Kedungmaling | -2.1036 | 0.5332 | 5.0112 | 0.0100 | Tidak Stasioner |
| Gula Kristal Putih | Mojosari | -2.8079 | 0.2359 | 4.8083 | 0.0100 | Tidak Stasioner |
| Gula Kristal Putih | Kedungmaling | -2.1036 | 0.5332 | 5.0112 | 0.0100 | Tidak Stasioner |
| Minyak Goreng Kemasan Premium | Mojosari | -1.9935 | 0.5797 | 5.3206 | 0.0100 | Tidak Stasioner |
| Minyak Goreng Kemasan Premium | Kedungmaling | -2.1036 | 0.5332 | 5.0112 | 0.0100 | Tidak Stasioner |
| Bawang Merah | Mojosari | -2.3898 | 0.4124 | 0.6860 | 0.0148 | Tidak Stasioner |
| Bawang Merah | Kedungmaling | -2.3106 | 0.4458 | 0.2176 | 0.1000 | Tidak Stasioner |
| Telur Ayam Ras | Mojosari | -1.6805 | 0.7118 | 2.1053 | 0.0100 | Tidak Stasioner |
| Telur Ayam Ras | Kedungmaling | -2.5971 | 0.3249 | 2.2145 | 0.0100 | Tidak Stasioner |
| Cabe Rawit Merah | Mojosari | -2.1858 | 0.4985 | 1.6426 | 0.0100 | Tidak Stasioner |
| Cabe Rawit Merah | Kedungmaling | -2.4483 | 0.3877 | 2.0810 | 0.0100 | Tidak Stasioner |
Ringkasan: Dari total 12 kombinasi komoditas-pasar, 0
dinyatakan Stasioner dan 12 Tidak Stasioner pada level data asli.
Deret yang belum stasioner inilah yang membutuhkan first differencing (d
= 1) sebelum masuk ke tahap identifikasi model pada bagian 3.6 di
bawah.
Interpretasi: ADF memiliki hipotesis nol bahwa
data tidak stasioner, sedangkan KPSS memiliki hipotesis nol bahwa data
justru stasioner — sehingga apabila kedua uji saling mendukung,
kesimpulan menjadi lebih meyakinkan. Apabila hasilnya “Tidak Stasioner”,
artinya deret harga komoditas tersebut masih memiliki tren atau
perubahan varians yang perlu dihilangkan melalui differencing sebelum
dapat dimasukkan ke model SARIMA — proses inilah yang mendasari analisis
ACF dan PACF pada bagian berikutnya.
Setelah first differencing (d = 1) diterapkan untuk menghilangkan tren, ACF (Autocorrelation Function) dan PACF (Partial Autocorrelation Function) digunakan untuk melihat seberapa besar harga pada suatu hari masih dipengaruhi oleh harga pada hari-hari sebelumnya. Analisis dilakukan hingga lag ke-40 agar pola mingguan maupun bulanan dapat tertangkap dengan baik. Setiap pasar ditampilkan dengan dua grafik berdampingan agar ACF dan PACF mudah dibandingkan secara langsung.
Cara membaca cepat: perhatikan pada lag berapa saja titik melewati garis putus-putus (batas signifikansi). Kotak biru di bawah tiap grafik berisi kandidat orde AR (p) / MA (q) otomatis berdasarkan pola tersebut, sebagai titik awal sebelum diuji lebih lanjut pada tahap pemodelan SARIMA.
Panduan membaca grafik: Titik (spike) pada ACF atau PACF yang melewati garis putus-putus (batas kepercayaan) menunjukkan autokorelasi yang signifikan secara statistik pada lag tersebut. Sebagai panduan awal: apabila PACF terputus tajam setelah lag tertentu sementara ACF meluruh perlahan, ini mengarah pada kandidat orde AR (p); sebaliknya, apabila ACF terputus tajam sementara PACF meluruh perlahan, ini mengarah pada kandidat orde MA (q). Jika keduanya meluruh secara bertahap, kemungkinan diperlukan kombinasi AR dan MA (ARMA). Pola inilah yang menjadi titik awal penentuan kandidat model SARIMA yang akan diuji lebih lanjut pada tahap pemodelan berikutnya. Kandidat p/q otomatis pada tiap kartu di atas bersifat indikatif awal dan tetap perlu dikonfirmasi lewat evaluasi model (AIC/BIC, uji residual).
4.1 Skrining Stagnan & Train-Test Split
Sebelum pemodelan SARIMA dilakukan, setiap pasangan komoditas dan pasar perlu dipastikan datanya masih aktif diperbarui, kemudian dibagi menjadi data latih (train) dan data uji (test) agar performa model dapat dievaluasi secara objektif pada data yang belum pernah “dilihat” model sebelumnya.
A. Skrining Stagnan Seluruh Deret
Skrining dilakukan pada 60 hari terakhir dari seluruh deret waktu. Pasangan dengan standar deviasi harga ≤ 1 × 10-6 pada periode tersebut dikategorikan sebagai data yang sudah berhenti diperbarui, dan dikecualikan dari forecasting karena tidak lagi memiliki pola pergerakan yang bisa dipelajari model.
| Komoditas | Pasar | Std. 60 Hari Terakhir | Status |
|---|---|---|---|
| Bawang Merah | Mojosari | 3.8732e+03 | LAYAK DIFORECAST |
| Bawang Merah | Kedungmaling | 5.4002e+03 | LAYAK DIFORECAST |
| Beras Premium | Mojosari | 2.5211e+02 | LAYAK DIFORECAST |
| Beras Premium | Kedungmaling | 0.0000e+00 | DIKECUALIKAN |
| Cabe Rawit Merah | Mojosari | 6.1760e+03 | LAYAK DIFORECAST |
| Cabe Rawit Merah | Kedungmaling | 6.7781e+03 | LAYAK DIFORECAST |
| Gula Kristal Putih | Mojosari | 4.1496e+01 | LAYAK DIFORECAST |
| Gula Kristal Putih | Kedungmaling | 0.0000e+00 | DIKECUALIKAN |
| Minyak Goreng Kemasan Premium | Mojosari | 8.0815e+01 | LAYAK DIFORECAST |
| Minyak Goreng Kemasan Premium | Kedungmaling | 0.0000e+00 | DIKECUALIKAN |
| Telur Ayam Ras | Mojosari | 1.1022e+03 | LAYAK DIFORECAST |
| Telur Ayam Ras | Kedungmaling | 1.0383e+03 | LAYAK DIFORECAST |
Pasangan Layak Diforecast
Pasangan Dikecualikan
Total Pasangan
Interpretasi: Dari total 12 pasangan yang diperiksa, 9 dinyatakan layak diforecast dan 3 dikecualikan karena harganya tidak lagi berubah (stagnan) pada 60 hari terakhir, yaitu: Beras Premium (Kedungmaling), Gula Kristal Putih (Kedungmaling), Minyak Goreng Kemasan Premium (Kedungmaling). Pasangan yang dikecualikan ini tidak diikutkan pada tahap train-test split maupun pemodelan SARIMA berikutnya.
B. Train-Test Split 80:20
Hanya pasangan yang lolos skrining stagnan yang digunakan untuk pemodelan SARIMA. Data dibagi secara berurutan menurut waktu menjadi 80% training (bagian awal deret, dipakai model untuk belajar pola) dan 20% testing (bagian akhir deret, disisihkan untuk menguji seberapa akurat hasil peramalan model dibanding data yang sebenarnya terjadi).
| Komoditas | Pasar | Total | Train (80%) | Test (20%) | Missing Train | Missing Test |
|---|---|---|---|---|---|---|
| Bawang Merah | Mojosari | 366 | 292 | 74 | 0 | 0 |
| Bawang Merah | Kedungmaling | 366 | 292 | 74 | 0 | 0 |
| Beras Premium | Mojosari | 366 | 292 | 74 | 0 | 0 |
| Cabe Rawit Merah | Mojosari | 366 | 292 | 74 | 0 | 0 |
| Cabe Rawit Merah | Kedungmaling | 366 | 292 | 74 | 0 | 0 |
| Gula Kristal Putih | Mojosari | 366 | 292 | 74 | 0 | 0 |
| Minyak Goreng Kemasan Premium | Mojosari | 366 | 292 | 74 | 0 | 0 |
| Telur Ayam Ras | Mojosari | 366 | 292 | 74 | 0 | 0 |
| Telur Ayam Ras | Kedungmaling | 366 | 292 | 74 | 0 | 0 |
Interpretasi: Setiap pasangan yang lolos skrining dibagi dengan proporsi yang sama, misalnya untuk baris pertama pada tabel: 292 hari digunakan sebagai data training dan 74 hari sebagai data testing. Tidak ditemukan data hilang (missing) pada seluruh hasil pembagian, sehingga data siap digunakan langsung untuk pemodelan.
Output 4.1: Objek bab4_data_split menyimpan data full, train, dan test untuk setiap pasangan yang lolos skrining. Data ini digunakan sebagai input untuk 4.2 Grid Search & Pemilihan Model SARIMA.
C. Plot Pembagian Data Train & Data Test
Visualisasi 9 pasangan komoditas-pasar (dari total 12 kombinasi) yang lolos skrining stagnan, menunjukkan periode Train (biru) dan Test (oranye) pada masing-masing deret waktu.
Cara membaca: setiap grafik di bawah memiliki sumbu Y (Harga dalam Rupiah) tersendiri karena rentang harga tiap komoditas berbeda jauh — jangan membandingkan skala absolut antar grafik secara langsung. Fokuskan pembacaan pada pola naik-turun harga, serta titik peralihan warna dari biru (Train) ke oranye (Test).
4.2 Grid Search & Pemilihan Model SARIMA
Setiap pasangan komoditas-pasar yang lolos skrining pada 4.1 dicoba dengan berbagai kombinasi parameter SARIMA pada data training. Model dibandingkan lewat AIC/BIC dan diuji kelayakan residualnya (Ljung-Box) sebelum satu model terbaik dipilih secara otomatis untuk masing-masing pasangan.
A. Pembentukan Kandidat Model SARIMA
Model SARIMA memiliki dua bagian parameter: non-musiman (p, d, q) yang menangkap pola jangka pendek, dan musiman (P, D, Q) pada periode s = 7 hari yang menangkap pola mingguan berulang. Kombinasi dari kedua kelompok parameter ini menghasilkan 16 kandidat model yang dicoba pada data train setiap pasangan komoditas-pasar — semakin banyak kombinasi yang dicoba, semakin besar peluang menemukan model yang paling pas dengan pola data.
B. Grid Search — Top 3 Kandidat per Pasangan
Menampilkan 3 kandidat terbaik dari seluruh kombinasi yang dicoba, diurutkan berdasarkan: lulus tidaknya uji Ljung-Box terlebih dahulu, kemudian BIC terendah, lalu AIC terendah. Seluruh hasil grid search tersimpan pada objek bab42_hasil_grid untuk ditelusuri lebih lanjut bila diperlukan.
Cara membaca: badge LULUS pada kolom Ljung-Box berarti residual model tersebut sudah bersih dari autokorelasi (tidak ada pola yang tersisa untuk dipelajari lagi) — ini pertanda model sudah cukup menangkap pola data. Badge TIDAK LULUS berarti masih ada pola tersisa yang belum tertangkap model, meski AIC/BIC-nya mungkin rendah.
| Komoditas | Pasar | Order (p,d,q) | Seasonal (P,D,Q,s) | AIC | BIC | Ljung-Box |
|---|---|---|---|---|---|---|
| Bawang Merah | Kedungmaling | (0,1,0) | (1,0,0,7) | 5115.86 | 5123.21 | LULUS |
| Bawang Merah | Kedungmaling | (0,1,0) | (0,0,1,7) | 5116.47 | 5123.82 | LULUS |
| Bawang Merah | Kedungmaling | (1,1,1) | (0,0,0,7) | 5114.57 | 5125.59 | LULUS |
| Bawang Merah | Mojosari | (0,1,0) | (0,0,0,7) | 4715.22 | 4718.89 | LULUS |
| Bawang Merah | Mojosari | (1,1,0) | (0,0,0,7) | 4717.22 | 4724.56 | LULUS |
| Bawang Merah | Mojosari | (0,1,1) | (0,0,0,7) | 4717.22 | 4724.56 | LULUS |
| Beras Premium | Mojosari | (0,1,0) | (0,0,0,7) | 3662.67 | 3666.35 | LULUS |
| Beras Premium | Mojosari | (0,1,0) | (0,0,1,7) | 3664.67 | 3672.02 | LULUS |
| Beras Premium | Mojosari | (0,1,0) | (1,0,0,7) | 3664.67 | 3672.02 | LULUS |
| Cabe Rawit Merah | Kedungmaling | (0,1,0) | (0,0,1,7) | 5626.41 | 5633.76 | LULUS |
| Cabe Rawit Merah | Kedungmaling | (0,1,0) | (1,0,0,7) | 5626.47 | 5633.82 | LULUS |
| Cabe Rawit Merah | Kedungmaling | (0,1,0) | (0,0,0,7) | 5632.22 | 5635.89 | LULUS |
| Cabe Rawit Merah | Mojosari | (0,1,0) | (0,0,0,7) | 5663.72 | 5667.39 | LULUS |
| Cabe Rawit Merah | Mojosari | (0,1,0) | (1,0,0,7) | 5665.41 | 5672.75 | LULUS |
| Cabe Rawit Merah | Mojosari | (0,1,0) | (0,0,1,7) | 5665.42 | 5672.76 | LULUS |
| Gula Kristal Putih | Mojosari | (0,1,0) | (0,0,0,7) | 3314.84 | 3318.51 | TIDAK LULUS |
| Gula Kristal Putih | Mojosari | (0,1,0) | (0,0,1,7) | 3316.75 | 3324.1 | TIDAK LULUS |
| Gula Kristal Putih | Mojosari | (0,1,0) | (1,0,0,7) | 3316.75 | 3324.1 | TIDAK LULUS |
| Minyak Goreng Kemasan Premium | Mojosari | (0,1,0) | (0,0,0,7) | 3365.35 | 3369.03 | LULUS |
| Minyak Goreng Kemasan Premium | Mojosari | (0,1,0) | (0,0,1,7) | 3366.96 | 3374.3 | LULUS |
| Minyak Goreng Kemasan Premium | Mojosari | (0,1,0) | (1,0,0,7) | 3366.97 | 3374.31 | LULUS |
| Telur Ayam Ras | Kedungmaling | (0,1,0) | (0,0,0,7) | 4227.62 | 4231.29 | TIDAK LULUS |
| Telur Ayam Ras | Kedungmaling | (0,1,0) | (0,0,1,7) | 4229.62 | 4236.96 | TIDAK LULUS |
| Telur Ayam Ras | Kedungmaling | (0,1,0) | (1,0,0,7) | 4229.62 | 4236.96 | TIDAK LULUS |
| Telur Ayam Ras | Mojosari | (0,1,0) | (1,0,0,7) | 3833.84 | 3841.19 | LULUS |
| Telur Ayam Ras | Mojosari | (0,1,0) | (0,0,1,7) | 3834.69 | 3842.04 | LULUS |
| Telur Ayam Ras | Mojosari | (0,1,0) | (0,0,0,7) | 3838.7 | 3842.38 | LULUS |
C. Perbandingan AIC & BIC
AIC dan BIC adalah ukuran seberapa baik model menyeimbangkan kecocokan terhadap data dengan kompleksitasnya — semakin rendah nilainya, semakin baik model tersebut. BIC memberi penalti lebih besar untuk model yang rumit dibanding AIC, sehingga dijadikan acuan utama dalam pemilihan model final pada bagian E.
Cara membaca: setiap panel mewakili satu pasangan komoditas-pasar, dengan 3 model kandidat dan sepasang bar AIC (biru) & BIC (oranye) untuk masing-masing. Jika ketiga kandidat pada satu panel memiliki tinggi bar yang mirip, artinya pemilihan model untuk pasangan tersebut tidak terlalu sensitif terhadap kombinasi parameter — model mana pun dari ketiganya kemungkinan memberi hasil yang setara.
D. Uji Ljung-Box — Model Final
Menguji apakah residual model final bersifat white noise (tidak ada autokorelasi tersisa) pada lag 7, 14, dan 21 hari. Jika residual masih memiliki pola pada salah satu lag ini, artinya model belum sepenuhnya menangkap informasi dalam data dan interval prediksi peramalan berpotensi meleset dari yang seharusnya.
| Komoditas | Pasar | Model | Lag | p-value | Status |
|---|---|---|---|---|---|
| Bawang Merah | Kedungmaling | SARIMA(0,1,0)(1,0,0)[7] | 7 | 0.1353 | LULUS |
| Bawang Merah | Kedungmaling | SARIMA(0,1,0)(1,0,0)[7] | 14 | 0.3412 | LULUS |
| Bawang Merah | Kedungmaling | SARIMA(0,1,0)(1,0,0)[7] | 21 | 0.6618 | LULUS |
| Bawang Merah | Mojosari | SARIMA(0,1,0)(0,0,0)[7] | 7 | 1.0000 | LULUS |
| Bawang Merah | Mojosari | SARIMA(0,1,0)(0,0,0)[7] | 14 | 1.0000 | LULUS |
| Bawang Merah | Mojosari | SARIMA(0,1,0)(0,0,0)[7] | 21 | 0.9587 | LULUS |
| Beras Premium | Mojosari | SARIMA(0,1,0)(0,0,0)[7] | 7 | 0.9721 | LULUS |
| Beras Premium | Mojosari | SARIMA(0,1,0)(0,0,0)[7] | 14 | 1.0000 | LULUS |
| Beras Premium | Mojosari | SARIMA(0,1,0)(0,0,0)[7] | 21 | 1.0000 | LULUS |
| Cabe Rawit Merah | Kedungmaling | SARIMA(0,1,0)(0,0,1)[7] | 7 | 0.5586 | LULUS |
| Cabe Rawit Merah | Kedungmaling | SARIMA(0,1,0)(0,0,1)[7] | 14 | 0.6863 | LULUS |
| Cabe Rawit Merah | Kedungmaling | SARIMA(0,1,0)(0,0,1)[7] | 21 | 0.6298 | LULUS |
| Cabe Rawit Merah | Mojosari | SARIMA(0,1,0)(0,0,0)[7] | 7 | 0.9845 | LULUS |
| Cabe Rawit Merah | Mojosari | SARIMA(0,1,0)(0,0,0)[7] | 14 | 0.9867 | LULUS |
| Cabe Rawit Merah | Mojosari | SARIMA(0,1,0)(0,0,0)[7] | 21 | 0.8473 | LULUS |
| Gula Kristal Putih | Mojosari | SARIMA(0,1,0)(0,0,0)[7] | 7 | 0.0000 | TIDAK LULUS |
| Gula Kristal Putih | Mojosari | SARIMA(0,1,0)(0,0,0)[7] | 14 | 0.0009 | TIDAK LULUS |
| Gula Kristal Putih | Mojosari | SARIMA(0,1,0)(0,0,0)[7] | 21 | 0.0059 | TIDAK LULUS |
| Minyak Goreng Kemasan Premium | Mojosari | SARIMA(0,1,0)(0,0,0)[7] | 7 | 0.9998 | LULUS |
| Minyak Goreng Kemasan Premium | Mojosari | SARIMA(0,1,0)(0,0,0)[7] | 14 | 0.9806 | LULUS |
| Minyak Goreng Kemasan Premium | Mojosari | SARIMA(0,1,0)(0,0,0)[7] | 21 | 0.5564 | LULUS |
| Telur Ayam Ras | Kedungmaling | SARIMA(0,1,0)(0,0,0)[7] | 7 | 0.9153 | LULUS |
| Telur Ayam Ras | Kedungmaling | SARIMA(0,1,0)(0,0,0)[7] | 14 | 0.9783 | LULUS |
| Telur Ayam Ras | Kedungmaling | SARIMA(0,1,0)(0,0,0)[7] | 21 | 0.0023 | TIDAK LULUS |
| Telur Ayam Ras | Mojosari | SARIMA(0,1,0)(1,0,0)[7] | 7 | 1.0000 | LULUS |
| Telur Ayam Ras | Mojosari | SARIMA(0,1,0)(1,0,0)[7] | 14 | 0.9999 | LULUS |
| Telur Ayam Ras | Mojosari | SARIMA(0,1,0)(1,0,0)[7] | 21 | 1.0000 | LULUS |
Interpretasi: Dari 9 pasangan, 7 model final residualnya bersih dari autokorelasi (white noise) di semua lag, sedangkan 2 model masih menyisakan sedikit autokorelasi, yaitu pada pasangan: Gula Kristal Putih (Mojosari), Telur Ayam Ras (Kedungmaling). Hasil forecasting pada pasangan ini tetap bisa digunakan, namun perlu dibaca lebih hati-hati karena interval prediksinya berpotensi under-estimate.
E. Pemilihan Model SARIMA Final
Model final dipilih otomatis untuk tiap pasangan: prioritas pertama adalah model yang lulus uji Ljung-Box dengan BIC terendah di antara yang lulus. Jika tidak ada kandidat yang lulus sama sekali, sistem menggunakan model dengan BIC terendah dari seluruh kandidat sebagai solusi terbaik yang tersedia (fallback), dan status ini ditandai secara eksplisit agar dapat dibaca dengan hati-hati.
| Komoditas | Pasar | Order (p,d,q) | Seasonal (P,D,Q,s) | AIC | BIC | Pemilihan |
|---|---|---|---|---|---|---|
| Bawang Merah | Kedungmaling | (0,1,0) | (1,0,0,7) | 5115.86 | 5123.21 | LULUS LJUNG-BOX |
| Bawang Merah | Mojosari | (0,1,0) | (0,0,0,7) | 4715.22 | 4718.89 | LULUS LJUNG-BOX |
| Beras Premium | Mojosari | (0,1,0) | (0,0,0,7) | 3662.67 | 3666.35 | LULUS LJUNG-BOX |
| Cabe Rawit Merah | Kedungmaling | (0,1,0) | (0,0,1,7) | 5626.41 | 5633.76 | LULUS LJUNG-BOX |
| Cabe Rawit Merah | Mojosari | (0,1,0) | (0,0,0,7) | 5663.72 | 5667.39 | LULUS LJUNG-BOX |
| Gula Kristal Putih | Mojosari | (0,1,0) | (0,0,0,7) | 3314.84 | 3318.51 | FALLBACK (BIC) |
| Minyak Goreng Kemasan Premium | Mojosari | (0,1,0) | (0,0,0,7) | 3365.35 | 3369.03 | LULUS LJUNG-BOX |
| Telur Ayam Ras | Kedungmaling | (0,1,0) | (0,0,0,7) | 4227.62 | 4231.29 | FALLBACK (BIC) |
| Telur Ayam Ras | Mojosari | (0,1,0) | (1,0,0,7) | 3833.84 | 3841.19 | LULUS LJUNG-BOX |
Ringkasan: 7 dari 9 pasangan mendapat model final yang lulus uji Ljung-Box, dan 2 pasangan menggunakan model fallback (BIC terendah tanpa lulus Ljung-Box). Objek bab42_model_final menyimpan spesifikasi model SARIMA final per pasangan ini, digunakan sebagai input untuk forecasting dan evaluasi pada sub-bab berikutnya.
Setelah model SARIMA final ditentukan pada 4.2, akurasinya perlu diuji dengan cara yang meniru kondisi pemakaian nyata: model dievaluasi lewat skema walk-forward (rolling origin), lalu hasilnya divisualisasikan sebagai aktual vs forecast dan forecast dengan rentang ketidakpastian (confidence interval) 95%.
Model di-refit ulang tiap 5 hari memakai seluruh data yang tersedia sampai titik itu, lalu dipakai untuk forecast 5 hari ke depan, sebelum di-refit lagi dengan data terbaru. Pendekatan ini lebih realistis dibanding forecast statis satu kali untuk seluruh periode test, karena mencerminkan bagaimana model akan benar-benar dipakai di lapangan — terus diperbarui seiring data baru masuk.
Interpretasi: Rata-rata MAPE seluruh pasangan adalah 2.35%. Model paling akurat ada pada Beras Premium - Mojosari dengan MAPE 0.05%, sedangkan yang paling perlu diperhatikan ada pada Cabe Rawit Merah - Kedungmaling dengan MAPE 8.01%. Sebagai acuan umum, MAPE di bawah 10% dianggap tergolong akurat untuk peramalan harga komoditas.
Setiap komoditas ditampilkan sebagai satu grafik tersendiri dengan sumbu Y (Harga Rp) masing-masing, karena skala harga antar komoditas berbeda jauh. Jika kedua pasar tersedia, warna membedakan pasar (garis solid = Aktual, putus-putus = Forecast). Jika hanya satu pasar yang tersedia, warna dialihkan untuk membedakan Aktual vs Forecast secara langsung agar tetap mudah dibaca.
Cara membaca: semakin rapat garis solid dan putus-putus pada warna yang sama/berpasangan, semakin akurat forecast model. Perhatikan juga apakah pola musiman mingguan pada garis aktual tertangkap oleh garis forecast.
MAE dan RMSE mengukur besar kesalahan forecast dalam satuan Rupiah (semakin kecil semakin baik), sedangkan MAPE mengukur kesalahan dalam persentase relatif terhadap harga aktual sehingga bisa dibandingkan antar komoditas dengan skala harga berbeda. MAPE di bawah 10% dianggap akurasi yang baik untuk peramalan harga komoditas.
| Komoditas | Pasar | Model | MAE | RMSE | MAPE (%) | Status |
|---|---|---|---|---|---|---|
| Bawang Merah | Kedungmaling | SARIMA(0,1,0)(1,0,0)[7] | 1223.02 | 2056.25 | 3.42 | BAIK |
| Bawang Merah | Mojosari | SARIMA(0,1,0)(0,0,0)[7] | 452.16 | 1461.73 | 1.42 | BAIK |
| Beras Premium | Mojosari | SARIMA(0,1,0)(0,0,0)[7] | 6.76 | 58.12 | 0.05 | BAIK |
| Cabe Rawit Merah | Kedungmaling | SARIMA(0,1,0)(0,0,1)[7] | 3821.23 | 7119.69 | 8.01 | BAIK |
| Cabe Rawit Merah | Mojosari | SARIMA(0,1,0)(0,0,0)[7] | 1973.51 | 3964.3 | 4.28 | BAIK |
| Gula Kristal Putih | Mojosari | SARIMA(0,1,0)(0,0,0)[7] | 12.43 | 30.18 | 0.07 | BAIK |
| Minyak Goreng Kemasan Premium | Mojosari | SARIMA(0,1,0)(0,0,0)[7] | 43.65 | 86.14 | 0.21 | BAIK |
| Telur Ayam Ras | Kedungmaling | SARIMA(0,1,0)(0,0,0)[7] | 432.43 | 854.24 | 1.7 | BAIK |
| Telur Ayam Ras | Mojosari | SARIMA(0,1,0)(1,0,0)[7] | 493.16 | 809.84 | 2.04 | BAIK |
Ringkasan visual MAPE seluruh pasangan komoditas–pasar, diurutkan dari yang paling akurat. Garis putus-putus merah menandai ambang 10%.
Cara membaca: bar biru (MAPE ≤ 10%) menandai pasangan dengan akurasi baik; bar oranye (MAPE > 10%) menandai pasangan yang forecast-nya kurang akurat dan sebaiknya digunakan dengan lebih hati-hati, atau dipertimbangkan untuk dicoba ulang dengan kombinasi parameter SARIMA lain.
Selain titik forecast, ditampilkan juga rentang ketidakpastian 95% (area terarsir) dari model tunggal yang di-fit sekali pada seluruh data train. Setiap pasangan komoditas-pasar ditampilkan sebagai grafik tersendiri dengan sumbu Y masing-masing.
Cara membaca: semakin banyak titik aktual (garis hitam) yang berada di dalam area biru terarsir, semakin baik model menangkap ketidakpastian yang sebenarnya. Persentase cakupan (coverage) dihitung otomatis di bawah tiap grafik.
Output 4.3: Objek bab43_hasil_evaluasi dan bab43_hasil_forecast menyimpan hasil evaluasi akurasi dan detail forecast harian untuk seluruh pasangan yang layak diforecast.
| Komoditas | Pasar | Order SARIMA | MAPE | Akurasi |
|---|---|---|---|---|
| Beras Premium | Mojosari | (0,1,0)(0,0,0)7 | 0.05% | Baik |
| Gula Kristal Putih | Mojosari | (0,1,0)(0,0,0)7 | 0.07% | Baik |
| Minyak Goreng Kemasan Premium | Mojosari | (0,1,0)(0,0,0)7 | 0.21% | Baik |
| Bawang Merah | Mojosari | (0,1,0)(0,0,0)7 | 1.42% | Baik |
| Telur Ayam Ras | Kedungmaling | (0,1,0)(0,0,0)7 | 1.7% | Baik |
| Telur Ayam Ras | Mojosari | (0,1,0)(1,0,0)7 | 2.04% | Baik |
| Bawang Merah | Kedungmaling | (0,1,0)(1,0,0)7 | 3.42% | Baik |
| Cabe Rawit Merah | Mojosari | (0,1,0)(0,0,0)7 | 4.28% | Baik |
| Cabe Rawit Merah | Kedungmaling | (0,1,0)(0,0,1)7 | 8.01% | Baik |
Perbandingan 6 komoditas sembako fokus di Pasar Mojosari dan Pasar Kedungmaling menunjukkan tiga hal. Pertama, terdapat perbedaan harga (gap) yang nyata namun tidak seragam arahnya: 2 komoditas lebih mahal di Mojosari dan 4 di Kedungmaling, dengan gap terbesar pada Cabe Rawit Merah. Kedua, kedua pasar tidak terintegrasi – rata-rata korelasi pola pergerakan harian hanya r = 0.07, dengan 6 dari 6 komoditas berkategori lemah/independen, artinya perubahan harga di satu pasar umumnya tidak diikuti pasar lain. Ketiga, independensi ini tidak menghalangi peramalan: model SARIMA yang dibangun (tabel di atas) mencapai akurasi baik (MAPE ≤ 10%) pada 9 dari 9 pasangan, dengan performa terbaik pada Beras Premium – Mojosari (MAPE 0.05%), karena SARIMA memprediksi dari pola historis tiap pasar sendiri, bukan dari hubungan antar pasar. Sebanyak 3 dari 12 pasangan tidak diikutkan karena data harga berhenti diperbarui.