本文簡要介紹 python 語言中 scipy.stats.boxcox_llf
的用法。
用法:
scipy.stats.boxcox_llf(lmb, data)#
Boxcox 對數似然函數。
- lmb: 標量
Box-Cox 轉換的參數。有關詳細信息,請參閱
boxcox
。- data: array_like
用於計算 Box-Cox 對數似然的數據。如果數據是多維的,則沿第一個軸計算對數似然。
- llf: 浮點數或 ndarray
Box-Cox 給定 lmb 的數據的對數似然。一維數據為浮點數,否則為數組。
參數 ::
返回 ::
注意:
Box-Cox 對數似然函數在這裏定義為
其中
y
是 Box-Cox 轉換後的輸入數據x
。例子:
>>> import numpy as np >>> from scipy import stats >>> import matplotlib.pyplot as plt >>> from mpl_toolkits.axes_grid1.inset_locator import inset_axes
生成一些隨機變量並計算
lmbda
值範圍內的Box-Cox 對數似然值:>>> rng = np.random.default_rng() >>> x = stats.loggamma.rvs(5, loc=10, size=1000, random_state=rng) >>> lmbdas = np.linspace(-2, 10) >>> llf = np.zeros(lmbdas.shape, dtype=float) >>> for ii, lmbda in enumerate(lmbdas): ... llf[ii] = stats.boxcox_llf(lmbda, x)
還可以使用
boxcox
找到最佳 lmbda 值:>>> x_most_normal, lmbda_optimal = stats.boxcox(x)
將對數似然繪製為 lmbda 的函數。將最佳 lmbda 添加為水平線,以檢查這是否確實是最佳值:
>>> fig = plt.figure() >>> ax = fig.add_subplot(111) >>> ax.plot(lmbdas, llf, 'b.-') >>> ax.axhline(stats.boxcox_llf(lmbda_optimal, x), color='r') >>> ax.set_xlabel('lmbda parameter') >>> ax.set_ylabel('Box-Cox log-likelihood')
現在添加一些概率圖,以顯示在對數似然最大化的情況下,使用
boxcox
轉換的數據看起來最接近正常:>>> locs = [3, 10, 4] # 'lower left', 'center', 'lower right' >>> for lmbda, loc in zip([-1, lmbda_optimal, 9], locs): ... xt = stats.boxcox(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.boxcox_normplot用法及代碼示例
- Python SciPy stats.boxcox_normmax用法及代碼示例
- Python SciPy stats.boxcox用法及代碼示例
- Python SciPy stats.boltzmann用法及代碼示例
- Python SciPy stats.boschloo_exact用法及代碼示例
- Python SciPy stats.bootstrap用法及代碼示例
- Python SciPy stats.bartlett用法及代碼示例
- Python SciPy stats.brunnermunzel用法及代碼示例
- Python SciPy stats.betaprime用法及代碼示例
- Python SciPy stats.betabinom用法及代碼示例
- Python SciPy stats.binned_statistic_2d用法及代碼示例
- Python SciPy stats.binned_statistic用法及代碼示例
- Python SciPy stats.bayes_mvs用法及代碼示例
- Python SciPy stats.burr12用法及代碼示例
- Python SciPy stats.binom用法及代碼示例
- Python SciPy stats.burr用法及代碼示例
- Python SciPy stats.bws_test用法及代碼示例
- Python SciPy stats.beta用法及代碼示例
- Python SciPy stats.bradford用法及代碼示例
- Python SciPy stats.binomtest用法及代碼示例
- Python SciPy stats.binned_statistic_dd用法及代碼示例
- Python SciPy stats.binom_test用法及代碼示例
- Python SciPy stats.bernoulli用法及代碼示例
- Python SciPy stats.barnard_exact用法及代碼示例
- Python SciPy stats.anderson用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.stats.boxcox_llf。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。