まとめ
- Memberikan gambaran lengkap tentang metrik regresi dan cara memilihnya.
- Membandingkan metrik kesalahan, koefisien determinasi, serta metrik interval/probabilistik dengan contoh kode.
- Merangkum cara menyusun kumpulan metrik yang cocok dengan kebutuhan bisnis dan karakteristik data.
Bab 2 #
Ringkasan metrik regresi #
Dalam regresi, ada banyak cara untuk mengukur kedekatan prediksi dengan nilai sebenarnya. Setiap metrik menonjolkan sudut pandang berbeda—kesalahan absolut, kuadrat, relatif, maupun jaminan probabilistik—sehingga pilihan terbaik bergantung pada kasus penggunaan. Bab ini memposisikan metrik-metrik utama dan menjelaskan kapan sebaiknya digunakan.
Kategori metrik #
Metrik berbasis kesalahan #
- Mean Absolute Error (MAE): tangguh terhadap outlier dan tetap memakai satuan asli target.
- Root Mean Squared Error (RMSE): memberi hukuman besar pada galat ekstrem; cocok bila “big miss” harus dihindari.
- Mean Absolute Percentage Error (MAPE) / Weighted Absolute Percentage Error (WAPE): berguna ketika pemangku kepentingan berpikir dalam persentase, misalnya peramalan permintaan.
- Mean Absolute Scaled Error (MASE): membandingkan dengan baseline naïve musiman.
- Root Mean Squared Log Error (RMSLE): tepat ketika target mendekati nol atau laju pertumbuhan lebih penting.
Koefisien determinasi / penjelasan variansi #
- Koefisien determinasi (R²): ukuran dasar variansi yang terjelaskan; dapat bernilai negatif.
- R² teradjust: mengimbangi overfitting saat menambah fitur.
- Variansi terjelaskan: fokus pada variansi residual.
Metrik interval dan probabilistik #
- Pinball loss: mengevaluasi regresi kuantil / interval prediksi.
- PICP (Prediction Interval Coverage Probability): seberapa sering interval menutupi nilai sebenarnya.
- PINAW (Prediction Interval Normalised Average Width): mengukur seberapa rapat intervalnya.
Alur memilih metrik #
- Tetapkan tujuan bisnis
Tentukan apakah galat absolut, persentase, atau penalti asimetris yang paling penting. - Evaluasi karakteristik data
Periksa apakah nilai melintasi nol, memiliki ekor berat/outlier, atau pola musiman kuat. - Tentukan baseline
Bandingkan dengan ramalan naïve, regresi sederhana, atau rata-rata untuk memberi konteks pada perbaikan. - Gunakan metrik pelengkap
Pasangkan MAE dengan RMSE, atau R² dengan R² teradjust, agar sudut pandang berbeda tercakup.
Contoh: perbandingan metrik #
import numpy as np
import matplotlib.pyplot as plt
rng = np.random.default_rng(42)
n = 200
y_true = rng.normal(loc=100, scale=15, size=n)
noise = rng.normal(scale=10, size=n)
baseline = y_true.mean() + rng.normal(scale=12, size=n)
model = y_true + noise
robust_model = y_true + np.clip(noise, -8, 8)
def mae(y, y_hat):
return np.mean(np.abs(y - y_hat))
def rmse(y, y_hat):
return np.sqrt(np.mean((y - y_hat) ** 2))
def mape(y, y_hat):
return np.mean(np.abs((y - y_hat) / y)) * 100
scores = {
"MAE": [mae(y_true, baseline), mae(y_true, model), mae(y_true, robust_model)],
"RMSE": [rmse(y_true, baseline), rmse(y_true, model), rmse(y_true, robust_model)],
"MAPE (%)": [mape(y_true, baseline), mape(y_true, model), mape(y_true, robust_model)],
}
labels = ["Baseline", "Model", "Robust"]
x = np.arange(len(labels))
width = 0.25
fig, ax = plt.subplots(figsize=(7, 4.5))
for idx, (metric, values) in enumerate(scores.items()):
ax.bar(x + idx * width, values, width=width, label=metric)
ax.set_xticks(x + width)
ax.set_xticklabels(labels)
ax.set_ylabel("Skor")
ax.set_title("Perbandingan metrik regresi antar model")
ax.legend()
ax.grid(axis="y", alpha=0.3)
plt.tight_layout()

Setiap metrik dapat menonjolkan model berbeda. MAE menampilkan keunggulan model robust, sedangkan RMSE menghukum baseline yang terkena outlier. Gunakan metrik pelengkap untuk memastikan perilaku model sesuai harapan.
Referensi metrik #
| Kategori | Metrik | Penggunaan utama | Catatan |
|---|---|---|---|
| Error | MAE | Robust terhadap outlier, mudah ditafsir | Kurang cocok bila perlu fokus pada error relatif |
| Error | RMSE | Menekankan galat besar | Sangat sensitif terhadap outlier |
| Error | RMSLE | Mengakomodasi rentang lebar/laju pertumbuhan | Tidak terdefinisi untuk target ≤ 0 |
| Error | MAPE / WAPE | Sederhana dilaporkan sebagai persentase | Bermasalah jika target bernilai 0; cenderung menghukum underestimation |
| Error | MASE | Bandingkan dengan baseline musiman naïve | Butuh periode musiman yang tepat |
| Error | Pinball loss | Evaluasi kuantil/interval | Membutuhkan optimisasi per kuantil |
| Determinasi | R² | Mengukur variansi yang dijelaskan | Dapat bernilai negatif |
| Determinasi | R² teradjust | Bandingkan model dengan jumlah fitur berbeda | Tidak stabil pada sampel sangat kecil |
| Determinasi | Variansi terjelaskan | Fokus pada variansi residual | Bergantung pada skala; tidak melihat bias |
| Interval | PICP | Cakupan interval prediksi | Evaluasi bersama lebar interval |
| Interval | PINAW | Kerapatan interval | Tafsirkan bersama cakupan |
Daftar periksa operasional #
- Pra-deployment: jalankan metrik di seluruh riwayat dan cek plot residual untuk mendeteksi anomali.
- Monitoring: pantau pergeseran metrik (MAE, RMSE, dll.) dan tetapkan ambang peringatan.
- Diagnostik visual: kombinasikan grafik prediksi vs real, histogram residual, dan plot kuantil.
- Komunikasi ke bisnis: terjemahkan metrik ke bahasa bisnis (mis. “galat rata-rata ±RpX”) agar keputusan lebih mudah diambil.