Извлечь информационный критерий для каждого параметра в glm - PullRequest
0 голосов
/ 17 июня 2019

Я бы хотел извлечь либо Информационный критерий Акаике (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, поэтому легко получить приближение из статистики Вальда.Я надеялся получить действительные значения вместо этого.
...