Sobes.tech
Middle — Senior

Šta je drift distribucije i kako ga otkriti (KS-test, PSI)?

sobes.tech АИ

Одговор од АИ

Премештање расподеле — то је промена у расподели података током времена, што може довести до погоршања квалитета модела машинског учења, јер је модел трениран на једној расподели, а у продукцији подаци долазе из другог извора.

За откривање премештања расподеле често се користе статистички тестови и метрике:

  • KS тест (Kolmogorov-Smirnov тест) — непараметарски тест који пореди две узорке и проверава колико се њихове расподеле разликују. Ако је p-вредност теста ниска, то значи да се расподеле значајно разликују.

  • PSI (Индекс стабилности популације) — метрика која мери промену у расподели променљиве између два периода. PSI се израчунава на основу бина расподеле и показује степен померања. Обично:

    • PSI < 0.1 — незнатно померање
    • 0.1 < PSI < 0.25 — умерено померање
    • PSI > 0.25 — значајно померање

Пример коришћења KS теста у Python-у:

from scipy.stats import ks_2samp

reference_data = [...]  # подаци из тренинг узорка
current_data = [...]    # нови подаци

statistic, p_value = ks_2samp(reference_data, current_data)
if p_value < 0.05:
    print("Откривено померање расподеле")
else:
    print("Расподеле су сличне")

Овим редовним праћењем расподела помоћу KS теста и PSI-а, могуће је благовремено открити померање и предузети мере (нпр. поновно тренирање модела).