Box-Cox变换方法

点击量:221

《回归分析的基本假设》中提到了回归分析中的基本假设.这里的Box-Cox变换方法能够解决回归模型中的误差项不服从高斯分布的违例问题.通常这种违例情况出现在,误差\epsilon与预测变量相关的时候,会影响模型结果的精确度.简单的方法就是通过对X进行变换,如

y = \sqrt{x}
y = \frac{1}{x}
y = \frac{1}{\sqrt{x}}
y = ln(x)

当P值小于0.003时,由于普通数据转换方法很难使其实现正态化处理,运用Box-Cox变换方法对原数据进行正态化处理就表现出巨大的价值.当P值大于0.003时,两种变换方法均可,但优先考虑普通的平方变换.

Box-Cox变换是对反应变量y进行变换

y^\lambda =\begin{cases} \frac{y^\lambda-1}{\lambda}, &\lambda \neq 0 \ \log(y), &\lambda = 0 \end{cases}

可以看出,y的Box-Cox变换是一个变换族.\lambda能够决定变换的具体形式.同时上式有暗含的条件即y>0.对于任意取值,则应该改为

y^\lambda =\begin{cases} \frac{(y+c)^\lambda-1}{g\lambda}, &\lambda \neq 0 \ \frac{\log(y+c)}{g}, &\lambda = 0\ \end{cases}

方法优势

  • 保持原始数据中数据的大小次序
  • 转换函数连续
  • 转换函数可导
  • 函数族各函数之间随参数改变平滑过渡,且都经过一个公共点,以增强不同函数之间的可比性
  • 函数族内每个函数在公共点两边的变化趋势有一定的对称性
  • 函数族的曲线是按P值大小排序的,较大的P值对应的函数曲线位于较小P值得上方

\lambda值的确定

通过最大似然估计或者Bayes方法.

使用Box-Cox变换族一般都可以保证将数据进行成功的正态变换,但在二分变量或较少水平的等级变量的情况下,不能成功进行转换,这时可以使用广义线性模型,如Logustics模型、Johnson转换等.


知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行许可。

发表评论

电子邮件地址不会被公开。 必填项已用*标注