yeojohnson_normplot#
- scipy.stats.yeojohnson_normplot(x, la, lb, plot=None, N=80)[Quelle]#
Berechnet Parameter für ein Yeo-Johnson-Normalitätsdiagramm und zeigt es optional an.
Ein Yeo-Johnson-Normalitätsdiagramm zeigt grafisch, welcher beste Transformationsparameter in
yeojohnsonverwendet werden kann, um eine Verteilung zu erhalten, die nahe an der Normalverteilung liegt.- Parameter:
- xarray_like
Eingabearray.
- la, lbSkalar
Die untere und obere Grenze für die
lmbda-Werte, die anyeojohnsonfür Yeo-Johnson-Transformationen übergeben werden. Dies sind auch die Grenzen der horizontalen Achse des Diagramms, falls dieses generiert wird.- plotObjekt, optional
Wenn angegeben, werden die Quantile und die Kleinste-Quadrate-Anpassung gezeichnet. plot ist ein Objekt, das die Methoden „plot“ und „text“ haben muss. Das Modul
matplotlib.pyplotoder ein Matplotlib-Achsenobjekt kann verwendet werden, oder ein benutzerdefiniertes Objekt mit denselben Methoden. Standard ist None, was bedeutet, dass kein Diagramm erstellt wird.- Nint, optional
Anzahl der Punkte auf der horizontalen Achse (gleichmäßig verteilt von la bis lb).
- Rückgabe:
- lmbdasndarray
Die
lmbda-Werte, für die eine Yeo-Johnson-Transformation durchgeführt wurde.- ppccndarray
Wahrscheinlichkeitsplot-Korrelationskoeffizient, wie er von
probplotbei der Anpassung der Box-Cox-transformierten Eingabe x an eine Normalverteilung erhalten wird.
Siehe auch
Hinweise
Auch wenn plot angegeben ist, wird die Abbildung nicht von
boxcox_normplotangezeigt oder gespeichert;plt.show()oderplt.savefig('figname.png')sollten nach dem Aufruf vonprobplotverwendet werden.Hinzugefügt in Version 1.2.0.
Beispiele
>>> from scipy import stats >>> import matplotlib.pyplot as plt
Erzeugt einige nicht normalverteilte Daten und erstellt ein Yeo-Johnson-Diagramm
>>> x = stats.loggamma.rvs(5, size=500) + 5 >>> fig = plt.figure() >>> ax = fig.add_subplot(111) >>> prob = stats.yeojohnson_normplot(x, -20, 20, plot=ax)
Ermittelt und zeichnet die optimale
lmbda, umxzu transformieren, und zeichnet sie in demselben Diagramm>>> _, maxlog = stats.yeojohnson(x) >>> ax.axvline(maxlog, color='r')
>>> plt.show()