Sobes.tech
Middle — Senior

Wat is distributie drift en hoe detecteer je het (KS-test, PSI)?

sobes.tech AI

Antwoord van AI

Distributieverschuiving — dit is een verandering in de gegevensverdeling in de loop van de tijd, wat kan leiden tot een afname in de kwaliteit van een machine learning-model, omdat het model getraind is op één verdeling, terwijl in productie de gegevens uit een andere bron komen.

Om distributieverschuiving te detecteren, worden vaak statistische tests en metrics gebruikt:

  • KS-test (Kolmogorov-Smirnov test) — een niet-parametrische test die twee steekproeven vergelijkt en controleert hoe verschillend hun verdelingen zijn. Als de p-waarde van de test laag is, betekent dit dat de verdelingen significant verschillen.

  • PSI (Population Stability Index) — een metric die de verandering in de verdeling van een variabele tussen twee periodes meet. PSI wordt berekend op basis van de bins van de verdeling en toont de mate van verschuiving. Gewoonlijk:

    • PSI < 0.1 — onbeduidende verschuiving
    • 0.1 < PSI < 0.25 — matige verschuiving
    • PSI > 0.25 — significante verschuiving

Voorbeeld van het gebruik van de KS-test in Python:

from scipy.stats import ks_2samp

reference_data = [...]  # gegevens uit de trainingsmonsters
current_data = [...]    # nieuwe gegevens

statistic, p_value = ks_2samp(reference_data, current_data)
if p_value < 0.05:
    print("Distributieverschuiving gedetecteerd")
else:
    print("Verdelingen lijken op elkaar")

Door regelmatige monitoring van verdelingen met behulp van de KS-test en PSI, kunnen verschuivingen tijdig worden opgespoord en maatregelen worden genomen (bijvoorbeeld het opnieuw trainen van het model).