打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Box-Cox变换,适合什么情况?

  残差散点图  


偶遇一份关于树木基本属性的数据,某研究者想探讨体积(y)和树高(x1)、周长(x2)的相关关系,因变量体积y是定量变量,所以我们首选线性回归进行分析。为了验证模型是否满足线性回归的前提条件,我们可以通过残差散点图进行判断。具体的判断方法可查看本公众号往期文章《多重线性回归前提条件的应对》,下图是拟合线性回归方程y~x1+x2,所得到残差散点图,纵坐标是残差,横坐标是预测值。



  非线性分布  


从上图可知,我们所拟合的回归方程存在明显的非线性关系。当然,我们可以通过直接拟合广义线性模型或非线性模型等,来处理非线性的问题,但这通常是最后的杀手锏,明智的做法应该是先采用相对简单的数据变换方法来尝试处理该类问题。数据变换可以对自变量进行,也可以对因变量进行,但往往考虑到拟合方程后对结果的可解释性,我们通常选择对自变量进行变换,适用于自变量做正态变换的方法可以查看本公众号往期文章《数据不正态,怎么办?》。


我们先通过直方图(见下图)考察一下各个变量的分布情况,发现自变量都基本符合正态分布的情况,存在问题的正是因变量,它呈明显的正偏峰分布。所以接下来我们考虑如何对因变量进行变换。



  Box-Cox变换公式  


除了上面遇到的例子,特别是在医学统计分析中,常会遇到因变量不满足正态分布的情况,我们就可以对因变量进行变换,Box-Cox变换是最常用的一种方法。Box-Cox变换的原理很简单,用两个公式就可以很好地解释。第一个公式为:


y'=(y+c)^λ-1/[λ*g^(λ-1)]


y'是变换后的因变量;g为因变量y的几何均数;当因变量y存在小于等于0的数据时,我们需要借助参数c对整个因变量数据进行平移,使得y+c>0;λ为最重要的变换参数,可以通过极大似然法进行估计,当所估计的λ为0时,上面的公式恒等于0,所以需要校正为以下公式:


y'=g*log(y+c)


  R语言实例  


下面我们采用R语言对开篇的例子进行Box-Cox变换以及变换后的回归分析。


#载入car包

library(car)

#估计变换参数λ

lambada=powerTransform(y~x1+x2)

#进行Box-Cox变换

y_bc=bcPower(y,lambda$lambda)

#变换后的线性回归

fit=lm(y_bc~x1+x2)

#查看残差散点图

plot(fit)


由散点图可知,通过Box-Cox变换后,残差散点的分布情况得到明显的改善,基本符合前提假设。



  参考文献  


  1. Box, G. E. P. and Cox, D. R. (1964). An analysis of transformations, Journal of the Royal Statistical Society, Series B, 26, 211-252.

  2. Kutner, M., Nachtsheim, C., Neter, J., and Li, W. (2004). Applied Linear Statistical Models, McGraw-Hill/Irwin, Homewood, IL.



本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
回归分析的各种变体【一览】
单变量线性回归模型与结果解读
提高丨用Excel进行地质变量相关分析及回归分析流程详解
13 l 趋势分析与回归:父母高,孩子一定高吗?
第8章 回归分析
回归预测分析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服