本文簡要介紹 python 語言中 scipy.stats.yeojohnson
的用法。
用法:
scipy.stats.yeojohnson(x, lmbda=None)#
返回由Yeo-Johnson 冪變換變換的數據集。
- x: ndarray
輸入數組。應該是一維的。
- lmbda: 浮點數,可選
如果
lmbda
是None
,找到最大化對數似然函數的 lambda 並將其作為第二個輸出參數返回。否則,將對給定值進行轉換。
- 約約翰遜:ndarray
Yeo-Johnson 冪變換數組。
- maxlog: 浮點數,可選
如果 lmbda 參數為 None,則第二個返回參數是最大化對數似然函數的 lambda。
參數 ::
返回 ::
注意:
Yeo-Johnson 變換由下式給出:
y = ((x + 1)**lmbda - 1) / lmbda, for x >= 0, lmbda != 0 log(x + 1), for x >= 0, lmbda = 0 -((-x + 1)**(2 - lmbda) - 1) / (2 - lmbda), for x < 0, lmbda != 2 -log(-x + 1), for x < 0, lmbda = 2
與
boxcox
不同,yeojohnson
不要求輸入數據為正。參考:
I. Yeo 和 R.A. Johnson,“用於改善常態或對稱性的新型電源轉換係列”,Biometrika 87.4 (2000):
例子:
>>> from scipy import stats >>> import matplotlib.pyplot as plt
我們從非正態分布中生成一些隨機變量,並為它製作一個概率圖,以表明它在尾部是非正態的:
>>> fig = plt.figure() >>> ax1 = fig.add_subplot(211) >>> x = stats.loggamma.rvs(5, size=500) + 5 >>> prob = stats.probplot(x, dist=stats.norm, plot=ax1) >>> ax1.set_xlabel('') >>> ax1.set_title('Probplot against normal distribution')
我們現在使用
yeojohnson
來轉換數據,使其最接近正常:>>> ax2 = fig.add_subplot(212) >>> xt, lmbda = stats.yeojohnson(x) >>> prob = stats.probplot(xt, dist=stats.norm, plot=ax2) >>> ax2.set_title('Probplot after Yeo-Johnson transformation')
>>> plt.show()
相關用法
- Python SciPy stats.yeojohnson_normmax用法及代碼示例
- Python SciPy stats.yeojohnson_llf用法及代碼示例
- Python SciPy stats.yeojohnson_normplot用法及代碼示例
- Python SciPy stats.yulesimon用法及代碼示例
- Python SciPy stats.anderson用法及代碼示例
- Python SciPy stats.iqr用法及代碼示例
- Python SciPy stats.genpareto用法及代碼示例
- Python SciPy stats.skewnorm用法及代碼示例
- Python SciPy stats.cosine用法及代碼示例
- Python SciPy stats.norminvgauss用法及代碼示例
- Python SciPy stats.directional_stats用法及代碼示例
- Python SciPy stats.invwishart用法及代碼示例
- Python SciPy stats.bartlett用法及代碼示例
- Python SciPy stats.levy_stable用法及代碼示例
- Python SciPy stats.page_trend_test用法及代碼示例
- Python SciPy stats.itemfreq用法及代碼示例
- Python SciPy stats.exponpow用法及代碼示例
- Python SciPy stats.gumbel_l用法及代碼示例
- Python SciPy stats.chisquare用法及代碼示例
- Python SciPy stats.semicircular用法及代碼示例
- Python SciPy stats.gzscore用法及代碼示例
- Python SciPy stats.gompertz用法及代碼示例
- Python SciPy stats.normaltest用法及代碼示例
- Python SciPy stats.dirichlet_multinomial用法及代碼示例
- Python SciPy stats.genlogistic用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.stats.yeojohnson。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。