Как рассчитать асимметрию и эксцесс в Python


В статистике асимметрия и эксцесс — это два способа измерения формы распределения.

Асимметрия — это мера асимметрии распределения. Это значение может быть положительным или отрицательным.

  • Отрицательная асимметрия указывает на то, что хвост находится в левой части распределения, которая простирается в сторону более отрицательных значений.
  • Положительная асимметрия указывает на то, что хвост находится на правой стороне распределения, которая простирается в сторону более положительных значений.
  • Нулевое значение указывает на то, что в распределении вообще нет асимметрии, что означает, что распределение совершенно симметрично.

Эксцесс — это мера того, является ли распределение тяжелым или легким хвостом по сравнению с нормальным распределением .

  • Эксцесс нормального распределения равен 3.
  • Если данное распределение имеет эксцесс меньше 3, говорят, что оно является игровым , что означает, что оно имеет тенденцию производить меньше и менее экстремальных выбросов, чем нормальное распределение.
  • Если данное распределение имеет эксцесс больше 3, говорят, что оно лептокуртическое , что означает, что оно имеет тенденцию производить больше выбросов, чем нормальное распределение.

Примечание. Некоторые формулы (определение Фишера) вычитают 3 из эксцесса, чтобы упростить сравнение с нормальным распределением. Используя это определение, эксцесс распределения будет больше, чем у нормального распределения, если бы он имел значение эксцесса больше 0.

В этом руководстве объясняется, как рассчитать как асимметрию, так и эксцесс заданного набора данных в Python.

Пример: асимметрия и эксцесс в Python

Предположим, у нас есть следующий набор данных:

data = [88, 85, 82, 97, 67, 77, 74, 86, 81, 95, 77, 88, 85, 76, 81]

Чтобы вычислить выборочную асимметрию и выборочный эксцесс этого набора данных, мы можем использовать функции skew() и kurt() из библиотеки Scipy Stata со следующим синтаксисом:

  • перекос (массив значений, смещение = ложь)
  • Курт (массив значений, смещение = Ложь)

Мы используем аргументbias =False , чтобы вычислить асимметрию выборки и эксцесс, в отличие от асимметрии и эксцесса генеральной совокупности.

Вот как использовать эти функции для нашего конкретного набора данных:

data = [88, 85, 82, 97, 67, 77, 74, 86, 81, 95, 77, 88, 85, 76, 81]

#calculate sample skewness
skew(data, bias= False )

0.032697

#calculate sample kurtosis
kurtosis(data, bias= False )

0.118157

Асимметрия оказывается равной 0,032697 , а эксцесс — 0,118157 .

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

Дополнительный ресурс: Калькулятор асимметрии и эксцесса

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