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
boxcoxverwendet 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 anboxcoxfü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.pyplotoder 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
probploterhalten, wenn die Box-Cox-transformierte Eingabe x gegen eine Normalverteilung angepasst wird.
Siehe auch
Hinweise
Auch wenn plot angegeben ist, wird die Abbildung von
boxcox_normplotnicht angezeigt oder gespeichert;plt.show()oderplt.savefig('figname.png')sollte nach dem Aufruf vonprobplotverwendet 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, umxzu transformieren, und plottet diesen im selben Diagramm>>> _, maxlog = stats.boxcox(x) >>> ax.axvline(maxlog, color='r')
>>> plt.show()