scipy.stats.

boxcox_normplot#

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

計算 Box-Cox 常態機率圖的參數,可選擇性地顯示它。

Box-Cox 常態機率圖以圖形方式顯示在 boxcox 中使用的最佳轉換參數,以獲得接近常態分佈的分佈。

參數:
xarray_like

輸入陣列。

la, lbscalar

傳遞給 boxcox 進行 Box-Cox 轉換的 lmbda 值的下限和上限。這些也是在生成圖形時水平軸的限制。

plotobject, optional

如果給定,則繪製分位數和最小平方擬合。plot 是一個必須具有 “plot” 和 “text” 方法的物件。可以使用 matplotlib.pyplot 模組或 Matplotlib Axes 物件,或具有相同方法的自訂物件。預設值為 None,表示不建立圖形。

Nint, optional

水平軸上的點數(從 lalb 均勻分佈)。

返回:
lmbdasndarray

執行 Box-Cox 轉換的 lmbda 值。

ppccndarray

機率圖相關係數,從 probplot 獲得,當針對常態分佈擬合 Box-Cox 轉換後的輸入 x 時。

註解

即使給定了 plotboxcox_normplot 也不會顯示或儲存圖形;在呼叫 probplot 後應使用 plt.show()plt.savefig('figname.png')

範例

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

產生一些非常態分佈的資料,並建立 Box-Cox 圖

>>> 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)

確定並繪製最佳的 lmbda 以轉換 x,並在同一個圖中繪製它

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