原文链接:http:///?p=22251线性回归时若数据不服从正态分布,会给线性回归的最小二乘估计系数的结果带来误差,所以需要对数据进行结构化转换。 在讨论回归模型中的变换时,我们通常会简单地使用Box-Cox变换,或局部回归和非参数估计。 这里的要点是,在标准线性回归模型中,我们有 但是有时候,线性关系是不合适的。一种想法可以是转换我们要建模的变量,然后考虑 这就是我们通常使用Box-Cox变换进行的操作。另一个想法可以是转换解释变量, 例如,我们有时会考虑连续的分段线性函数,也可以考虑多项式回归。 “凸规则”变换“凸规则”(_Mosteller_. F and _Tukey_, J.W. (1978). Data _Analysis_ and _Regression_)的想法是,转换时考虑不同的幂函数。 1.“凸规则”为纠正非线性的可能变换提供了一个起点。 更具体地说,我们将考虑线性模型。 根据回归函数的形状(上图中的四个曲线,在四个象限中),将考虑不同的幂。 例如让我们生成不同的模型,看看关联散点图。 > plot(MT(p=.5,q=2),main="(p=1/2,q=2)") 如果我们考虑图的左下角部分,要得到这样的模式,我们可以考虑 或更一般地 其中 让我们可视化数据集上的双重转换,例如cars数据集。 > tukey=function(p=1,q=1){ 例如,如果我们运行 > tukey(2,1) 我们得到如下图, 左侧是原始数据集,右侧是经过转换的数据集, > tukey(1,.5) Box-Cox变换当然,也可以使用Box-Cox变换。此外,还可以寻求最佳变换。考虑 > for(p in seq(.2,3,by=.1)) bc=cbind(bc,boxcox(y~I(x^p),lambda=seq(.1,3,by=.1))$y) 颜色越深越好(这里考虑的是对数似然)。最佳对数在这里是 > bc=function(a){p=a\[1\];q=a\[2\]; (-boxcox(y~I(x^p),data=base,lambda=q)$y\[50\] 实际上,我们得到的模型还不错, |
|