scipy.stats.mstats.

zscore#

scipy.stats.mstats.zscore(a, axis=0, ddof=0, nan_policy='propagate')[Quelle]#

Berechnet den z-Score.

Berechnet den Z-Score jedes Wertes in der Stichprobe relativ zum Mittelwert und zur Standardabweichung der Stichprobe.

Parameter:
aarray_like

Ein Array-ähnliches Objekt, das die Stichprobendaten enthält.

axisint oder None, optional

Achse, entlang der operiert werden soll. Standard ist 0. Wenn None, wird über das gesamte Array a berechnet.

ddofint, optional

Freiheitsgradkorrektur bei der Berechnung der Standardabweichung. Standard ist 0.

nan_policy{‘propagate’, ‘raise’, ‘omit’}, optional

Definiert, wie mit NaNs im Eingabewert umgegangen werden soll. 'propagate' gibt NaN zurück, 'raise' löst einen Fehler aus, 'omit' führt die Berechnungen unter Ignorierung von NaN-Werten durch. Standard ist 'propagate'. Beachten Sie, dass bei 'omit' NaNs in der Eingabe auch in die Ausgabe propagiert werden, aber die Z-Scores für die Nicht-NaN-Werte nicht beeinflussen.

Rückgabe:
zscorearray_like

Die Z-Scores, standardisiert nach Mittelwert und Standardabweichung des Eingabearrays a.

Siehe auch

numpy.mean

Arithmetisches Mittel

numpy.std

Arithmetische Standardabweichung

scipy.stats.gzscore

Geometrische Standard-Score

Hinweise

Diese Funktion behält NDArray-Unterklassen bei und funktioniert auch mit Matrizen und Masked Arrays (sie verwendet asanyarray anstelle von asarray für Parameter).

zscore hat experimentelle Unterstützung für Backend-kompatible Python-Array-API-Standards zusätzlich zu NumPy. Bitte erwägen Sie, diese Funktionen zu testen, indem Sie die Umgebungsvariable SCIPY_ARRAY_API=1 setzen und CuPy-, PyTorch-, JAX- oder Dask-Arrays als Array-Argumente bereitstellen. Die folgenden Kombinationen von Backend und Gerät (oder anderer Fähigkeit) werden unterstützt.

Bibliothek

CPU

GPU

NumPy

n/a

CuPy

n/a

PyTorch

JAX

Dask

n/a

Siehe Unterstützung für den Array API Standard für weitere Informationen.

Referenzen

[1]

„Standard score“, Wikipedia, https://en.wikipedia.org/wiki/Standard_score.

[2]

Huck, S. W., Cross, T. L., Clark, S. B, „Overcoming misconceptions about Z-scores“, Teaching Statistics, Bd. 8, S. 38-40, 1986

Beispiele

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

Berechnung entlang einer angegebenen Achse unter Verwendung von n-1 Freiheitsgraden (ddof=1) zur Berechnung der Standardabweichung

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

Ein Beispiel mit 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 ]])