lm()给出了lm.ridge(lambda = 0)的不同结果

时间:2017-05-03 22:55:08

标签: r regression

我在做任何事情之前都在寻找想法,以至于联系核心团队告诉他们他们有错误!

我有一个回归,我可以从中提取这样的系数:

lm(y ~ x1 * x2, data=ds)$coef

得出:x1 = 0.40,x2 = 0.37,x1 * x2 = 0.09

当我在SPSS中进行相同的回归时,得到:beta(x1)= 0.40,beta(x2)= 0.37,beta(x1 * x2)= 0.14。这种互动非常不同。

X1和X2的相关性约为0.75(是的,是的,我知道 - 这个模型不是我的想法,但已经发布了),所以很可能会出现共线性问题。

现在我们当然都想指点笑和SPSS,但我想我会尝试lm.ridge()看看我是否能够了解问题发生的位置。所以要开始,让我们运行lm.ridge(),其中lambda = 0(即不是岭惩罚)并检查我们是否与lm()相同:

lm(y ~ x1 * x2, lambda=0, data=ds)$coef

x1 = 0.40,x2 = 0.37,x1 * x2 = 0.14

亲爱的,亲爱的。 lm.ridge()同意SPSS,而lm()不同意。

这里真正奇怪的是我假设lm.ridge只是搭载lm(),所以在特定情况下lambda = 0并且没有“起作用”,我希望得到相同的结果。 / p>

不幸的是,数据集中有34,000个案例,因此最不容易做出最小的代表。

任何想法我还能尝试什么? (这并没有阻止我完成工作,但我现在很好奇!)

0 个答案:

没有答案