當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。