我想针对调用glm
的每个参数提取Akaike的信息标准(AIC),贝叶斯信息标准(BIC)或仅提取似然比检验(LRT)。
这是一些示例数据
set.seed(12345)
x1 <- rnorm(100)
f1 <- factor(rbinom(100, size=2, prob=.5))
y <- rbinom(100, size=1, prob=1/(1 + exp(.7*x1 + (f1==2))))
fit <- glm(y ~ x1 + f1, family=binomial)
summary(fit)
现在,当上面的代码运行时,我得到
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.09408 0.44406 0.212 0.83222
x1 -0.74737 0.23484 -3.182 0.00146 **
f11 -0.02476 0.53768 -0.046 0.96327
f12 -1.53873 0.67443 -2.282 0.02252 *
z value
和相应的p值基于Wald统计信息,但我希望对模型中的每个参数使用LRT,AIC或BIC。
如果我使用drop1()
,则可以获取模型公式中每个项的AIC和LRT。使用step()
函数时的情况与此相同,因为它使用drop1()
,因此实际上只能容纳 terms 中的更改,而不能容纳 parameters 。对于分类(因子)预测变量,此问题最为明显。
> drop1(fit, test="LRT")
Single term deletions
Model:
y ~ x1 + f1
Df Deviance AIC LRT Pr(>Chi)
<none> 117.66 125.66
x1 1 129.78 135.78 12.1198 0.0004989 ***
f1 2 125.81 129.81 8.1519 0.0169763 *
是否存在可以为每个参数实现相似功能的功能?
update()
,但是我希望某些功能已经在某处实现。