zscore#
- scipy.stats.mstats.zscore(a, ось=0, ddof=0, nan_policy='propagate')[источник]#
Вычислить z-оценку.
Вычислить z-оценку каждого значения в выборке относительно среднего значения и стандартного отклонения выборки.
- Параметры:
- 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.
- Возвращает:
- zscorearray_like
Z-оценки, стандартизированные по среднему значению и стандартному отклонению входного массива a.
Смотрите также
numpy.meanСреднее арифметическое
numpy.stdСреднеквадратическое отклонение
scipy.stats.gzscoreГеометрический стандартный балл
Примечания
Эта функция сохраняет подклассы ndarray и также работает с матрицами и маскированными массивами (использует asanyarray вместо asarray для параметров).
zscoreимеет экспериментальную поддержку совместимых с 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/Standard_score.
[2]Huck, S. W., Cross, T. L., Clark, S. B, "Overcoming misconceptions about Z-scores", Teaching Statistics, vol. 8, pp. 38-40, 1986
Примеры
>>> import numpy as np >>> a = np.array([ 0.7972, 0.0767, 0.4383, 0.7866, 0.8091, ... 0.1954, 0.6307, 0.6599, 0.1065, 0.0508]) >>> from scipy import stats >>> stats.zscore(a) array([ 1.1273, -1.247 , -0.0552, 1.0923, 1.1664, -0.8559, 0.5786, 0.6748, -1.1488, -1.3324])
Вычисление вдоль указанной оси, используя n-1 степеней свободы (
ddof=1) для вычисления стандартного отклонения:>>> b = np.array([[ 0.3148, 0.0478, 0.6243, 0.4608], ... [ 0.7149, 0.0775, 0.6072, 0.9656], ... [ 0.6341, 0.1403, 0.9759, 0.4064], ... [ 0.5918, 0.6948, 0.904 , 0.3721], ... [ 0.0921, 0.2481, 0.1188, 0.1366]]) >>> stats.zscore(b, axis=1, ddof=1) array([[-0.19264823, -1.28415119, 1.07259584, 0.40420358], [ 0.33048416, -1.37380874, 0.04251374, 1.00081084], [ 0.26796377, -1.12598418, 1.23283094, -0.37481053], [-0.22095197, 0.24468594, 1.19042819, -1.21416216], [-0.82780366, 1.4457416 , -0.43867764, -0.1792603 ]])
Пример с
nan_policy='omit':>>> x = np.array([[25.11, 30.10, np.nan, 32.02, 43.15], ... [14.95, 16.06, 121.25, 94.35, 29.81]]) >>> stats.zscore(x, axis=1, nan_policy='omit') array([[-1.13490897, -0.37830299, nan, -0.08718406, 1.60039602], [-0.91611681, -0.89090508, 1.4983032 , 0.88731639, -0.5785977 ]])