多元回归与交互作用

4
我发现有关多元回归的语法及其解释变得有些混乱。DataCamp的一份解释让我认为: lm(formula = y ~ r + r:s , data) 与以下式子相同: lm(formula = y ~ r + s + r:s , data) 这是不正确的。我发现后者实际上与缩写版本相同: lm(formula = y ~ r * s , data) 但前者肯定是不同的。
那么,这两者之间的区别究竟在哪里?也就是说,第一个模型展示了什么,而后面两个模型则没有呢?
谢谢。
1个回答

6

简单回归:

这是一个微妙的差别,但肯定存在着差异。你可以使用 summary 命令轻松可视化出差异。我将使用 iris 数据集,因为它已经在 R 中了。首先进行简单线性回归:

# Simple regression:
summary(lm(formula = Sepal.Width ~ Sepal.Length,
           data = iris))

这将仅显示一个自变量Sepal.Length对因变量Sepal.Width的影响:

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)   3.41895    0.25356   13.48   <2e-16 ***
Sepal.Length -0.06188    0.04297   -1.44    0.152  

交互作用和主效应

对于仅包含*输入的下一个方程:

# Interaction and main effects:
summary(lm(formula = Sepal.Width ~ Sepal.Length*Petal.Length,
           data = iris))

它给出了每个自变量/预测变量的主要影响,同时也给出了它们之间的交互作用。现在您可以在系数下看到它们的所有列出:

Coefficients:
                          Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.51011    0.64336   2.347 0.020257 *  
Sepal.Length               0.46940    0.12954   3.624 0.000400 ***
Petal.Length              -0.42907    0.11832  -3.626 0.000397 ***
Sepal.Length:Petal.Length  0.01795    0.02186   0.821 0.413063  

仅有交互

对于 : 输入,它只给我们仅有交互,没有其他内容:

# Only interaction:
summary(lm(formula = Sepal.Width ~ Sepal.Length:Petal.Length,
           data = iris))

您可以在下面看到:
Coefficients:
                          Estimate Std. Error t value Pr(>|t|)    
(Intercept)                3.31473    0.06852  48.375  < 2e-16 ***
Sepal.Length:Petal.Length -0.01108    0.00257  -4.312 2.93e-05 ***

手动添加交互作用和效应

最后,如果您要输入交互作用手动添加主效应,您只需再次使用:输入,然后使用+添加一个主效应:

# Only interaction and one main effect:
summary(lm(formula = Sepal.Width ~ Sepal.Length + Sepal.Length:Petal.Length,
           data = iris))

如下所示:

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)               -0.299034   0.422673  -0.707     0.48    
Sepal.Length               0.807410   0.093603   8.626 9.44e-15 ***
Sepal.Length:Petal.Length -0.058626   0.005899  -9.939  < 2e-16 ***

需要注意的是,当我现在使用+*时,它仍然只给出交互和主效应,而没有进行说明。

summary(lm(formula = Sepal.Width ~ Sepal.Length + Sepal.Length*Petal.Length,
           data = iris))

从某种意义上来说,它实际上忽略了加号:

Coefficients:
                          Estimate Std. Error t value Pr(>|t|)    
(Intercept)                1.51011    0.64336   2.347 0.020257 *  
Sepal.Length               0.46940    0.12954   3.624 0.000400 ***
Petal.Length              -0.42907    0.11832  -3.626 0.000397 ***
Sepal.Length:Petal.Length  0.01795    0.02186   0.821 0.413063

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接