scipy.stats.

zscore#

scipy.stats.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 Stichprobenmittelwert und zur Stichprobenstandardabweichung.

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 Eingaben umzugehen ist, die NaN enthalten. 'propagate' gibt NaN zurück, 'raise' löst einen Fehler aus, 'omit' führt die Berechnungen durch und ignoriert NaN-Werte. Standardmäßig ist 'propagate' eingestellt. Beachten Sie, dass bei der Einstellung 'omit' NaN in der Eingabe auch an die Ausgabe weitergegeben werden, sie aber die Z-Scores, die für die Nicht-NaN-Werte berechnet wurden, 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 Backends, die mit dem Python Array API Standard kompatibel sind, 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]

„Standardscore“, 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 ]])