gzscore#
- scipy.stats.gzscore(a, *, axis=0, ddof=0, nan_policy='propagate')[Quelle]#
Berechnet den geometrischen Standardwert.
Berechnet den geometrischen z-Score jedes strikt positiven Wertes in der Stichprobe, relativ zum geometrischen Mittel und zur geometrischen Standardabweichung. Mathematisch kann der geometrische z-Score ausgewertet werden als
gzscore = log(a/gmu) / log(gsigma)
wobei
gmu(bzw.gsigma) das geometrische Mittel (bzw. die geometrische Standardabweichung) ist.- Parameter:
- aarray_like
Stichprobendaten.
- 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 wird. '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 der Einstellung 'omit' NaNs in der Eingabe auch in die Ausgabe propagiert werden, sie beeinflussen jedoch nicht die für die Nicht-NaN-Werte berechneten geometrischen z-Scores.
- Rückgabe:
- gzscorearray_like
Die geometrischen z-Scores, standardisiert durch das geometrische Mittel und die geometrische Standardabweichung des Eingabearrays a.
Hinweise
Diese Funktion behält ndarray-Unterklassen bei und funktioniert auch mit Matrizen und Masked Arrays (sie verwendet
asanyarrayanstelle vonasarrayfür Parameter).Hinzugefügt in Version 1.8.
gzscorehat 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 eine 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]„Geometric standard score“, Wikipedia, https://en.wikipedia.org/wiki/Geometric_standard_deviation#Geometric_standard_score.
Beispiele
Zufallsstichproben aus einer log-normalen Verteilung ziehen
>>> 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)
Histogramm der Stichproben anzeigen
>>> fig, ax = plt.subplots() >>> ax.hist(x, 50) >>> plt.show()
Histogramm der Stichproben anzeigen, standardisiert durch den klassischen zscore. Die Verteilung wird skaliert, ihre Form bleibt jedoch unverändert.
>>> fig, ax = plt.subplots() >>> ax.hist(zscore(x), 50) >>> plt.show()
Demonstrieren, dass die Verteilung der geometrischen z-Scores skaliert und quasinormal ist
>>> fig, ax = plt.subplots() >>> ax.hist(gzscore(x), 50) >>> plt.show()