Ce este deriva distribuției și cum o detectăm (test KS, PSI)?
sobes.tech AI
Răspuns de la AI
Deplasarea distribuției — aceasta este o schimbare în distribuția datelor în timp, care poate duce la scăderea calității modelului de învățare automată, deoarece modelul este antrenat pe o anumită distribuție, în timp ce în producție datele provin din alta.
Pentru detectarea deplasării distribuției, se folosesc adesea teste statistice și metrici:
-
Testul KS (testul Kolmogorov-Smirnov) — un test neparametric care compară două eșantioane și verifică cât de mult diferă distribuțiile lor. Dacă valoarea p a testului este scăzută, înseamnă că distribuțiile diferă semnificativ.
-
PSI (Indicele de Stabilitate a Populației) — o metrică care măsoară schimbarea în distribuția unei variabile între două perioade. PSI se calculează pe baza binurilor de distribuție și indică gradul de deplasare. În mod obișnuit:
- PSI < 0.1 — deplasare nesemnificativă
- 0.1 < PSI < 0.25 — deplasare moderată
- PSI > 0.25 — deplasare semnificativă
Exemplu de utilizare a testului KS în Python:
from scipy.stats import ks_2samp
reference_data = [...] # date din eșantionul de antrenament
current_data = [...] # date noi
statistic, p_value = ks_2samp(reference_data, current_data)
if p_value < 0.05:
print("Deplasare a distribuției detectată")
else:
print("Distribuțiile sunt similare")
Astfel, monitorizarea regulată a distribuțiilor cu ajutorul testului KS și PSI ajută la identificarea în timp util a deplasării și la luarea măsurilor necesare (de exemplu, reantrenarea modelului).