R中的偏差分析 - 哪个测试?

机器算法验证 r 越轨
2022-04-08 08:42:56

我有两个广义线性模型mod1mod2.

mod1 <- glm(Score ~ Height + Gene, data=mydata, family=binomial)

mod2 <- glm(Score ~ Height * Gene, data=mydata, family=binomial)

我想对偏差进行分析以测试交互项的重要性。

起初我是这样做anova(mod1,mod2)的,我使用该函数1 - pchisq()来获得从方差分析表中得到的偏差结果的 p 值。

我还做了另一个测试:anova(mod2, test="Chisq"). 这为从头到尾依次添加的所有项提供了一个表格,并且我为交互项获得了一个非常不同的 p 值Height:Gene...

我应该使用哪一个?

2个回答

正如@caracal 指出的那样,anova(mod2,test="Chisq")应该返回所需的测试。我们不知道出了什么问题,1-pchisq()因为我们不知道您在括号内放了什么;但一种猜测是您不小心同时测试了模型中所有解释变量的重要性。

我不得不说,我从事统计工作已有 10 年了,以前从未听过有人称之为偏差分析。那是从哪里来的?只是想知道,这是一个合乎逻辑的标题,尽管正如 portmanteau ANOVA 所暗示的那样,“方差分析”当然是更通用的术语。

无论如何,不​​同之处在于,在第一个 ANOVA 中,您比较了两个模型(它们不同的概率),而在第二个中,您对一个模型进行了 ANOVA 以获得模型中各项的 p 值。如果您想知道某个特定术语的意义,那么您可能正在寻找第二个选择。

此外,仅供参考,永远不需要计算您自己的 p 值。这个 ANOVA 函数在输出 (Pr > F) 中提供给您,就像在 R. Cheers 中调用 ANOVA 的所有更常见的方法一样。