Regresi

Eval

Regresi

まとめ
  • 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 #

  1. Tetapkan tujuan bisnis
    Tentukan apakah galat absolut, persentase, atau penalti asimetris yang paling penting.
  2. Evaluasi karakteristik data
    Periksa apakah nilai melintasi nol, memiliki ekor berat/outlier, atau pola musiman kuat.
  3. Tentukan baseline
    Bandingkan dengan ramalan naïve, regresi sederhana, atau rata-rata untuk memberi konteks pada perbaikan.
  4. 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()
Perbandingan metrik regresi

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 #

KategoriMetrikPenggunaan utamaCatatan
ErrorMAERobust terhadap outlier, mudah ditafsirKurang cocok bila perlu fokus pada error relatif
ErrorRMSEMenekankan galat besarSangat sensitif terhadap outlier
ErrorRMSLEMengakomodasi rentang lebar/laju pertumbuhanTidak terdefinisi untuk target ≤ 0
ErrorMAPE / WAPESederhana dilaporkan sebagai persentaseBermasalah jika target bernilai 0; cenderung menghukum underestimation
ErrorMASEBandingkan dengan baseline musiman naïveButuh periode musiman yang tepat
ErrorPinball lossEvaluasi kuantil/intervalMembutuhkan optimisasi per kuantil
DeterminasiMengukur variansi yang dijelaskanDapat bernilai negatif
DeterminasiR² teradjustBandingkan model dengan jumlah fitur berbedaTidak stabil pada sampel sangat kecil
DeterminasiVariansi terjelaskanFokus pada variansi residualBergantung pada skala; tidak melihat bias
IntervalPICPCakupan interval prediksiEvaluasi bersama lebar interval
IntervalPINAWKerapatan intervalTafsirkan 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.