scipy.stats.

kurtosistest#

scipy.stats.kurtosistest(a, ось=0, nan_policy='propagate', альтернатива='two-sided', *, keepdims=False)[источник]#

Проверить, имеет ли набор данных нормальный эксцесс.

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

Параметры:
aмассив

Массив выборочных данных. Должен содержать не менее пяти наблюдений.

осьint или None, по умолчанию: 0

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

nan_policy{‘propagate’, ‘omit’, ‘raise’}

Определяет, как обрабатывать входные значения NaN.

  • propagate: если NaN присутствует в срезе оси (например, строке), вдоль которой вычисляется статистика, соответствующая запись вывода будет NaN.

  • omit: NaN будут пропущены при выполнении расчета. Если в срезе оси, вдоль которого вычисляется статистика, остается недостаточно данных, соответствующая запись вывода будет NaN.

  • raise: если присутствует NaN, то ValueError будет вызвано исключение.

альтернатива{‘two-sided’, ‘less’, ‘greater’}, необязательный

Определяет альтернативную гипотезу. Доступны следующие варианты (по умолчанию 'two-sided'):

  • ‘two-sided’: эксцесс распределения, лежащего в основе выборки, отличается от эксцесса нормального распределения

  • 'less': эксцесс распределения, лежащего в основе выборки, меньше, чем у нормального распределения

  • 'greater': эксцесс распределения, лежащего в основе выборки, больше, чем у нормального распределения

Добавлено в версии 1.7.0.

keepdimsbool, по умолчанию: False

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

Возвращает:
статистикаfloat

Вычисленный z-показатель для этого теста.

p-значениеfloat

P-значение для проверки гипотезы.

Смотрите также

Тест на эксцесс

Расширенный пример

Примечания

Действительно только для n>20. Эта функция использует метод, описанный в [1].

Начиная с SciPy 1.9, np.matrix входные данные (не рекомендуется для нового кода) преобразуются в np.ndarray перед выполнением вычисления. В этом случае результатом будет скаляр или np.ndarray подходящей формы вместо 2D np.matrix. Аналогично, хотя маскированные элементы маскированных массивов игнорируются, результатом будет скаляр или np.ndarray вместо маскированного массива с mask=False.

kurtosistest имеет экспериментальную поддержку совместимых с Python Array API Standard бэкендов в дополнение к NumPy. Пожалуйста, рассмотрите тестирование этих функций, установив переменную окружения SCIPY_ARRAY_API=1 и предоставление массивов CuPy, PyTorch, JAX или Dask в качестве аргументов массива. Поддерживаются следующие комбинации бэкенда и устройства (или других возможностей).

Библиотека

CPU

GPU

NumPy

н/д

CuPy

н/д

PyTorch

JAX

⚠️ нет JIT

⚠️ нет JIT

Dask

⚠️ вычисляет граф

н/д

См. Поддержка стандарта array API для получения дополнительной информации.

Ссылки

[1]

F. J. Anscombe, W. J. Glynn, «Распределение статистики эксцесса b2 для нормальных выборок», Biometrika, т. 70, стр. 227-234, 1983.

Примеры

>>> import numpy as np
>>> from scipy.stats import kurtosistest
>>> kurtosistest(list(range(20)))
KurtosistestResult(statistic=-1.7058104152122062, pvalue=0.08804338332528348)
>>> kurtosistest(list(range(20)), alternative='less')
KurtosistestResult(statistic=-1.7058104152122062, pvalue=0.04402169166264174)
>>> kurtosistest(list(range(20)), alternative='greater')
KurtosistestResult(statistic=-1.7058104152122062, pvalue=0.9559783083373583)
>>> rng = np.random.default_rng()
>>> s = rng.normal(0, 1, 1000)
>>> kurtosistest(s)
KurtosistestResult(statistic=-1.475047944490622, pvalue=0.14019965402996987)

Для более подробного примера см. Тест на эксцесс.