Предположим, я собираюсь сделать одномерную логистическую регрессию для нескольких независимых переменных, например так:
mod.a <- glm(x ~ a, data=z, family=binominal("logistic"))
mod.b <- glm(x ~ b, data=z, family=binominal("logistic"))
Я выполнил сравнение модели (тест отношения правдоподобия), чтобы проверить, лучше ли эта модель по сравнению с нулевой моделью по этой команде.
1-pchisq(mod.a$null.deviance-mod.a$deviance, mod.a$df.null-mod.a$df.residual)
Затем я построил другую модель со всеми переменными в нем
mod.c <- glm(x ~ a+b, data=z, family=binomial("logistic"))
Чтобы увидеть, является ли переменная статистически значимой в многомерной модели, я использовал lrtest
команду изepicalc
lrtest(mod.c,mod.a) ### see if variable b is statistically significant after adjustment of a
lrtest(mod.c,mod.b) ### see if variable a is statistically significant after adjustment of b
Интересно, если pchisq
метод и lrtest
метод эквивалентны для проведения теста правдоподобия? Как я не знаю, как использовать lrtest
для унификации логистической модели.
r
logistic
diagnostic
lokheart
источник
источник
epicalc
был удален ( источник ). Альтернативой может бытьlmtest
.Ответы:
В основном, да, при условии, что вы используете правильную разницу в логарифмической вероятности:
а не отклонение для нулевой модели, которая одинакова в обоих случаях. Число df - это число параметров, которые отличаются между двумя вложенными моделями, здесь df = 1. Кстати, вы можете посмотреть на исходный код
lrtest()
, просто набравв приглашении R.
источник
anova(model1, model0)
тоже будет работать.glm(output ~ 1, data=z, family=binomial("logistic"))
будет более естественной нулевой моделью, которая говорит, чтоoutput
это объясняется постоянным термином (перехват) / Перехват подразумевается во всех ваших моделях, поэтому вы проверяете эффектa
после учета перехвата.Альтернативой является
lmtest
пакет, в котором естьlrtest()
функция, которая принимает одну модель. Вот пример из?lrtest
вlmtest
пакете, который является для LM , но есть методы , которые работают с GLMS:источник
fm1
имеет более низкую вероятность регистрации и, следовательно, более плохую посадку, чемfm2
. LRT говорит нам, что степень, в которой мы создалиfm1
более бедную модель, чемfm2
неожиданно большая, если бы термины, которые отличаются между моделями, была полезной (объяснил ответ).lrtest(fm2)
не по сравнению сfm1
вообще, модельfm2
сравнивается с в том случае , если, как указано в выходных данных , это:con ~ 1
. Эта модель, нулевая модель, говорит, что лучшим предикторомcon
является выборочное среднее значениеcon
(перехват / постоянный член).