Kas yra paskirstymo nuokrypis ir kaip jį nustatyti (KS-testas, PSI)?
sobes.tech AI
Atsakymas iš AI
Pasiskirstymo poslinkis — tai duomenų paskirstymo pokytis laikui bėgant, kuris gali sukelti mašininio mokymosi modelio kokybės sumažėjimą, nes modelis buvo apmokytas viename paskirstyme, o gamyboje duomenys gaunami iš kito.
Norint nustatyti paskirstymo poslinkį, dažnai naudojami statistiniai testai ir metrikos:
-
KS testas (Kolmogorovo-Smirnovo testas) — neparametrinis testas, kuris lygina dvi imtis ir tikrina, kiek jų paskirstymai skiriasi. Jei testo p-reikšmė yra žema, tai reiškia, kad paskirstymai reikšmingai skiriasi.
-
PSI (Populiacijos stabilumo indeksas) — metrika, kuri matuoja pokytį vienos kintamosios paskirstyme tarp dviejų laikotarpių. PSI skaičiuojamas pagal paskirstymo binus ir rodo poslinkio laipsnį. Paprastai:
- PSI < 0.1 — nereikšmingas poslinkis
- 0.1 < PSI < 0.25 — vidutinis poslinkis
- PSI > 0.25 — reikšmingas poslinkis
Python pavyzdys, kaip naudoti KS testą:
from scipy.stats import ks_2samp
reference_data = [...] # mokymo imties duomenys
current_data = [...] # nauji duomenys
statistic, p_value = ks_2samp(reference_data, current_data)
if p_value < 0.05:
print("Paskirstymo poslinkis aptiktas")
else:
print("Paskirstymai panašūs")
Reguliariai stebint paskirstymus naudojant KS testą ir PSI, galima laiku nustatyti poslinkį ir imtis priemonių (pavyzdžiui, modelio permokymas).