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.meanArithmetisches Mittel
numpy.stdArithmetische Standardabweichung
scipy.stats.gzscoreGeometrische 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).
zscorehat 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 UmgebungsvariableSCIPY_ARRAY_API=1setzen 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 ]])