Sobes.tech
Middle — Senior

Mi az a distribution drift, és hogyan lehet felismerni (KS-teszt, PSI)?

sobes.tech MI

Válasz az MI-től

A distribution drift — az adatok időbeli változása, amely a gépi tanulási modell minőségének romlásához vezethet, mivel a modellt egy adott eloszlásra tanították, míg a gyakorlatban az adatok más forrásból származnak.

A distribution drift felismeréséhez gyakran használnak statisztikai teszteket és metrikákat:

  • KS-teszt (Kolmogorov-Smirnov teszt) — egy nem paraméteres teszt, amely két mintát összehasonlít, és ellenőrzi, mennyire térnek el eloszlásaik. Ha a p-érték alacsony, akkor jelentős eltérés van az eloszlások között.

  • PSI (Population Stability Index) — egy mérőszám, amely méri egy változó eloszlásának változását két időszak között. A PSI a eloszlás binjei alapján kerül kiszámításra, és mutatja a eltolódás mértékét. Általában:

    • PSI < 0.1 — nem jelentős eltolódás
    • 0.1 < PSI < 0.25 — mérsékelt eltolódás
    • PSI > 0.25 — jelentős eltolódás

Példa a KS-teszt Pythonban való használatára:

from scipy.stats import ks_2samp

reference_data = [...]  # edzési minta adatai
current_data = [...]    # új adatok

statistic, p_value = ks_2samp(reference_data, current_data)
if p_value < 0.05:
    print("Distribution drift észlelve")
else:
    print("Az eloszlások hasonlóak")

Így a KS-teszt és a PSI segítségével végzett rendszeres eloszlásfigyelés időben felismeri a driftet, és lehetővé teszi a szükséges lépések megtételét (pl. a modell újra tanítása).