它可以帮助您在这里阅读我的答案:为什么我的 p 值在逻辑回归输出、卡方检验和 OR 的置信区间之间存在差异? 您在这里的问题几乎与此相同,但是您的问题中还有一些其他元素可以解决。
正如@CliffAB 所指出的,summary.glm()
输出中的 p 值来自 Wald 测试。这些类似于检验,因为它们是系数的拟合值和参考值(取为)之间的差除以标准误差。不同之处在于这些被认为是作为标准法线而不是分布的。另一方面,这些对大样本有效,我们不一定知道在任何给定情况下什么构成“大样本”。 t0t
使用anova.glm()
使您可以访问不同的测试。当您设置test="Rao"
时,它会为您提供分数测试的 p 值。当您设置test="Chisq"
或test="LRT"
(它们相同)时,它会为您提供似然比检验的 p 值。
在这种情况下,该函数确实测试了与输出中anova.glm()
的 Wald 测试相同的零假设。那只是因为您的模型只有一个变量。该函数将执行顺序测试,类似于线性设置中的“I 型 SS”,而 Wald 测试类似于线性设置中的“III 型 SS”(请参阅我的答案:如何解释 I 型, II 型和 III 型 ANOVA 和 MANOVA?)。考虑: summary()
anova.glm()
summary()
x2 = rnorm(n)
m2 = glm(y~x+x2, family="binomial")
summary(m2)$coefficients
# Estimate Std. Error z value Pr(>|z|)
# (Intercept) -0.05906436 0.186876339 -0.3160612 7.519561e-01
# x -0.01567551 0.003537183 -4.4316372 9.352029e-06
# x2 -0.05967796 0.099093504 -0.6022388 5.470152e-01
anova(m2, test="LRT")
# Terms added sequentially (first to last)
#
# Df Deviance Resid. Df Resid. Dev Pr(>Chi)
# NULL 499 619.10
# x 1 20.3841 498 598.72 6.335e-06 ***
# x2 1 0.3627 497 598.35 0.547
m3 = glm(y~x2+x, family="binomial") # I just switched the order of x & x2 here
summary(m3)$coefficients
# Estimate Std. Error z value Pr(>|z|)
# (Intercept) -0.05906436 0.186876339 -0.3160612 7.519561e-01
# x2 -0.05967796 0.099093504 -0.6022388 5.470152e-01 # these are the same
# x -0.01567551 0.003537183 -4.4316372 9.352029e-06 # as above
anova(m3, test="LRT")
# Terms added sequentially (first to last)
#
# Df Deviance Resid. Df Resid. Dev Pr(>Chi)
# NULL 499 619.10
# x2 1 0.1585 498 618.94 0.6906 # these differ from the
# x 1 20.5883 497 598.35 5.694e-06 *** # anova output above
您可以anova.glm()
在类似于“III 型 SS”的多元逻辑回归模型中为您提供单个变量的得分和似然比检验,但这很乏味。您需要不断调整模型,以便每个变量依次列在提供给glm()
调用的公式中。输出中列出的最后一个 p 值anova.glm()
类似于“III 型 SS”。
要更方便地获得单个变量的分数或似然比检验,请drop1()
改用。考虑:
drop1(m3, test="LRT")
# Single term deletions
#
# Model:
# y ~ x2 + x
# Df Deviance AIC LRT Pr(>Chi)
# <none> 598.35 604.35
# x2 1 598.72 602.72 0.3627 0.547 # the same as when x2 is last above
# x 1 618.94 622.94 20.5883 5.694e-06 *** # the same as when x is last above