DamiRocK

Quantile transform: из признака в Uniform(0,1), а затем в N(0,1)

Ранги и эмпирическая CDF дают почти равномерный признак, а Φ⁻¹ переводит его в нормальную шкалу. Разбираем границы 0 и 1 и ties.

Задача

Как монотонно преобразовать один числовой признак так, чтобы его эмпирическое распределение стало близким к равномерному на [0,1], а затем — близким к стандартному нормальному?

Равномерная шкала

Отсортируйте значения и замените наблюдение его нормированным рангом. Практический вариант, не достигающий точных границ:

u_i=(rank_i−1/2)/n.

Для непрерывного истинного распределения идеальная population-версия — U=F_X(X), которая имеет U[0,1].

Нормальная шкала

После этого примените обратную стандартную нормальную функцию распределения:

z_i=Φ^{-1}(u_i).

Полученные z имеют симметричную нормальную шкалу и сохраняют порядок исходных наблюдений.

Почему нельзя брать rank/(n−1) без оговорки

Если преобразование создаёт u=0 или u=1, Φ^{-1} даёт бесконечные значения. Поэтому используют внутренние plotting positions или clipping.

Связанные значения

При ties нужно выбрать соглашение: средние ранги сохраняют одинаковым исходным значениям одинаковый результат; случайное разбиение ties добавляет искусственный порядок. Transform, обученный на train-set, следует применять к test-set без повторного использования его меток или общей переразметки рангов, чтобы избежать утечки.

Борис Демешев и участники · mlearn_pro, задача 125 · CC BY 4.0. Идея rank/CDF-преобразования источника сохранена; граничные случаи дополнены.

Reading preferences

Appearance
Contrast
More options

Saved only in this browser. Your device’s reduced-motion setting is always respected. Browser zoom works throughout the site.