Att komma igång med överlevnadsanalys i Python brukade betyda att man antingen skrev egen kod eller flyttade till R. scikit-survival gjorde det till en vanlig del av arbetsflödet.
Vad som ingår
Cox proportional hazards, med regularisering. Användbart när det finns fler variabler än vad en klassisk Cox-modell klarar.
Random survival forests, som fångar icke-linjäriteter och samspel utan att kräva antagandet om proportionella risker.
Gradient boosting för överlevnad, när träffsäkerhet väger tyngre än tolkbarhet.
Utvärderingsmått som klarar censurering: concordance index och tidsberoende AUC. Vanliga mått fungerar inte på censurerad data och ger vilseledande resultat om de används ändå.
Datastrukturen
Utfallet är inte ett tal utan ett par: hände det, och när. Biblioteket kräver att man strukturerar datan så. Det tvingar i praktiken fram ett tydliggörande som ofta i sig avslöjar problem i underlaget.
Den vanligaste upptäckten vid det steget är att ingen loggat när en kund sa upp, bara att statusen numera är uppsagd. Då måste tidpunkten rekonstrueras ur fakturahistorik eller liknande, ett typiskt fall för mätdesign inför nästa gång.
När något annat passar bättre
Ska livslängden användas i en kundvärdesberäkning behövs oftast en parametrisk modell som kan extrapolera långt fram, till exempel med Weibull. Där är PyMC eller Stan smidigare, och ger dessutom osäkerhet på köpet.
scikit-survival är rätt när frågan är vilka faktorer som driver bortfallet och vilka kunder som är mest utsatta just nu.