scipy.stats.

时刻#

scipy.stats.moment(a, order=1, axis=0, nan_policy='propagate', *, center=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

中心浮点数或无,可选

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

keepdimsbool, 默认值: False

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

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

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

注释

数据样本的第 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 的掩码数组。

参考文献

示例

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