本文簡要介紹 python 語言中 scipy.stats.yeojohnson_llf
的用法。
用法:
scipy.stats.yeojohnson_llf(lmb, data)#
yeojohnson 對數似然函數。
- lmb: 標量
Yeo-Johnson 轉換的參數。有關詳細信息,請參閱
yeojohnson
。- data: array_like
用於計算 Yeo-Johnson 對數似然的數據。如果數據是多維的,則沿第一個軸計算對數似然。
- llf: 浮點數
Yeo-Johnson 給定 lmb 的數據的對數似然。
參數 ::
返回 ::
注意:
Yeo-Johnson 對數似然函數在這裏定義為
其中
x
的估計方差。 是 Yeo-Johnson 變換後的輸入數據例子:
>>> import numpy as np >>> from scipy import stats >>> import matplotlib.pyplot as plt >>> from mpl_toolkits.axes_grid1.inset_locator import inset_axes
生成一些隨機變量並計算
lmbda
值範圍內的Yeo-Johnson 對數似然值:>>> x = stats.loggamma.rvs(5, loc=10, size=1000) >>> lmbdas = np.linspace(-2, 10) >>> llf = np.zeros(lmbdas.shape, dtype=float) >>> for ii, lmbda in enumerate(lmbdas): ... llf[ii] = stats.yeojohnson_llf(lmbda, x)
還可以使用
yeojohnson
找到最佳 lmbda 值:>>> x_most_normal, lmbda_optimal = stats.yeojohnson(x)
將對數似然繪製為 lmbda 的函數。將最佳 lmbda 添加為水平線,以檢查這是否確實是最佳值:
>>> fig = plt.figure() >>> ax = fig.add_subplot(111) >>> ax.plot(lmbdas, llf, 'b.-') >>> ax.axhline(stats.yeojohnson_llf(lmbda_optimal, x), color='r') >>> ax.set_xlabel('lmbda parameter') >>> ax.set_ylabel('Yeo-Johnson log-likelihood')
現在添加一些概率圖,以顯示在對數似然最大化的情況下,使用
yeojohnson
轉換的數據看起來最接近正常:>>> locs = [3, 10, 4] # 'lower left', 'center', 'lower right' >>> for lmbda, loc in zip([-1, lmbda_optimal, 9], locs): ... xt = stats.yeojohnson(x, lmbda=lmbda) ... (osm, osr), (slope, intercept, r_sq) = stats.probplot(xt) ... ax_inset = inset_axes(ax, width="20%", height="20%", loc=loc) ... ax_inset.plot(osm, osr, 'c.', osm, slope*osm + intercept, 'k-') ... ax_inset.set_xticklabels([]) ... ax_inset.set_yticklabels([]) ... ax_inset.set_title(r'$\lambda=%1.2f$' % lmbda)
>>> plt.show()
相關用法
- Python SciPy stats.yeojohnson_normmax用法及代碼示例
- Python SciPy stats.yeojohnson_normplot用法及代碼示例
- Python SciPy stats.yeojohnson用法及代碼示例
- 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_llf。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。