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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。