当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy stats.variation用法及代码示例


本文简要介绍 python 语言中 scipy.stats.variation 的用法。

用法:

scipy.stats.variation(a, axis=0, nan_policy='propagate', ddof=0, *, keepdims=False)#

计算变异系数。

变异系数是标准差除以平均值。这个函数等价于:

np.std(x, axis=axis, ddof=ddof) / np.mean(x)

ddof 的默认值为 0,但变异系数的许多定义使用无偏样本方差的平方根作为样本标准差,对应于 ddof=1

该函数不取数据均值的绝对值,因此如果均值为负,则返回值为负。

参数

a array_like

输入数组。

axis int 或无,可选

计算变异系数的轴。默认值为 0。如果没有,则计算整个数组 a。

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

定义当输入包含 nan 时如何处理。可以使用以下选项:

  • ‘propagate’: return nan

  • ‘raise’: raise an exception

  • ‘omit’: perform the calculation with nan values omitted

默认值为‘propagate’。

ddof 整数,可选

给出计算标准偏差时使用的“Delta 自由度”。用于计算标准差的除数是N - ddof,其中N是元素的数量。ddof必须小于N;如果不是,结果将是nan或者inf, 根据N和数组中的值。默认ddof为向后兼容为零,但建议使用ddof=1以确保将样本标准差计算为无偏样本方差的平方根。

keepdims 布尔型,可选

如果将其设置为 True,则缩小的轴将作为尺寸为 1 的尺寸留在结果中。使用此选项,结果将针对输入数组正确广播。

返回

variation ndarray

沿请求轴计算的变化。

注意

有几种边情况在不产生警告的情况下被处理:

  • 如果均值和标准差均为零,则返回nan

  • 如果均值为零且标准差不为零,则返回inf

  • 如果输入的长度为零(因为数组的长度为零,或者所有输入值都是 nan 并且 nan_policy'omit' ),则返回 nan

  • 如果输入包含 inf ,则返回 nan

参考

[1]

Zwillinger, D. 和 Kokoska, S. (2000)。 CRC 标准概率和统计表和公式。查普曼和霍尔:纽约。 2000 年。

例子

>>> import numpy as np
>>> from scipy.stats import variation
>>> variation([1, 2, 3, 4, 5], ddof=1)
0.5270462766947299

计算沿包含几个 nan 值的数组的给定维度的变化:

>>> x = np.array([[  10.0, np.nan, 11.0, 19.0, 23.0, 29.0, 98.0],
...               [  29.0,   30.0, 32.0, 33.0, 35.0, 56.0, 57.0],
...               [np.nan, np.nan, 12.0, 13.0, 16.0, 16.0, 17.0]])
>>> variation(x, axis=1, ddof=1, nan_policy='omit')
array([1.05109361, 0.31428986, 0.146483  ])

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.stats.variation。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。