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


Python SciPy stats.gzscore用法及代碼示例


本文簡要介紹 python 語言中 scipy.stats.gzscore 的用法。

用法:

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

計算幾何標準分數。

計算樣本中每個嚴格正值的幾何 z 分數,相對於幾何平均值和標準差。在數學上,幾何 z 分數可以評估為:

gzscore = log(a/gmu) / log(gsigma)

其中 gmu (resp. gsigma ) 是幾何平均值 (resp. 標準差)。

參數

a array_like

樣本數據。

axis int 或無,可選

操作的軸。默認值為 0。如果沒有,則計算整個數組 a。

ddof 整數,可選

計算標準偏差時的自由度校正。默認值為 0。

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

定義當輸入包含 nan 時如何處理。 ‘propagate’ 返回 nan,‘raise’ 引發錯誤,‘omit’ 執行忽略 nan 值的計算。默認為‘propagate’。請注意,當值為 ‘omit’ 時,輸入中的 nan 也會傳播到輸出,但它們不會影響為非 nan 值計算的幾何 z 分數。

返回

gzscore array_like

幾何 z 分數,由輸入數組 a 的幾何平均值和幾何標準差標準化。

注意

此函數保留 ndarray 子類,也適用於矩陣和掩碼數組(它使用 asanyarray 而不是 asarray 作為參數)。

參考

例子

從 log-normal 分布中抽取樣本:

>>> import numpy as np
>>> from scipy.stats import zscore, gzscore
>>> import matplotlib.pyplot as plt
>>> rng = np.random.default_rng()
>>> mu, sigma = 3., 1.  # mean and standard deviation
>>> x = rng.lognormal(mu, sigma, size=500)

顯示樣本的直方圖:

>>> fig, ax = plt.subplots()
>>> ax.hist(x, 50)
>>> plt.show()
scipy-stats-gzscore-1_00_00.png

顯示由經典 zscore 標準化的樣本的直方圖。分布被重新調整,但其形狀保持不變。

>>> fig, ax = plt.subplots()
>>> ax.hist(zscore(x), 50)
>>> plt.show()
scipy-stats-gzscore-1_01_00.png

證明幾何 zscores 的分布是重新縮放和準正態分布的:

>>> fig, ax = plt.subplots()
>>> ax.hist(gzscore(x), 50)
>>> plt.show()
scipy-stats-gzscore-1_02_00.png

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.stats.gzscore。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。