scipy.stats.

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 yeojohnson verwendet 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 an yeojohnson fü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.pyplot oder 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 probplot bei der Anpassung der Box-Cox-transformierten Eingabe x an eine Normalverteilung erhalten wird.

Hinweise

Auch wenn plot angegeben ist, wird die Abbildung nicht von boxcox_normplot angezeigt oder gespeichert; plt.show() oder plt.savefig('figname.png') sollten nach dem Aufruf von probplot verwendet 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, um x zu transformieren, und zeichnet sie in demselben Diagramm

>>> _, maxlog = stats.yeojohnson(x)
>>> ax.axvline(maxlog, color='r')
>>> plt.show()
../../_images/scipy-stats-yeojohnson_normplot-1.png