Data Science Math ML Статистика

Оценка асимметрии и эксцесса данных

При проведении исследования данных полезно проверить распределения признаков.

Для числовых признаков принято проверять распределение на асимметрию – отклонение от нормального распределения.

Исследование на асимметрию и эксцесс

В общем виде можно сразу получить значения асимметрии и эксцесса для конкретной переменной с помощью кода:

# Посмотрим асимметрию и эксцесс - skewness and kurtosis
from scipy import stats

print("Skewness: %f" % train_data['SalePrice'].skew())
print("Kurtosis: %f" % train_data['SalePrice'].kurt())

# Результат
Skewness: 1.882876
Kurtosis: 6.536282

Асимметрия и эксцесс нормального распределения равны 0.

Если значение асимметрии положительно – данные скошены вправо (имеют длинный хвост вправо). Если значение меньше нуля, данные скошены влево (имеют длинный хвост влево).

Значение эксцесса показывает “тяжесть” хвостов и “остроту” пика. Для нормального распределения эксцесс равен 0. Чем выше значение эксцесса, тем острее пик и тяжелее хвост распределения.

Для нормализации распределения чаще всего применяют логарифмирование. Для уменьшения хвостов – удаляют или обрабатывают выбросы.

Коэффициент скошенности Пирсона (Pearson’s Skewness)

Это не то же самое, что .skew(), описанный выше.

Этот коэффициент стандартизирует разницу, деля ее на стандартное отклонение (sigma), что делает ее масштабируемой и удобной для сравнения между разными наборами данных:

Коэффициент скошенности = 3 * (Среднее - Медиана) / Стандартное отклонение

Коэффициент показывает, насколько сильно среднее и медиана разнесены в единицах стандартного отклонения.

Реализация на Python

describe = train_data.describe().T
describe['skewness_pearson'] = (3 * (describe['mean'] - describe['50%']) / describe['std'])
describe

Если Коэффициент равен 0

  • Распределение является симметричным. Это означает, что данные примерно равномерно распределены вокруг центра.
  • Среднее, медиана и мода примерно равны. Классический пример — нормальное распределение (колоколообразная кривая).

Если Коэффициент положителен

  • Распределение скошено вправо (положительная скошенность). “Хвост” распределения вытянут вправо, в сторону больших значений.
  • Среднее значение больше медианы. Это происходит из-за того, что относительно небольшое количество высоких значений (выбросов) “тянет” среднее значение вверх. Это типично для доходов, цен, времени ожидания.

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

  • Распределение скошено влево (отрицательная скошенность). “Хвост” распределения вытянут влево, в сторону меньших значений.
  • Среднее значение меньше медианы. Это происходит из-за того, что относительно небольшое количество низких значений (выбросов) “тянет” среднее значение вниз. Это реже встречается в реальных данных, но может наблюдаться, например, при оценке продолжительности жизни или результатах очень легких тестов.

Как выглядит асимметрия

Имеет ли значение абсолютное значение?

Абсолютное значение Skewness указывает на степень асимметрии, то есть, насколько сильно распределение отклоняется от симметричного:

Skewness = 0 – распределение идеально симметрично.

Skewness = 0.1 – 0,5 – распределение слабо скошено (умеренная асимметрия).

Skewness = 0.5 – 1.0 – распределение умеренно скошено.

Skewness > 1.0 – распределение сильно скошено (существенная асимметрия).

Чем больше абсолютное значение, тем сильнее асимметрия, и тем более необходимо:

  1. Проверить данные на выбросы (outliers).
  2. Рассмотреть преобразование данных (например, логарифмирование или взятие квадратного корня), чтобы сделать распределение более симметричным, что часто улучшает работу статистических моделей.
Вставить формулу как
Блок
Строка
Дополнительные настройки
Цвет формулы
Цвет текста
#333333
Используйте LaTeX для набора формулы
Предпросмотр
\({}\)
Формула не набрана
Вставить