scipy.stats.

gzscore#

scipy.stats.gzscore(a, *, ось=0, ddof=0, nan_policy='propagate')[источник]#

Вычислить геометрический стандартный балл.

Вычислить геометрический z-показатель каждого строго положительного значения в выборке относительно геометрического среднего и стандартного отклонения. Математически геометрический z-показатель можно вычислить как:

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

где gmu (соответственно. gsigma) является геометрическим средним (соотв. стандартным отклонением).

Параметры:
aarray_like

Пример данных.

осьint или None, опционально

Ось, вдоль которой выполняется операция. По умолчанию 0. Если None, вычисляется по всему массиву a.

ddofint, необязательный

Поправка на степени свободы при вычислении стандартного отклонения. По умолчанию 0.

nan_policy{'propagate', 'raise', 'omit'}, опционально

Определяет, как обрабатывать входные данные, содержащие nan. 'propagate' возвращает nan, 'raise' вызывает ошибку, 'omit' выполняет вычисления, игнорируя значения nan. По умолчанию 'propagate'. Обратите внимание, что при значении 'omit' nan во входных данных также передаются на выход, но они не влияют на вычисленные геометрические z-оценки для значений, не являющихся nan.

Возвращает:
gzscorearray_like

Геометрические z-оценки, стандартизированные по геометрическому среднему и геометрическому стандартному отклонению входного массива a.

Смотрите также

gmean

Среднее геометрическое

gstd

Геометрическое стандартное отклонение

zscore

Стандартизированная оценка

Примечания

Эта функция сохраняет подклассы ndarray и также работает с матрицами и маскированными массивами (использует asanyarray вместо asarray для параметров).

Добавлено в версии 1.8.

gzscore имеет экспериментальную поддержку совместимых с Python Array API Standard бэкендов в дополнение к NumPy. Пожалуйста, рассмотрите тестирование этих функций, установив переменную окружения SCIPY_ARRAY_API=1 и предоставление массивов CuPy, PyTorch, JAX или Dask в качестве аргументов массива. Поддерживаются следующие комбинации бэкенда и устройства (или других возможностей).

Библиотека

CPU

GPU

NumPy

н/д

CuPy

н/д

PyTorch

JAX

Dask

н/д

См. Поддержка стандарта array API для получения дополнительной информации.

Ссылки

[1]

“Геометрическая стандартная оценка”, Википедия, https://en.wikipedia.org/wiki/Geometric_standard_deviation#Geometric_standard_score.

Примеры

Извлечь выборки из логнормального распределения:

>>> 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

Отобразите гистограмму выборок, стандартизированных классическим zscore. Распределение масштабируется, но его форма не меняется.

>>> 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