Mis on ja kuidas tuvastada jaotuse nihkumist (KS-test, PSI)?
sobes.tech AI
Vastus AI-lt
Jaotuse nihkumine — see on andmete jaotuse muutus aja jooksul, mis võib põhjustada masinõppemudeli kvaliteedi langust, kuna mudel on treenitud ühe jaotuse põhjal, kuid tootmises tulevad andmed teisest allikast.
Jaotuse nihkumise tuvastamiseks kasutatakse sageli statistilisi teste ja mõõdikuid:
-
KS-test (Kolmogorovi-Smirnovi test) — mitteparameetriline test, mis võrdleb kahte näidet ja kontrollib, kui palju nende jaotused erinevad. Kui testi p-väärtus on madal, tähendab see, et jaotused erinevad oluliselt.
-
PSI (Rahvastiku stabiilsuse indeks) — mõõdik, mis mõõdab ühe muutuja jaotuse muutust kahe perioodi vahel. PSI arvutatakse jaotuse binide põhjal ja näitab nihke astet. Tavaliselt:
- PSI < 0.1 — ebaoluline nihke
- 0.1 < PSI < 0.25 — mõõdukas nihke
- PSI > 0.25 — oluline nihke
Python näide KS-testi kasutamisest:
from scipy.stats import ks_2samp
reference_data = [...] # treeningu näidise andmed
current_data = [...] # uued andmed
statistic, p_value = ks_2samp(reference_data, current_data)
if p_value < 0.05:
print("Jaotuse nihkumine tuvastatud")
else:
print("Jaotused on sarnased")
Regulaarne jaotuste jälgimine KS-testi ja PSI abil aitab õigeaegselt tuvastada nihke ning võtta vajalikke meetmeid (näiteks, mudeli uuesti treenimine).