R语言 具有交互作用的多元回归

gab6jxml  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(178)

我遇到了一个有点令人困惑的主题,涉及到带有解释变量的多元回归的语法及其相互作用。DataCamp的解释让我想到:
第一个月
...与以下内容相同:
lm(formula = y ~ r + s + r:s , data)
这是不正确的。我发现后者实际上与缩短的版本相同:
lm(formula = y ~ r * s , data)
但前者肯定是不同的。
这两个模型之间的区别究竟是什么--也就是说,第一个模型显示了后两个模型所不能显示的东西?
谢谢你。

uqxowvwt

uqxowvwt1#

简单回归:

这是一个细微的差异,但肯定存在差异。您可以使用summary命令轻松地直观显示差异。我将使用iris数据集,因为它已经在R中。首先,简单的线性回归:

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

这将只显示一个自变量,萼片长度,在因变量,萼片宽度:

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 ***

手动添加交互和效果

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

# 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

相关问题