Я бы хотел извлечь либо Информационный критерий Акаике (AIC), Байесовский критерий информации (BIC), либо просто критерий отношения правдоподобия (LRT) для каждого параметра в вызове glm
.
Вот некоторые примеры данных
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
s и соответствующие p-значения основаны на статистике Вальда, но я бынапример, LRT, AIC или BIC для каждого из параметров модели.
Если я использую drop1()
, тогда я могу получить AIC и LRT для каждого члена n по формуле модели.,Это та же самая ситуация при использовании функции step()
, поскольку она использует drop1()
, поэтому действительно учитывает изменения только в терминах , а не в параметрах .Проблема наиболее очевидна для категориальных (факторных) предикторов.
> 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()
с, но я надеялся, что некоторые функциональные возможности уже были реализованы где-то. - Квадратный критерий Вальда асимптотически эквивалентен LRT, поэтому легко получить приближение из статистики Вальда.Я надеялся получить действительные значения вместо этого.