我正在尝试执行一些逻辑回归(我是 R 的新手用户)。最初我使用“glm”来计算系数、AIC 和 p 值;在我遇到一个完全分离的数据集之前,这很有效。在 [1] 中,Gelman 等人建议在解决这个问题之前使用(信息丰富的);相应的算法在 R 中实现为“bayesglm”(在 ARM 包中)。
这是我的问题。以前,使用“glm”,我将计算 p 值如下:
mylogit <- bayesglm(a ~ b+c+d+e+f+g+h, data = mydata, family="binomial")
with(mylogit, pchisq(null.deviance - deviance, df.null - df.residual, lower.tail = FALSE))
有53-48=5个自由度:
Null deviance: 71.188 on 53 degrees of freedom
Residual deviance: 37.862 on 48 degrees of freedom
但是,如果我使用“bayesglm”而不是“glm”,那么得到的自由度对我来说有点令人惊讶:
Null deviance: 22.279 on 53 degrees of freedom
Residual deviance: 39.030 on 54 degrees of freedom
如果我将前面的公式插入 p 值,我有 -1 的自由度!有人可以帮我得到一个更明智的答案(或帮我解释这个)吗?
顺便说一句,“bayesglm”命令的文档包括以下不祥的评论:
我们包含了所有 glm() 参数,但我们还没有测试所有选项(例如,null 模型的 offests、对比、偏差)是否都有效。
[1] 格尔曼、安德鲁等人。“逻辑和其他回归模型的信息量较弱的默认先验分布。” 应用统计年鉴(2008 年):1360-1383。