Š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-а, могуће је благовремено открити померање и предузети мере (нпр. поновно тренирање модела).