scipy.stats.

boxcox_normplot#

scipy.stats.boxcox_normplot(x, la, lb, plot=None, N=80)[Quellcode]#

Berechnet Parameter für ein Box-Cox-Normalitätsdiagramm und zeigt es optional an.

Ein Box-Cox-Normalitätsdiagramm zeigt grafisch, welcher Transformationsparameter am besten in boxcox verwendet werden kann, um eine Verteilung zu erhalten, die nahe an einer Normalverteilung liegt.

Parameter:
xarray_like

Eingabearray.

la, lbSkalar

Die untere und obere Grenze für die lmbda-Werte, die an boxcox für Box-Cox-Transformationen übergeben werden. Dies sind auch die Grenzen der horizontalen Achse des Diagramms, falls eines generiert wird.

plotObjekt, optional

Wenn angegeben, werden die Quantile und die Kleinste-Quadrate-Anpassung geplottet. plot ist ein Objekt, das die Methoden „plot“ und „text“ haben muss. Das Modul matplotlib.pyplot oder ein Matplotlib Axes-Objekt kann verwendet werden, oder ein benutzerdefiniertes Objekt mit denselben Methoden. Standardmäßig 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 Box-Cox-Transformation durchgeführt wurde.

ppccndarray

Wahrscheinlichkeitsdiagramm-Korrelationskoeffizient, wie von probplot erhalten, wenn die Box-Cox-transformierte Eingabe x gegen eine Normalverteilung angepasst wird.

Hinweise

Auch wenn plot angegeben ist, wird die Abbildung von boxcox_normplot nicht angezeigt oder gespeichert; plt.show() oder plt.savefig('figname.png') sollte nach dem Aufruf von probplot verwendet werden.

Beispiele

>>> from scipy import stats
>>> import matplotlib.pyplot as plt

Erzeuge einige nicht-normalverteilte Daten und erstelle ein Box-Cox-Diagramm

>>> x = stats.loggamma.rvs(5, size=500) + 5
>>> fig = plt.figure()
>>> ax = fig.add_subplot(111)
>>> prob = stats.boxcox_normplot(x, -20, 20, plot=ax)

Ermittle und plottet den optimalen lmbda-Wert, um x zu transformieren, und plottet diesen im selben Diagramm

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