Prediksi regresi logistik tidak boleh bias. Definisinya yaitu:
"rata-rata prediksi" harus ≈ "rata-rata pengamatan"
Bias Prediksi adalah kuantitas yang mengukur seberapa jauh kedua rata-rata tersebut. Definisinya yaitu:
Bias prediksi bukan nol yang signifikan memberi tahu Anda bahwa ada bug di suatu tempat dalam model Anda, karena ini menunjukkan bahwa model tersebut salah mengenai seberapa sering label positif terjadi.
Misalnya, kita tahu bahwa rata-rata 1% dari semua email adalah spam. Jika kita tidak mengetahui apa pun tentang email tertentu, kita harus memprediksi bahwa kemungkinan 1% adalah spam. Demikian pula, model spam yang baik harus memprediksi rata-rata bahwa email 1% kemungkinan besar adalah spam. (Dengan kata lain, jika kita mengambil rata-rata kemungkinan prediksi bahwa sebuah email adalah spam, hasilnya harus 1%.) Jika sebaliknya, prediksi rata-rata model adalah 20% kemungkinan spam, kita dapat menyimpulkan bahwa hal tersebut menunjukkan bias prediksi.
Kemungkinan penyebab bias prediksi adalah:
- Set fitur tidak lengkap
- Set data bising
- Pipeline bermasalah
- Contoh pelatihan yang bias
- Regularisasi terlalu kuat
Anda mungkin ingin mencoba memperbaiki bias prediksi dengan pasca-pemrosesan model yang dipelajari, yaitu dengan menambahkan lapisan kalibrasi yang menyesuaikan output model untuk mengurangi bias prediksi. Misalnya, jika model memiliki bias +3%, Anda bisa menambahkan lapisan kalibrasi yang akan menurunkan prediksi rata-rata sebesar 3%. Namun, menambahkan lapisan kalibrasi adalah ide yang buruk untuk alasan berikut:
- Anda memperbaiki gejala, bukan penyebabnya.
- Anda telah membuat sistem yang lebih rapuh sehingga kini Anda harus terus memperbaruinya.
Jika memungkinkan, hindari lapisan kalibrasi. Project yang menggunakan lapisan kalibrasi cenderung akan bergantung pada lapisan tersebut menggunakan lapisan kalibrasi untuk memperbaiki semua kesalahan modelnya. Pada akhirnya, mempertahankan lapisan kalibrasi dapat menjadi seperti mimpi buruk.
Bucket dan Bias Prediksi
Regresi logistik memprediksi nilai antara 0 dan 1. Namun, semua contoh berlabel adalah 0 (misalnya, "bukan spam") atau persis 1 (artinya, "spam"). Oleh karena itu, saat memeriksa bias prediksi, Anda tidak dapat menentukan bias prediksi secara akurat hanya berdasarkan satu contoh; Anda harus memeriksa bias prediksi pada "bucket" dari contohnya. Artinya, bias prediksi untuk regresi logistik hanya masuk akal jika mengelompokkan cukup contoh untuk dapat membandingkan nilai yang diprediksi (misalnya, 0,392) dengan nilai yang diamati (misalnya, 0,394).
Anda dapat membuat bucket dengan cara berikut:
- Membagi prediksi target secara linear.
- Membentuk kuantil.
Pertimbangkan plot kalibrasi berikut dari model tertentu. Setiap titik mewakili bucket berisi 1.000 nilai. Sumbu memiliki arti sebagai berikut:
- Sumbu x mewakili rata-rata nilai yang diprediksi model untuk bucket tersebut.
- Sumbu y mewakili rata-rata nilai sebenarnya dalam set data untuk bucket tersebut.
Kedua sumbu adalah skala logaritma.
Gambar 8. Kurva bias prediksi (skala logaritmik)
Mengapa prediksi sangat buruk hanya untuk satu bagian model? Berikut adalah beberapa kemungkinannya: