scipy.stats.

yeojohnson_normplot#

scipy.stats.yeojohnson_normplot(x, la, lb, plot=None, N=80)[原始碼]#

計算 Yeo-Johnson 常態性圖的參數,可選擇性地顯示。

Yeo-Johnson 常態性圖以圖形方式顯示在 yeojohnson 中使用的最佳轉換參數,以獲得接近常態分佈的分布。

參數:
xarray_like

輸入陣列。

la, lbscalar

lmbda 值的下限和上限,傳遞給 yeojohnson 進行 Yeo-Johnson 轉換。 這些也是在生成圖表時水平軸的限制。

plotobject, optional

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

Nint, optional

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

回傳:
lmbdasndarray

執行 Yeo-Johnson 轉換的 lmbda 值。

ppccndarray

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

註解

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

在 1.2.0 版本中新增。

範例

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

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

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

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

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