Angenommen, ich werde eine univariate logistische Regression für mehrere unabhängige Variablen durchführen:
mod.a <- glm(x ~ a, data=z, family=binominal("logistic"))
mod.b <- glm(x ~ b, data=z, family=binominal("logistic"))
Ich habe einen Modellvergleich (Likelihood Ratio Test) durchgeführt, um festzustellen, ob das Modell mit diesem Befehl besser ist als das Nullmodell
1-pchisq(mod.a$null.deviance-mod.a$deviance, mod.a$df.null-mod.a$df.residual)
Dann baute ich ein anderes Modell mit allen Variablen darin
mod.c <- glm(x ~ a+b, data=z, family=binomial("logistic"))
Um festzustellen, ob die Variable im multivariaten Modell statistisch signifikant ist, habe ich den lrtest
Befehl von verwendetepicalc
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
Ich frage mich, ob die pchisq
Methode und die lrtest
Methode für die Durchführung des Loglikelihood-Tests gleichwertig sind. Ich weiß nicht, wie ich es lrtest
für das Univate-Logistikmodell verwenden soll.
r
logistic
diagnostic
lokheart
quelle
quelle
epicalc
wurde entfernt ( Quelle ). Eine Alternative könnte seinlmtest
.Antworten:
Grundsätzlich ja, vorausgesetzt, Sie verwenden den richtigen Unterschied in der Log-Wahrscheinlichkeit:
und nicht die Abweichung für das Nullmodell, die in beiden Fällen gleich ist. Die Anzahl von df ist die Anzahl von Parametern, die sich zwischen den beiden verschachtelten Modellen unterscheiden, hier ist df = 1. Übrigens, Sie können sich den Quellcode ansehen,
lrtest()
indem Sie einfach etwas eingebenan der R-Eingabeaufforderung.
quelle
anova(model1, model0)
wird auch funktionieren.glm(output ~ 1, data=z, family=binomial("logistic"))
wäre ein natürlicheres Nullmodell, das besagt, dass diesoutput
durch einen konstanten Term (den Achsenabschnitt) erklärt wird. / Der Achsenabschnitt ist in all Ihren Modellen implizierta
.Eine Alternative ist das
lmtest
Paket, das einelrtest()
Funktion hat, die ein einzelnes Modell akzeptiert. Hier ist das Beispiel aus?lrtest
demlmtest
Paket, das sich auf einen LM bezieht, aber es gibt Methoden, die mit GLMs funktionieren:quelle
fm1
hat eine geringere Log-Wahrscheinlichkeit und damit eine schlechtere Passform alsfm2
. Das LRT sagt uns, dass der Grad, in dem wirfm1
ein ärmeres Modell erstellt haben,fm2
unerwartet groß ist, wenn die Begriffe, die sich zwischen den Modellen unterscheiden, nützlich waren (erklärte die Reaktion).lrtest(fm2)
nicht gegenüberfm1
überhaupt, das Modellfm2
ist mit in diesem Fall verglichen , wenn, wie dies in der Ausgabe angegeben:con ~ 1
. Dieses Modell, das Nullmodell, sagt aus, dass der beste Prädiktorcon
der Stichprobenmittelwertcon
(der Achsenabschnitt / konstante Term) ist.