dask.array.stats.moment

dask.array.stats.moment

dask.array.stats.moment(a, moment=1, axis=0, nan_policy='propagate')[源代码]

此文档字符串是从 scipy.stats.moment 复制的。

Dask 版本可能存在一些不一致性。

计算样本关于均值的第n阶矩。

矩是描述一组点形状的特定定量度量。由于它与偏度和峰度的密切关系,常用于计算偏度和峰度的系数。

参数
aarray_like

输入数组。

顺序int 或 1-D array_like 的 ints,可选 (Dask 中不支持)

返回的中心矩的阶数。默认值为 1。

int 或 None, 默认值: 0

如果是一个整数,表示输入数据中要计算统计量的轴。输入数据的每个轴切片(例如行)的统计量将出现在输出的相应元素中。如果为 None,则在计算统计量之前会将输入数据展平。

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

定义如何处理输入的 NaN。

  • propagate: 如果在计算统计量的轴切片(例如行)中存在 NaN,则输出的相应条目将为 NaN。

  • omit: 在执行计算时,NaN 将被省略。如果在计算统计量的轴切片中剩余的数据不足,则输出的相应条目将为 NaN。

  • raise: 如果存在 NaN,将引发 ValueError

中心float 或 None, 可选 (Dask 中不支持)

计算力矩的中心点。这可以是样本均值、原点或任何其他点。如果为 `None`(默认),则将中心计算为样本均值。

keepdimsbool, 默认: False (Dask 不支持)

如果设置为True,被减少的轴将作为尺寸为1的维度保留在结果中。通过此选项,结果将正确地与输入数组进行广播。

返回
关于 `中心` 的第 n 阶矩ndarray 或 float

在给定轴上或所有值上的适当时刻,如果轴为None。时刻计算的分母是观察次数,没有进行自由度校正。

参见

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 的掩码数组。

参考文献

1

https://eli.thegreenplace.net/2009/03/21/efficient-integer-exponentiation-algorithms

示例

>>> 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