Kenapa Model Memburuk di Produksi
Model dilatih pada masa lalu dan dipakai pada masa depan. Ketika dunia bergeser, akurasinya turun — sering tanpa satu pun error di log.
Yang akan Anda bisa
- Menjelaskan kenapa model yang tidak berubah bisa memburuk
- Membedakan covariate drift dan concept drift
- Memilih sinyal yang dipantau ketika label datang terlambat
Sebuah model penilaian kredit dirilis dengan AUC 0,86 pada data uji. Enam bulan kemudian, tidak ada kode yang berubah, tidak ada server yang mati, tidak ada error di log — dan tingkat gagal bayar pada pinjaman yang disetujuinya naik dua kali lipat. Model itu tidak rusak. Dunianya yang berubah.
Dua jenis pergeseran#
| Jenis | Yang berubah | Contoh |
|---|---|---|
| Covariate drift | Distribusi masukan, P(X) | Kampanye pemasaran baru mendatangkan pelamar yang jauh lebih muda |
| Concept drift | Hubungan masukan ke target, P(y | X) | Suku bunga naik; profil pelamar yang sama kini lebih sering gagal bayar |
Covariate drift bisa dideteksi segera, karena Anda melihat masukannya setiap hari. Concept drift jauh lebih licin: masukannya bisa terlihat persis sama, dan satu-satunya bukti adalah label — yang untuk pinjaman mungkin baru diketahui berbulan-bulan kemudian.
Mengukur pergeseran: PSI#
Cara paling umum di industri untuk mengukur covariate drift pada satu fitur adalah Population Stability Index. Bagi fitur ke dalam bin, bandingkan proporsi tiap bin saat pelatihan (e) dengan proporsinya sekarang (a).
- eᵢ
- proporsi bin i pada data latih (expected)
- aᵢ
- proporsi bin i pada data produksi (actual)
import numpy as np expected = np.array([0.25, 0.25, 0.25, 0.25]) # saat pelatihanactual = np.array([0.10, 0.20, 0.30, 0.40]) # bulan ini psi = np.sum((actual - expected) * np.log(actual / expected))print(round(psi, 3))0.228Apa yang dipantau#
| Lapisan | Sinyal | Kapan tersedia |
|---|---|---|
| Masukan | PSI per fitur, nilai hilang, nilai di luar rentang | Langsung |
| Keluaran | Distribusi skor, tingkat persetujuan | Langsung |
| Performa | AUC, presisi, recall terhadap label nyata | Setelah label datang — bisa berbulan-bulan |
| Bisnis | Gagal bayar, pendapatan, keluhan | Paling lambat, paling penting |
Karena label sering terlambat, sinyal masukan dan keluaran adalah peringatan dini Anda. Mereka tidak membuktikan model memburuk — tapi memberi tahu kapan harus mulai memeriksa, jauh sebelum dampaknya muncul di laporan keuangan.
Distribusi semua fitur stabil (PSI < 0,05), tapi presisi model turun tajam setelah label tiga bulan terakhir masuk. Apa yang paling mungkin terjadi?
Label untuk model Anda baru tersedia 90 hari setelah prediksi. Apa yang sebaiknya dipantau setiap hari?