В моем практическом проекте аналитическое решение было разработано на основе машинного обучения. И во вселенной машинного обучения распределение вероятностей является ядром. Среди всех распределений вероятностей нормальное распределение (также известное как распределение Гаусса) находится в центре внимания. В большинстве распространенных случаев использования алгоритмов машинного обучения, прежде чем спешить с приложением, аналитикам предлагается сначала проверить распределение независимых переменных и переменных ответа и посмотреть, нормально ли они распределены. Если нет, то может возникнуть проблема, о которой нужно позаботиться в первую очередь.

Как важно быть нормальным

Если мы сгруппируем значения переменной из выборки в ведра и начнем записывать количество раз, когда переменная имеет значение ведра. После этого мы записываем появление каждого значения ведра, строим гистограмму на основе записи, затем из диаграммы выводим кривую. Кривая известна как кривая распределения вероятностей, обозначающая вероятность того, что интересующая переменная получит значение при непрерывном распределении.

Как только распределение возможных значений переменной установлено, мы можем приступить к оценке вероятностей событий, используя функции распределения вероятностей. Распределение зависит от моментов выборки, таких как среднее значение, стандартное отклонение, асимметрия и эксцесс. Все вероятности на распределении в сумме дадут 100%.

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

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

Одной из особых характеристик нормального распределения является то, что его можно идентифицировать всего с двумя параметрами генеральной совокупности, средним значением и стандартным отклонением. Среднее — это то, что мы назвали «средним» значением в популяции. Стандартное отклонение измеряет разброс данных от средней точки. Эта характеристика дает аналитикам возможность объяснить распределение данных интерпретируемым и сопоставимым образом для широкой аудитории.

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

Критерии нормальности могут быть либо статистическими, либо графическими. Наиболее часто используемые методы включают тест Шапиро-Уилка, тест Андерсона-Дарлинга, гистограмму, график QQ и так далее.

Преобразовывать или не преобразовывать

Когда распределение данных не соответствует требованию нормальности, что имело место в моем практическом проекте, это обычно указывает на 2 возможности. Либо данные носят ненормальный характер, вызванный асимметрией или эксцессом; или данные нарушены парой экстремальных значений/выбросов. Выбросы определяются как точки данных, которые более чем на 1,5 межквартильных диапазона (IQR) ниже 1-го квартиля или выше 3-го квартиля. Любые значения данных, которые более чем в 3 раза превышают IQR ниже 1-го квартиля или выше 3-го квартиля, называются экстремальными выбросами. Экстремальные значения могут существовать как в объясняющих переменных, так и в переменных отклика в случае контролируемого обучения. Они происходят из-за множества причин, таких как систематическая ошибка, человеческая ошибка или естественное явление.

Некоторые из наиболее часто используемых моделей машинного обучения чувствительны к выбросам, например, линейная регрессия и логистическая регрессия. На другие модели, такие как повышающие модели, могут сильно повлиять выбросы, поскольку повышающие модели строят каждую итерацию на ошибках предыдущей итерации и налагают веса на легко классифицируемые точки данных в текущей итерации. Поскольку выбросы, как правило, неправильно классифицируются, повышающие модели ошибочно сосредоточили бы непропорционально большой объем работы на взвешивании выбросов. Тем не менее, есть модели, которые также относительно устойчивы к выбросам, такие как Random Forest и Gradient Boosting. Общим для них является ансамблевый характер.

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

Помимо расстояния Кука, которое можно применять только в линейной регрессии для обнаружения важных точек, существуют и другие методы, являющиеся хорошей общей практикой для обнаружения выбросов, такие как z-оценка, блочная диаграмма и тому подобное. Более продвинутые методы для многомерных данных включают PCA, LOF, HiCS и так далее.

Поэтому, проверив, есть ли в данных выбросы, мы можем попытаться удалить их, чтобы увидеть, улучшит ли это распределение до нормального. Если удаление не работает, то нужна техника трансформации.

Winsorization — это простой в использовании метод при работе с выбросами. Он устанавливает экстремальные значения на некоторое заданное значение и считается более продвинутым методом, чем усечение, поскольку он сохраняет все точки данных из набора данных. Биннинг можно применять к непрерывной переменной и разделять значения на группы. Это помогает обнаруживать закономерности в непрерывной переменной за счет потери информации. Преобразование в логарифмическом масштабе, возможно, является наиболее часто используемым методом преобразования ненормальных данных. Общепринятой практикой является уменьшение изменчивости данных, включая выбросы. Часто считается предпочтительным методом, когда переменная отклика скошена вправо или распределена экспоненциально. Однако во многих случаях это может быть неприменимо, например, распределение включает отрицательные значения и нули.

С другой стороны, преобразование Бокса-Кокса считается особенно полезным методом при нормализации данных. Лямбда — это параметр преобразования, который необходимо оценить на основе имеющегося набора данных. Распределение после преобразования приближается к нормальному, когда лямбда может минимизировать дисперсию данных. Хотя рекомендуется проверять преобразованные данные после использования преобразования Бокса-Кокса, поскольку оно может работать не для каждого набора данных.

В Python преобразование Box-Cox может быть легко достигнуто одной строкой кода с библиотекой SciPy.

from scipy import *
scipy.stats.boxcox(x, lmbda=None, alpha=None)

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

Ссылка:

  1. Преобразование: введение

2. Обычные данные с помощью степенного преобразования Бокса-Кокса