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
水平軸上的點數(從 la 到 lb 均勻分佈)。
- 回傳:
- lmbdasndarray
執行 Yeo-Johnson 轉換的
lmbda
值。- ppccndarray
機率圖相關係數,從
probplot
獲得,當針對常態分佈擬合 Box-Cox 轉換後的輸入 x 時。
註解
即使給定了 plot,
boxcox_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()