Box Cox转换以进行回归


9

我正在尝试仅使用一个预测变量(例如(x,y))将线性模型拟合到某些数据上。数据使得对于较小的x值,y值与直线紧密匹配,但是,随着x值的增加,y值变得更加不稳定。这是此类数据(R代码)的示例

y = c(3.2,3.4,3.5,3.8,4.2,5.5,4.5,6.8,7.4,5.9)
x = seq(1,10,1)

我很想知道是否存在任何幂变换(也许是Box cox?),这使我比简单地进行线性拟合(如下所示)更适合数据。

fit = lm(y ~ x)

据我了解,像Box Cox这样的转换的目的不是要获得更好的拟合度,而是要满足模型的假设。这可能会获得更好的拟合度,更差的拟合度,或者变化不大,但这将是一个不违反假设的拟合度。
彼得·富勒姆

非线性变换将使线性关系变为非线性(尽管有时您也可以变换x并将其固定)。但是,变换也可以使弯曲的曲线变直,同时降低异方差性(尽管并非总是可以使用相同的变换来完成这两个动作)。对于该数据,对数转换会有所帮助。
Glen_b-恢复莫妮卡2012年

4
使用的两个极值和中间值(第五个值),stats.stackexchange.com / questions / 35711 /…所示的方法表明对数(参数为0的Box-Cox变换)适用于线性化关系。使用第一个,第六个和最后一个值表示倒数(参数-1)会很好。这表明几乎所有介于0到-1之间的参数都可以使用。考虑到数据很少,该范围不足为奇。没有单调的重新表达将稳定这些数据的变化。ÿ
ub

Answers:


6

R已安装的MASS软件包已具有boxcox()您可以使用的功能:读取数据后,请执行以下操作:

library(MASS)
boxcox(y ~ x)

然后查看生成的图形,该图形以图形方式显示boxcox转换参数的95%置信区间。但是您实际上没有足够的数据(n = 10)来执行此操作,因此结果置信区间几乎从-2变为2 !,最大似然估计约为0(如前所述,为对数转换)。如果您的真实数据有更多观察结果,则应尝试此操作。

正如其他人所说,这种转变实际上是在试图稳定差异。从理论上说,这实际上不是很明显,而是试图最大化基于正态分布的似然函数,该函数假定常数方差。有人可能会认为,最大化基于法线的可能性会尝试使残差的分布标准化,但实际上,对最大化可能性的主要贡献来自于稳定方差。鉴于我们最大化的可能性基于恒定方差正态分布族,所以这可能并不令人惊讶。

我曾经在XLispStat中编写了一个基于滑块的演示,清楚地演示了这一点!


3

当您具有线性关系,但方差不相等时,通常需要同时变换x和y以获得具有相等方差的线性关系(或仅对未变换的变量使用加权最小二乘回归)。

AVAS程序可用于建议可能的转换。


看一下数据: ÿ 单调趋势 X1个5,然后为 X 之间 510。这意味着没有连续的单调重新表达ÿ将成功稳定差异。考虑到这一限制,您对加权最小二乘的建议看起来很有希望,但是如何选择权重呢?
Whuber

同意@whuber
西兰花

1
对于这个特定的数据集,我同意@whuber的观点,我只是假设此数据可以快速构成以进行说明(因此表明了人类缺乏随机性/真实性)。对于不均等方差的一般情况,我的回答更多是一般性建议。
格雷格·斯诺

鉴于方差随x增大,glm具有泊松链接函数的框架会削减它吗?
RomanLuštrik'12

3
@RomanLuštrik,泊松回归是要考虑的问题,但选择应基于科学而非数据。以上数据为非整数ÿ,因此对于非整数,在Poisson回归中必须具有某种权重或观察窗。仅当响应变量代表计数并且数据背后的科学与泊松分布一致时才应考虑。
格雷格·斯诺

1

好吧,在R中,您可以尝试以下操作:

library(MASS)
boxcox(y~x)
plot(1/y^2~x) # since the profile likelihood has a maximum near 2

在此处输入图片说明

但这确实取决于您“更适合数据”的含义


-2

好吧,如果您对x的所有数据均为非负数,那么您可以使用box cox转换...来估计转换参数lambda的理想值,您可以使用matlab ... http://www.mathworks.in/ help / finance / boxcox.html


1
“理想”在这里是指问题中未要求的其他内容。这个问题试图稳定方差,而Matlab解决方案试图使它们尽可能接近正态分布。
Whuber
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.