测试R中系数的子集是否为零

时间:2019-04-06 17:16:58

标签: r linear-regression

假设我有一个线性模型

Y =β0+β1X1+β2X2+β3X3+β4X4

我可以在R中运行以下代码来创建模型并进行总结:

model1 <- lm(formula = Y ~ X1+X2+X3+X4, data = df)
summary(model1)

输出(除其他外)提供F统计量,该统计量提供有关假设H0的信息:β1=β2=β3=β4= 0。

我想知道是否有一种方法可以检验假设H0:β1=β2=β4= 0。

或者,H0:β1=β2=β3

谢谢。

2 个答案:

答案 0 :(得分:0)

想象一下,您的公式是X5和X6已删除或未知的公式。实现此方法后,可以通过从公式中删除X3来检查第二个假设,而通过删除X4可以检查第三个假设。

答案 1 :(得分:0)

第一种情况:H0:β1=β2=β4= 0

您将比较两个模型:一个模型与模型中的三个相关系数(您已经在工作空间中拥有),以及不带它们的其他模型。 anova函数将为该假设提供F统计量(在通常的假设下)。

  model2 <- lm(formula = Y ~ X3, data = df)
  anova(model1, model2)

第二种情况:H0:β1=β2=β3我怀疑您忘记将=0放在该复合假设中,如果这样的话,那就简单了

  model3 <- lm(formula = Y ~ X4, data = df)
  anova(model1, model3)

如果不是那个问题,而是三个系数的联合相等性处于未指定的值,那么我没有答案。由于这是一个涉及不同主题的多部分问题(因此在SO上不合主题),并且由于测试三个非零系数的联合相等性是一个完全不同的统计问题,因此您应该首先在{{1 }}。