момент#
- 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
Соответствующий момент вдоль заданной оси или по всем значениям, если ось не указана. Знаменатель для расчёта момента — количество наблюдений, поправка на степени свободы не применяется.
Примечания
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подходящей формы вместо 2Dnp.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