Ich habe eine logistische Regression aufgebaut, bei der die Ergebnisvariable nach der Behandlung geheilt wird ( Cure
vs. No Cure
). Alle Patienten in dieser Studie erhielten eine Behandlung. Ich bin daran interessiert zu sehen, ob Diabetes mit diesem Ergebnis zusammenhängt.
In R sieht meine logistische Regressionsausgabe folgendermaßen aus:
Call:
glm(formula = Cure ~ Diabetes, family = binomial(link = "logit"), data = All_patients)
...
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.2735 0.1306 9.749 <2e-16 ***
Diabetes -0.5597 0.2813 -1.990 0.0466 *
...
Null deviance: 456.55 on 415 degrees of freedom
Residual deviance: 452.75 on 414 degrees of freedom
(2 observations deleted due to missingness)
AIC: 456.75
Das Konfidenzintervall für das Odds Ratio umfasst jedoch 1 :
OR 2.5 % 97.5 %
(Intercept) 3.5733333 2.7822031 4.646366
Diabetes 0.5713619 0.3316513 1.003167
Wenn ich mit diesen Daten einen Chi-Quadrat-Test durchführe, erhalte ich Folgendes:
data: check
X-squared = 3.4397, df = 1, p-value = 0.06365
Wenn Sie es selbst berechnen möchten, ist die Verteilung von Diabetes in die geheilten und ungehärteten Gruppen wie folgt:
Diabetic cure rate: 49 / 73 (67%)
Non-diabetic cure rate: 268 / 343 (78%)
Meine Frage ist: Warum stimmen die p-Werte und das Konfidenzintervall einschließlich 1 nicht überein?
r
hypothesis-testing
logistic
generalized-linear-model
odds-ratio
SniperBro2000
quelle
quelle
confint()
. Dh die Wahrscheinlichkeit wurde profiliert. Auf diese Weise erhalten Sie CIs, die dem LRT entsprechen. Ihre Berechnung ist richtig, stellen jedoch stattdessen Wald-CIs dar. In meiner Antwort unten finden Sie weitere Informationen.Antworten:
Bei verallgemeinerten linearen Modellen gibt es drei verschiedene Arten statistischer Tests, die ausgeführt werden können. Dies sind: Wald-Tests, Likelihood-Ratio-Tests und Score-Tests. Auf der hervorragenden Hilfeseite für UCLA-Statistiken werden sie hier erläutert . Die folgende Abbildung (von der Site kopiert) dient zur Veranschaulichung:
summary.glm()
confint()
profile()
Unten profiliere ich die Koeffizienten auf der Skala des linearen Prädiktors und führe den Likelihood-Ratio-Test explizit durch (via
anova.glm()
). Ich erhalte die gleichen Ergebnisse wie Sie:Wie @JWilliman in einem Kommentar (der jetzt gelöscht wurde) in hervorhob
R
, können Sie mit auch einen auf der Punktzahl basierenden p-Wert erhaltenanova.glm(model, test="Rao")
. Im Beispiel unten, zur Kenntnis , dass der p-Wert ist nicht ganz dasselbe wie in dem Chi-Quadrat - Test oben, weil standardmäßigR
istchisq.test()
eine Kontinuitätskorrektur gilt. Wenn wir diese Einstellung ändern, stimmen die p-Werte überein:quelle