stats.boxcox()函数详解

半世苍凉 提交于 2019-11-27 05:49:57

官方文档

scipy.stats.boxcox(x, lmbda=None, alpha=None)

返回一个通过Box-Cox次方转换的正的数据集

参数 数据类型 意义
x ndarray 输入数组。1维
lmbda {None, scalar}, optional 如果lmbda不是None,对这个值进行转换
如果lmbda是None,找到最大化对数似然函数的lambda并将其返回为第二个输出参数
alpha {None, float}, optional 如果alpha不是None,返回lmbda的置信区间作为第三个输出参数。必须是0.0~1.0
返回 数据类型 意义
boxcox nndarray Box-Cox次方转换数组
maxlog float, optional 如果lmbda参数是None,返回的第二个参数是最大化对数似然函数的lambda
(min_ci, max_ci) tuple of float, optional 如果lmbda参数是None并且alpha不是None,这个返回的浮点数元组表示在给定alpha下最小和最大置信限制

boxcox要求输入数据都是正的。转换公式为
y=(xlmbda1)/lmbda  ,  for  lmbda>0      log(x),  for  lmbda=0 y = (x**lmbda - 1)/lmbda\; , \; for \; lmbda>0\\ \; \; \; log(x), \; for \; lmbda=0

  • 意义解释:Box-Cox变换

    做回归分析时,通常假设回归方程的残差具有有齐性,即等方差。如果残差不满足齐性,即出现异方差(残差发散),此时就可以通过做Box-Cox变换实现回归方程残差齐性。

    Box-Cox变换实现两项工作:做变换、确定lambda的值(也就是boxcox()函数返回的前两个参数)

    boxcox是将数据分布正态化,使其更加符合后续对数据分布的假设。

    boxcox可以降低skewness值,达到接近正态分布的目标。


  • Reference

  1. box-cox变换
  2. R语言Box-Cox变换与多重共性线
  3. 数据挖掘中常用的数据变换方法总结
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!