回归截距的意义(R lm 模型)

机器算法验证 回归 p 值 流明
2022-04-10 14:50:24

问题:

使用 lm 函数在 R 中执行线性回归后,我不确定如何解释Intercept的结果(如下所示)。

截距相关性的概率似乎很低(即Pr(>|t|)为 0.845,高于 0.05)。这是否意味着我应该通过强制它通过零来从模型中删除截距?或者,这是否意味着我仍然应该保留截距但认识到它并不重要?

输出:

Call:
lm(formula = DI ~ II)

Residuals:
 Min       1Q   Median       3Q      Max 
-0.23960 -0.03306 -0.01116  008724  0.20568 

Coefficients:
            Estimate    Std. Error   t value   Pr(>|t|)
(Intercept) -0.07952    0.39953      -0.199   0.845
II           0.86381    0.04593      18.809   8.23e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 0.1346 on 13 degrees of freedom
Multiple R-squared: 0.9646, Adjusted R-squared: 0.9618 
F-statistic: 353.8 on 1 and 13 DF,  p-value: 8.23e-11 

附加背景信息 我的总体目标是找到我拥有的两个质量数据集之间的关系。所以,如果我有 DI 的值,我就能找出 II 的对应值。

2个回答

让我说截距的含义取决于预测变量的位置,here II截距定义为II为零时的预期结果,但如果II零值没有意义,那么截距也是无意义的。在这种情况下,截距和斜率之间的相关性将趋于1.0,即截距基本上由斜率决定 - 并且可能导致不显着。

将预测变量居中通常是正确的解决方案。看:

> x <- c(1,2,3)
> y <- c(2.9,4.8,6.9)
> summary(lm(y ~ x))

Call:
lm(formula = y ~ x)

Residuals:
       1        2        3 
 0.03333 -0.06667  0.03333 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept)  0.86667    0.12472   6.949   0.0910 .
x            2.00000    0.05774  34.641   0.0184 *

截距并不重要,可能与x == 0. 但如果你居中:

> cx <- x - mean(x)
> summary(lm(y ~ cx))

Call:
lm(formula = y ~ cx)

Residuals:
       1        2        3 
 0.03333 -0.06667  0.03333 

 Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
 (Intercept)  4.86667    0.04714  103.24  0.00617 **
 cx           2.00000    0.05774   34.64  0.01837 * 

现在拦截很重要,你可以说4.87y是什么时候的期望值x == mean(x)

不知道将其强制为零。您得到的结果是允许您说截距项很可能与零没有什么不同(如果您查看,零值包含在您的置信区间中)。

我认为强制你的模型不是一个好主意(DI ~ 0 + II如果我理解正确的话),因为以这种方式构建的模型总是会给你一个更高的R2价值。