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. 標準差)。

參數:
aarray_like

樣本資料。

axisint 或 None,可選

要沿其運算的軸。預設值為 0。如果為 None,則對整個陣列 a 進行計算。

ddofint,可選

標準差計算中的自由度校正。預設值為 0。

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

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

返回:
gzscorearray_like

幾何 z 分數,通過輸入陣列 a 的幾何平均數和幾何標準差標準化。

另請參閱

gmean

幾何平均數

gstd

幾何標準差

zscore

標準分數

註解

此函數保留 ndarray 子類別,並且也適用於矩陣和遮罩陣列(它使用 asanyarray 而不是 asarray 作為參數)。

在 1.8 版本中新增。

參考文獻

範例

從對數常態分佈中繪製樣本

>>> 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()
../../_images/scipy-stats-gzscore-1_00_00.png

顯示通過經典 z 分數標準化的樣本直方圖。分佈已重新調整,但其形狀未改變。

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

證明幾何 z 分數的分佈已重新調整且近似常態

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