Sobes.tech
Middle — Senior

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