本文简要介绍 python 语言中 scipy.stats.boxcox
的用法。
用法:
scipy.stats.boxcox(x, lmbda=None, alpha=None, optimizer=None)#
返回由Box-Cox 幂变换变换的数据集。
- x: ndarray
要转换的输入数组。
如果lmbda不是无,这是一个别名scipy.special.boxcox.如果返回 nan
x < 0
;如果返回 -infx == 0 and lmbda < 0
.如果 lmbda 为 None,则数组必须为正数、一维且非常量。
- lmbda: 标量,可选
如果 lmbda 为 None(默认),则找到使对数似然函数最大化的 lmbda 值,并将其作为第二个输出参数返回。
如果 lmbda 不是 None,则对该值进行转换。
- alpha: 浮点数,可选
如果lmbda是无并且scipy.stats.alpha不是 None (默认),返回
100 * (1-alpha)%
置信区间lmbda作为第三个输出参数。必须介于 0.0 和 1.0 之间。如果lmbda不是无,scipy.stats.alpha被忽略。
- optimizer: 可调用的,可选的
如果 lmbda 为 None,则优化器是用于查找使负对数似然函数最小化的 lmbda 值的标量优化器。优化器是一种接受一个参数的可调用函数:
- 乐趣 可调用的
目标函数,在给定的 lmbda 值下评估负对数似然函数
并返回一个对象,例如
scipy.optimize.OptimizeResult
,它持有的最优值lmbda在一个属性中x.有关详细信息,请参阅
boxcox_normmax
中的示例或scipy.optimize.minimize_scalar
的文档。如果 lmbda 不是 None,则忽略优化器。
- boxcox: ndarray
Box-Cox 幂变换数组。
- maxlog: 浮点数,可选
如果 lmbda 参数为 None,则第二个返回参数是最大化对数似然函数的 lmbda。
- (min_ci, max_ci): 浮点数元组,可选
如果lmbda参数为 None 并且scipy.stats.alpha不是无,这个返回的浮点元组表示给定的最小和最大置信限scipy.stats.alpha.
参数 ::
返回 ::
注意:
Box-Cox 变换由下式给出:
y = (x**lmbda - 1) / lmbda, for lmbda != 0 log(x), for lmbda = 0
boxcox
要求输入数据为正数。有时,Box-Cox 转换提供了一个移位参数来实现这一点;boxcox
才不是。这样的移位参数等价于在x调用之前boxcox
.提供
alpha
时返回的置信限给出以下区间:其中
llf
为对数似然函数, 为卡方函数。参考:
G.E.P. Box 和 D.R.考克斯,“变革分析”,皇家统计学会杂志 B,26, 211-252 (1964)。
例子:
>>> 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')
我们现在使用
boxcox
来转换数据,使其最接近正常:>>> ax2 = fig.add_subplot(212) >>> xt, _ = stats.boxcox(x) >>> prob = stats.probplot(xt, dist=stats.norm, plot=ax2) >>> ax2.set_title('Probplot after Box-Cox transformation')
>>> plt.show()
相关用法
- Python SciPy stats.boxcox_normplot用法及代码示例
- Python SciPy stats.boxcox_normmax用法及代码示例
- Python SciPy stats.boxcox_llf用法及代码示例
- 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。