Преобразование данных. Часть 2 | Анализ и обработка данных

Преобразование данных. Часть 2

Все курсы > Анализ и обработка данных > Занятие 8 (часть 2)

Во второй части рассмотрим нелинейные преобразования количественных данных.

Продолжим работу в том же ноутбуке

Нелинейные преобразования

Нелинейные преобразования, как уже было сказано, меняют структуру распределения.

Логарифмическое преобразование

Смысл преобразования

Рассмотрим график логарифмической функции.

По оси x располагаются значения до трансформации, по оси y — после. Ценность логарифмического преобразования в том, что:

  • расстояние между небольшими значениями увеличивается
  • расстояние между большими значениями наоборот уменьшается

И, таким образом, это преобразование делает скошенное распределение более симметричным и приближенным к нормальному. Замечу, что, как видно из графика, в общем случае преобразование возможно только для положительных исходных значений.

Скошенное вправо распределение

В силу описанной выше особенности логарифмическое преобразование чаще применяют к скошенным вправо (right-skewed) распределениям. В этих распределениях большая часть наблюдений находится как раз в диапазоне меньших значений.

логарифмическое преобразование скошенного вправо распределения

Количественно оценим изменения в скошенности и островершинности (то есть сосредоточенности значений вокруг среднего) распределения.

Коэффициент ассиметрии

Первое свойство измеряется коэффициентом ассиметрии (skewness), который в нормальном распределении должен быть равен нулю.

  • Положительные значения говорят о скошенности вправо (positively или right-skewed)
  • Отрицательные, о скошенности влево (negatively или left-skewed)

Выраженная скошенность вправо превратилась в меньшую скошенность влево.

Коэффициент эксцесса

Коэффициент эксцесса (kurtosis) измеряет островершинность распределения. Можно сказать, что эксцесс показывает сосредоточенность (плотность) значений вокруг среднего.

По формуле Фишера (Fisher’s definition) для нормального распределения значение этого коэффициента также равно нулю.

  • Положительные значения говорят о большей сосредоточенности значений около среднего (острая вершина)
  • Отрицательные — о наличии более «тяжелых хвостов» (плоская вершина)

Вершина сменилась с более острой на более плоскую.

График нормальной вероятности

Наконец с помощью графика нормальной вероятности (normal probability plot) мы можем визуально оценить, приблизилось ли распредеделение к нормальному.

график нормальной вероятности для оценци лог-преобразования скошенного вправо распределения

Разумеется, логарифмическое преобразование снижает эффект выбросов «справа».

логарифмическое преобразование и выбросы

Скошенное влево распределение

Логарифмическое преобразование, скорее всего, не подойдет для скошенного влево распределения, потому что здесь наоборот большая часть наблюдений находится в правой части диапазона. Применив лог-преобразование, мы только увеличим скошенность.

логарифмическое преобразование скошенного влево распределения

Посмотрим на коэффициент ассиметрии, коэффициент эксцесса и график нормальной вероятности.

график нормальной вероятности для оценци лог-преобразования скошенного влево распределения

Как мы видим, показатели только ухудшились.

Большие значения

Дополнительно замечу, что даже если если распределение скошено вправо, но в нем присутствуют только большие (удаленные от нуля) значения, то логарифмическое преобразование может не приблизить распределение к нормальному, поскольку эффект расширения и сжатия на больших значениях менее заметен.

Логарифм нуля и отрицательных значений

Так как логарифм нуля и отрицательных значений неопределен, при наличии нулевых значений мы можем добавить к значениям константу (например, $\log(x + 0.001)$).

Так как в данном случае мы все-таки произвольным образом меняем исходные данные, то можно использовать преобразование обратного гиперболического синуса (inverse hyperbolic sine (IHS) transformation).

$$ IHS(x) = \ln \left( x + \sqrt{x^2 + 1} \right) $$

Дополнительным преимуществом такого подхода является то, что мы можем преобразовывать любые действительные числа (а не только неотрицательные).

Основание логарифма

Чем меньше основание логарифма ($2 < e < 10$), тем больше диапазон преобразованных значений. Это можно наблюдать на графиках логарифмических функций, где функция с большим основанием становится «плоской» быстрее.

функции логарифма с разным основанием

При этом разумеется в целом логарифмическое преобразование с любым основанием действует примерно одинаково.

Линейная взаимосвязь

Многие процессы удобно моделировать с помощью линейных моделей. И хотя, как мы увидим в следующем разделе, можно использовать линейную модель с полиномиальными коэффициентам, зачастую проще наоборот «выправить» (straighten) сами данные.

преобразование нелинейной зависимости в линейную

В качестве метрики линейности взаимосвязи можно использовать коэффициент линейной корреляции Пирсона (максимизация коэффициента корреляции означает максимизацию линейности).

изменение линейной корреляции при лог-преобразовании переменных

Как мы видим, в данном случае коэффициент корреляции будет наибольшим в том случае, когда мы преобразовываем обе переменные ($-0.82$).

Если вы преобразовываете целевую переменную, важно выполнить обратное преобразования после формирования прогноза. Для операции взятия натурального логарифма обратным преобразованием будет возведение числа Эйлера в степень преобразованного числа.

$$ y = ln(x) \rightarrow x = e^y $$

Примечание. Логарифмическое преобразование также легко интерпретировать. Например, снижение на −0.162 функции натурального логарифма свидетельствует о снижении на 15% в исходных данных вне зависимости от их масштаба.

Преобразование квадратного корня

Рассмотрим преобразование с помощью квадратного корня (square root transformation).

преобразование квадратного корня

В целом, как видно из формы кривой, такое преобразование действует аналогично логарифмическому, однако менее агрессивно. С другой стороны, его без изменений можно применять к нулевым значениям.

Лестница степеней Тьюки

Помимо преобразования квадратного корня (то есть возведение в $\frac{1}{2} $ степени) можно пробовать и другие показатели. Для того чтобы понять, какое преборазование окажется наиболее удачным, используют лестницу степеней Тьюки (Tukey’s Ladder of Powers).

лестница степеней Тьюки

По сути, мы по очереди применяем каждое из значений $\lambda$ и смотрим, что получится. Здесь важно сделать несколько примечаний:

Примечание 1. Вместо возведения в нулевую степень применяется логарифмическое преобразование.

Примечание 2. Если переменная принимает отрицательные значения, то после, например, возведения в квадрат и обратного преобразования, такое значение потеряет смысл.

Примечание 3. Если параметр $\lambda$ принимает отрицательные значения, то зависимость переворачивается. Например, если $y = x$ — это возрастающая зависимость, то $\frac{1}{x} $ — убывающая. Преодолеть это можно, прописав что $-(x^{\lambda})$, если $ \lambda < 0 $.

отрицательные значения lambda в лестнице Тьюки

Тогда

варианты преобразований при различных lambda
измененная лестница степеней Тьюки

Этот инструмент удобно использовать, когда нужно «выправить» нелинейную взаимосвязь между переменными, например, в задаче линейной регрессии. Напишем функцию, которая на вход будет принимать признак и целевую переменную и выдавать оптимальную $\lambda$ и соответствующий ей коэффициент корреляции.

Оптимальным будет логарифмическое преобразование. Применим функцию к нескольким признакам с положительными значениями.

Посмотрим на корреляцию изначальных переменных.

Для дальнейшей работы отберем RM, PTRATIO и LSTAT. Выполним необходимые преобразования.

преобразование данных в соответствии с лестницей Тьюки

Построим модель линейной регрессии на исходных и преобразованных данных и рассчитаем коэффициент детерминации.

Еще одним вариантом было бы применение различных преобразований к признаку и целевой переменной. В частности, Тьюки и Мостеллер предложили следующее правило выпуклости (Tukey and Mosteller’s Bulging Rule).

правило выпуклости Тьюки и Мостеллера

В данном случае преобразования выбираются в зависимости от четырех приведнных на схеме форм зависимости данных.

Теперь рассмотрим более сложные, но близкие по смыслу к лестнице Тьюки степенные преобразования (power transformations) Бокса-Кокса и Йео-Джонсона.

Преобразование Бокса-Кокса

Приведем формулу преобразования Бокса-Кокса (Box-Cox transformation).

преобразования Бокса-Кокса

Очевидно, что преобразуемые значения $y_i$ могут быть только положительными. Параметр $\lambda$ выбирается методом наибольшего (максимального) правдоподобия (maximum likelihood method). Его рассмотрение выходит за рамки сегодняшнего занятия.

преобразования Бокса-Кокса: гистограмма
преобразования Бокса-Кокса: точечная диаграмма
преобразования Бокса-Кокса: коэффициент корреляции
преобразования Бокса-Кокса: обратное преобразование

Преобразование Йео-Джонсона

Преобразование Йео-Джонсона (Yeo-Johnson transformation) позволяет работать с нулевыми и отрицательными значениями.

преобразование Йео-Джонсона
преобразование Йео-Джонсона: гистограмма
преобразование Йео-Джонсона: точечная диаграмма

QuantileTransformer

При квантильном преобразовании (quantile transformation) исходным данным присваивается квантильный ранг в целевом (равномерном или нормальном) распределении. Этот ранг и есть новая преобразованная оценка.

Особенность такого преобразования заключается в том, что новое распределение никак не связано с исходным. Рассмотрим пример преобразования данных с выбросами.

QuantileTransformer: гистограмма
QuantileTransformer: точечная диаграмма

Исходя из преобразованных значений (посмотрите на значение с индексом 507) и точечной диаграммы мы видим, что эффект выбросов сохранился.

Подведем итог

На сегодняшнем занятии мы рассмотрели линейные и нелинейные способы преобразования количественных данных. В дополнительных материалах мы создадим pipeline для преобразования данных и создания модели.

Вопросы для закрепления

Почему все методы масштабирования за исключением RobustScaler чувствительны к выбросам?

Ответ: при стандартизации (StandardScaler) выбросы влияют на расчет СКО, что не обеспечивает полностью одинакового масштаба признаков; при приведении данных к диапазону (MinMaxScaler и MaxAbsScaler) признаки оказываются в пределах одного диапазона, однако в признаках в выбросами последние «сжимают» основную часть данных, и она концентрируется только в этой части диапазона.

Перейдем к работе с выбросами.


Ответы на вопросы

Вопрос. Не очень понял применение формулы Евклидова расстояния на занятии по кластерному анализу.

Ответ. На занятии по кластеризации мы измеряли с помощью Евклидова расстояния дистанцию между двумя вектора, здесь же мы использовали формулу для расчета длины одного и того же вектора.