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


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


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

用法:

scipy.stats.gstd(a, axis=0, ddof=1)#

计算数组的几何标准差。

几何标准偏差说明了一组数字的分布,其中几何平均值是首选的。它是一个乘法因子,因此是一个无量纲量。

它被定义为 log(a) 标准差的 index 。在数学上,总体几何标准差可以评估为:

gstd = exp(std(log(a)))

参数

a array_like

包含样本数据的类似对象的数组。

axis int,元组或无,可选

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

ddof 整数,可选

几何标准偏差计算中的自由度校正。默认值为 1。

返回

gstd ndarray 或浮点数

几何标准差的数组。如果 axis 是 None 或 a 是一维数组,则返回一个浮点数。

注意

由于计算需要使用对数,几何标准差仅支持严格的正值。任何非正值或无限值都会引发ValueError。几何标准差有时会与标准差的指数混淆,exp(std(a)).相反,几何标准偏差是exp(std(log(a))).默认值为ddof与其他包含 ddof 的函数使用的默认值 (0) 不同,例如np.stdnp.nanstd.

参考

[1]

“Geometric standard deviation”,维基百科,https://en.wikipedia.org/wiki/Geometric_standard_deviation.

[2]

柯克伍德,T. B.,“几何方法和分散测量”,生物识别,第一卷。 35,第 908-909 页,1979

例子

求 log-normally 分布样本的几何标准差。请注意,分布的标准差为 1,在对数尺度上,这大约为 exp(1)

>>> import numpy as np
>>> from scipy.stats import gstd
>>> rng = np.random.default_rng()
>>> sample = rng.lognormal(mean=0, sigma=1, size=1000)
>>> gstd(sample)
2.810010162475324

计算多维数组和给定轴的几何标准偏差。

>>> a = np.arange(1, 25).reshape(2, 3, 4)
>>> gstd(a, axis=None)
2.2944076136018947
>>> gstd(a, axis=2)
array([[1.82424757, 1.22436866, 1.13183117],
       [1.09348306, 1.07244798, 1.05914985]])
>>> gstd(a, axis=(1,2))
array([2.12939215, 1.22120169])

几何标准偏差进一步处理掩码数组。

>>> a = np.arange(1, 25).reshape(2, 3, 4)
>>> ma = np.ma.masked_where(a > 16, a)
>>> ma
masked_array(
  data=[[[1, 2, 3, 4],
         [5, 6, 7, 8],
         [9, 10, 11, 12]],
        [[13, 14, 15, 16],
         [--, --, --, --],
         [--, --, --, --]]],
  mask=[[[False, False, False, False],
         [False, False, False, False],
         [False, False, False, False]],
        [[False, False, False, False],
         [ True,  True,  True,  True],
         [ True,  True,  True,  True]]],
  fill_value=999999)
>>> gstd(ma, axis=2)
masked_array(
  data=[[1.8242475707663655, 1.2243686572447428, 1.1318311657788478],
        [1.0934830582350938, --, --]],
  mask=[[False, False, False],
        [False,  True,  True]],
  fill_value=999999)

相关用法


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