MAE & RMSE

Eval

MAE & RMSE

まとめ
  • MAE dan RMSE mengukur besarnya galat regresi dengan formulasi absolut dan kuadrat.
  • Lihat bagaimana kedua metrik merespons ketika prediksi mengandung outlier.
  • Ringkas kriteria pemilihan: sensitivitas terhadap outlier, kemudahan interpretasi, dan kesesuaian unit.

1. Definisi dan karakteristik #

Untuk pengamatan \(y_i\) dan prediksi \(\hat{y}_i\):

$$ \mathrm{MAE} = \frac{1}{n} \sum_{i=1}^n |y_i - \hat{y}i|, \qquad \mathrm{RMSE} = \sqrt{\frac{1}{n} \sum{i=1}^n (y_i - \hat{y}_i)^2} $$

  • MAE merata-rata galat absolut. Lebih tahan terhadap outlier dan sejalan dengan median pada distribusi Laplace.
  • RMSE mengkuadratkan galat sebelum dirata-ratakan lalu mengambil akar, sehingga galat besar dihukum lebih berat.
  • Keduanya mempertahankan satuan aslinya; RMSE menonjolkan galat besar, MAE menggambarkan galat rata-rata.

2. Menghitung di Python #

import numpy as np
from sklearn.metrics import mean_absolute_error, mean_squared_error

y_true = np.array([10, 12, 9, 11, 10])
y_pred = np.array([9.5, 13.0, 8.0, 11.5, 9.0])

mae = mean_absolute_error(y_true, y_pred)
rmse = mean_squared_error(y_true, y_pred, squared=False)

print(f"MAE = {mae:.3f}")
print(f"RMSE = {rmse:.3f}")

Gunakan squared=False agar mean_squared_error mengembalikan RMSE.


3. Dampak outlier #

import numpy as np

rng = np.random.default_rng(42)
baseline = np.linspace(100, 110, 20)
prediction = baseline + rng.normal(0, 1.0, size=baseline.size)

mae_clean = np.mean(np.abs(baseline - prediction))
rmse_clean = np.sqrt(np.mean((baseline - prediction) ** 2))

prediction_with_outlier = prediction.copy()
prediction_with_outlier[0] += 15

mae_outlier = np.mean(np.abs(baseline - prediction_with_outlier))
rmse_outlier = np.sqrt(np.mean((baseline - prediction_with_outlier) ** 2))

print(f"MAE (bersih, outlier) = {mae_clean:.2f}, {mae_outlier:.2f}")
print(f"RMSE (bersih, outlier) = {rmse_clean:.2f}, {rmse_outlier:.2f}")
  • MAE hanya naik sedikit ketika ditambah outlier.
  • RMSE meningkat drastis, menandai galat besar secara tajam.

4. Memilih metrik #

  • Outlier sedikit, presisi penting → pilih RMSE untuk menonjolkan deviasi halus.
  • Outlier banyak atau distribusi berekor → MAE (atau MAD) lebih stabil.
  • Biaya berskala kuadrat → RMSE sejalan dengan fungsi biaya bisnis.
  • Perlu komunikasi langsung dalam satuan asli → MAE menjawab “rata-rata menyimpang ±X satuan”.

5. Metrik terkait #

  • MAPE: galat persentase; mudah dipahami bisnis, namun tidak stabil dekat nol.
  • RMSLE: RMSE dalam skala log; menghukum underestimation pada prediksi pertumbuhan.
  • Pinball loss: mengevaluasi interval/kantil untuk skenario sensitif terhadap risiko.

Ringkasan #

  • MAE dan RMSE saling melengkapi: yang satu tangguh, yang lain peka terhadap galat besar.
  • Sajikan keduanya untuk memahami distribusi galat dan selaraskan pilihan metrik dengan fungsi biaya.
  • Lengkapi dengan MAPE, RMSLE, atau metrik lain guna memperoleh gambaran performa yang komprehensif.