【问题标题】:Multiple Regression with Interaction交互多元回归
【发布时间】:2022-12-10 13:34:12
【问题描述】:

我遇到了一个令人困惑的话题,该话题与带有解释变量的多元回归及其相互作用的语法有关。 DataCamp 的解释让我想到:

lm(formula = y ~ r + r:s , data)

...是相同的:

lm(formula = y ~ r + s + r:s , data)

这是不正确的。我发现后者实际上与缩短版相同:

lm(formula = y ~ r * s , data)

但前者肯定不同。

它们之间到底有什么区别——也就是说,第一个模型表明后两个模型没有的是什么?

谢谢你。

【问题讨论】:

    标签: r linear-regression interaction


    【解决方案1】:

    简单回归:

    这是一个细微的差别,但那里肯定有差别。可以轻松地将差异可视化的一种方法是使用 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
    

    【讨论】:

      猜你喜欢
      • 2015-07-19
      • 2020-03-01
      • 1970-01-01
      • 2021-10-21
      • 1970-01-01
      • 1970-01-01
      • 2018-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多