R 公式中因子阶数不同的lm系数

R 公式中因子阶数不同的lm系数,r,regression,R,Regression,我试图分析R中的一些线性模型结果,特别是我对lm对象摘要中自变量的p值感兴趣(我知道有更复杂的方法来比较变量的相关性,但过去的一些比较让我相信,对于初步分析,这个p值就行了). 我确信这些p值不依赖于公式中变量的指定顺序(例如,使用方差分析时,这是不正确的),因此我对我得到的一些虚假数据的结果感到困惑: > x<-rnorm(100) > y <- 2*x > xJ <- jitter(x) > lm1 <- lm(y~x) > lm2 &

我试图分析R中的一些线性模型结果,特别是我对lm对象摘要中自变量的p值感兴趣(我知道有更复杂的方法来比较变量的相关性,但过去的一些比较让我相信,对于初步分析,这个p值就行了). 我确信这些p值不依赖于公式中变量的指定顺序(例如,使用方差分析时,这是不正确的),因此我对我得到的一些虚假数据的结果感到困惑:

> x<-rnorm(100)
> y <- 2*x
> xJ <- jitter(x)
> lm1 <- lm(y~x)
> lm2 <- lm(y~x+xJ)
> lm3 <- lm(y~xJ+x)
> summary(lm1)$coefficients
                 Estimate   Std. Error       t value  Pr(>|t|)
(Intercept) -2.220446e-17 4.064501e-17 -5.463023e-01 0.5860998
x            2.000000e+00 4.037817e-17  4.953172e+16 0.0000000
> summary(lm2)$coefficients
                Estimate   Std. Error      t value  Pr(>|t|)
(Intercept) 0.000000e+00 4.271540e-17 0.000000e+00 1.0000000
x           2.000000e+00 3.534137e-13 5.659091e+12 0.0000000
xJ          4.147502e-13 3.534140e-13 1.173553e+00 0.2434475
> summary(lm3)$coefficients
                 Estimate   Std. Error       t value      Pr(>|t|)
(Intercept) -1.594538e-18 5.512644e-21 -2.892511e+02 3.147977e-144
xJ          -3.531641e-16 4.560990e-17 -7.743146e+00  9.391428e-12
x            2.000000e+00 4.560986e-17  4.385017e+16  0.000000e+00
>x y xJ lm1 lm2 lm3汇总(lm1)$系数
估计标准误差t值Pr(>t)
(截距)-2.220446e-17 4.064501e-17-5.463023e-01 0.5860998
x2000000e+004.037817e-174.953172e+1600000000
>汇总(lm2)$系数
估计标准误差t值Pr(>t)
(截距)0.000000e+004.271540e-17 0.000000e+0010000000
x2000000e+003.534137e-135.659091e+1200000000
xJ 4.147502e-13 3.534140e-13 1.173553e+00 0.2434475
>汇总(lm3)$系数
估计标准误差t值Pr(>t)
(截距)-1.594538e-18 5.512644e-21-2.892511e+02 3.147977e-144
xJ-3.531641e-16 4.560990e-17-7.743146e+00 9.391428e-12
x 200万E+00 4.560986e-17 4.385017e+16 0.000000 E+00
我的错误在哪里


感谢仔细考虑了这一点,我认为除了任何奇怪的浮点问题外,系数不稳定的原因是,由于
x
xJ
几乎完全相关。快速测试方差膨胀系数:

library(car)
vif(lm2)
        x        xJ 
103233533 103233533

VIF大于5通常被认为是需要注意的问题,因此在这种情况下,系数移动一点也不奇怪。

浮点精度也可能是一个问题。试试
y@Arun:我不认为这就是这里发生的事情,这也许可以解释
y~x
y~x+xJ
之间的区别,但我不认为它涵盖了
y~x+xJ
y~xJ+x
之间的区别。我认为这是一个结合了浮点奇怪和事实的组合,
x
y
完全相关。谢谢大家的回答。在这种情况下,我相信马吕斯是对的(罗兰提出的测试支持这一观点)。这是我关于统计和类似事情的惯常循环:当我看真实数据时,我会感到困惑,所以我决定研究一些小的假例子,我通常把它们变得太简单/极端情况,所以我会更加困惑:)事实上,我试图调查在多重共线性问题的情况下会发生什么(也就是说,我有两个相关变量可以很好地解释我的反应->它们的PV值和模型的R平方会发生什么?事实上,我有很多变量,我无法先验地删除所有相关的变量…我开始怀疑使用aov或完全不同的方法是否更合适、更高效:))在这里报告一个更容易解释的结果(从我非常有限的角度来看…至少我在阅读Whuber答案的开头时解释了结果)是这样的:
x