Sobes.tech
Middle — Senior

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).