Mät drift med PSI och KS
Kvantifiera förändringar i fördelningen för varje feature.
Mät drift med PSI och KS är en gratis lektion i MLOps Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för MLOps Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i MLOps Academy innehåller totalt 4 lektioner.
Från magkänsla till siffra
Det räcker inte att säga att ett attribut verkar annorlunda. Ni behöver en siffra som visar hur mycket dess fördelning har förändrats. Två beprövade verktyg är PSI och KS-testet. 📏
Vad PSI mäter
Population Stability Index jämför ett attributs aktuella fördelning med träningsdata, intervall för intervall. Ju större skillnaden är i varje intervall, desto högre blir värdet.
Så tolkar ni PSI-värden
En vanlig tumregel är att PSI under 0,1 betyder stabilitet, 0,1 till 0,25 betyder en måttlig förändring och över 0,25 betyder betydande drift som bör hanteras.
Så beräknas PSI
För varje intervall multiplicerar PSI procentuell skillnad med den logaritmiska kvoten mellan de två procentandelarna och summerar sedan över alla intervall till ett enda värde.
import numpy as np
def psi(expected, actual):
return np.sum((actual - expected) * np.log(actual / expected))Indelningen kommer först
PSI kräver att båda urvalen placeras i samma intervall, ofta tiondelar baserade på träningsdata. Samma gränser på båda sidor gör jämförelsen rättvis.
edges = np.quantile(reference, np.linspace(0, 1, 11))
exp = np.histogram(reference, edges)[0] / len(reference)
act = np.histogram(current, edges)[0] / len(current)Vad KS-testet mäter
Kolmogorov-Smirnov-testet hittar den största skillnaden mellan två kumulativa fördelningar. Detta maximala avstånd är KS-statistikan.
KS på en rad
SciPy ger er KS-testet direkt. Ett litet p-värde betyder att de två urvalen sannolikt kommer från olika fördelningar, vilket kan tyda på drift.
from scipy.stats import ks_2samp
stat, pvalue = ks_2samp(reference, current)
drifted = pvalue < 0.05PSI jämfört med KS
PSI ger ett enda allvarlighetsvärde som passar bra i dashboards. KS ger ett statistiskt p-värde som passar bra för beslut med ja eller nej. Många team följer båda bredvid varandra.
Kategoriska attribut
PSI fungerar naturligt för kategorier och behandlar varje värde som ett eget intervall. KS förutsätter ordnade tal, så använd chi-två-testet för kategoriska attribut i stället.
Var uppmärksam på urvalsstorleken
Med mycket stora urval markerar KS-testet små, harmlösa förändringar som statistiskt signifikanta. Kombinera p-värdet med en effektstorlek som PSI innan ni utlöser en varning.
Per attribut och sedan sammanfattning
Kör dessa tester per attribut och sammanfatta sedan resultaten. En användbar signal är andelen attribut som förändrats, vilket visar om förändringen är bred eller begränsad. 📊
Snabb kontroll
Välj rätt tolkning av dessa siffror.
Sammanfattning
Ni omvandlade drift till siffror: PSI mäter allvarlighetsgrad med intervall och KS mäter den största skillnaden mellan fördelningar. Använd båda, tänk på urvalsstorleken och välj rätt test för varje attributtyp. 🎯
Lär dig Python med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”Mät drift med PSI och KS” gratis?
Ja – hela texten till ”Mät drift med PSI och KS” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i MLOps Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i MLOps Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Mät drift med PSI och KS”?
Kvantifiera förändringar i fördelningen för varje feature. Ni övar på MLOps Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig MLOps Academy?
Du behöver inga förkunskaper. Utbildningen i MLOps Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Mät drift med PSI och KS”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här MLOps Academy-lektionen?
Ja. Varje MLOps Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Data drift kontra concept drift
- Mät drift med PSI och KS
- Generera driftrapporter med Evidently
- Sätt drifttrösklar och utlösare