De flesta modeller som ger sannolikheter är inte kalibrerade, och de flesta som använder dem vet inte om det.
Det spelar ingen roll om talet bara används för att sortera. Det spelar stor roll så fort det används i en uträkning.
Var det går sönder
Rangordning efter churnrisk fungerar med en okalibrerad modell. Kunderna hamnar i rätt ordning.
Men så fort ni räknar förväntat räddat värde — sannolikhet gånger kundvärde gånger insatsens effekt — är sannolikheten en faktor i ett tal som ska jämföras med en kostnad. Är den systematiskt för hög blir varje sådan uträkning för hög, och budgeten för retention sätts på felaktig grund.
Samma sak vid prissättning av risk, vid kapacitetsplanering, och överallt där en sannolikhet blir indata till ett beslut i stället för till en sortering.
Hur man mäter det
Dela in prediktionerna i grupper efter predicerad sannolikhet. Räkna för varje grupp hur stor andel som faktiskt inträffade. Rita det ena mot det andra.
En kalibrerad modell hamnar på diagonalen. Avvikelserna är oftast systematiska och avslöjande:
| Mönster | Betyder |
|---|---|
| Kurvan under diagonalen | Modellen överskattar risken genomgående |
| S-form | Modellen är för självsäker i båda ändarna |
| Bra i mitten, fel i kanterna | Vanligast, och kanterna är ofta där besluten fattas |
Vad som orsakar det
Obalanserade data med omviktning. Har ni viktat upp den sällsynta klassen för att modellen ska lära sig något är sannolikheterna inte längre i den skala verkligheten har. Det är den vanligaste orsaken, och den är lätt att glömma.
Modeller som optimerar rangordning. Vissa metoder, gradient boosting bland dem, tenderar att pressa sannolikheter mot ytterligheterna eftersom det gynnar måttet de tränas mot.
Skiftad population. Modellen tränades på fjolårets kundbas. Är sammansättningen en annan i dag är nivån fel även om formen är rätt.
Hur man rättar till det
Efterkalibrering på ett separat dataset som inte använts till träning. Två vanliga metoder är Platt-skalning, som anpassar en logistisk kurva, och isotonisk regression, som är mer flexibel men kräver mer data.
Viktigt: det ska göras på data modellen inte sett. Kalibrera på träningsdata och resultatet ser perfekt ut utan att vara det, en variant av dataläckage.
Och det måste följas upp. Kalibrering glider över tid även när rangordningen håller. Det gör den till ett bra mått att övervaka i drift.