scipy.stats.

момент#

scipy.stats.момент(a, порядок=1, ось=0, nan_policy='propagate', *, центр=None, keepdims=False)[источник]#

Вычислить n-й момент относительно среднего для выборки.

Момент — это конкретная количественная мера формы набора точек. Он часто используется для вычисления коэффициентов асимметрии и эксцесса из-за его тесной связи с ними.

Параметры:
aarray_like

Входной массив.

порядокint или 1-D array_like из ints, опционально

Порядок центрального момента, который возвращается. По умолчанию 1.

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

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

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

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

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

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

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

центрfloat или None, опционально

Точка, относительно которой берутся моменты. Это может быть выборочное среднее, начало координат или любая другая точка. Если None (по умолчанию) вычисляет центр как выборочное среднее.

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

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

Возвращает:
n-й момент относительно `center`ndarray или float

Соответствующий момент вдоль заданной оси или по всем значениям, если ось не указана. Знаменатель для расчёта момента — количество наблюдений, поправка на степени свободы не применяется.

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

kurtosis, skew, describe

Примечания

k-й момент выборки данных:

\[m_k = \frac{1}{n} \sum_{i = 1}^n (x_i - c)^k\]

Где n это количество выборок, и c является центром, вокруг которого вычисляется момент. Эта функция использует возведение в степень через квадраты [1] для эффективности.

Обратите внимание, что если a является пустым массивом (a.size == 0), массив moment с одним элементом (moment.size == 1) обрабатывается так же, как скаляр moment (np.isscalar(moment)). Это может привести к массивам неожиданной формы.

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

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

Библиотека

CPU

GPU

NumPy

н/д

CuPy

н/д

PyTorch

JAX

⚠️ нет JIT

⚠️ нет JIT

Dask

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

н/д

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

Ссылки

Примеры

>>> from scipy.stats import moment
>>> moment([1, 2, 3, 4, 5], order=1)
0.0
>>> moment([1, 2, 3, 4, 5], order=2)
2.0