Logistische Regression: So erhalten Sie ein gesättigtes Modell

17

Ich habe gerade über das Abweichungsmaß für die logistische Regression gelesen. Der Teil, der als gesättigtes Modell bezeichnet wird, ist mir jedoch nicht klar.

Ich habe eine umfangreiche Google-Suche durchgeführt, aber keines der Ergebnisse hat meine Frage beantwortet. Bisher habe ich herausgefunden, dass ein gesättigtes Modell für jede Beobachtung einen Parameter hat, der zu einer perfekten Anpassung führt. Das ist mir klar. Aber: Weiterhin sind die angepassten Werte (eines gesättigten Modells) gleich den beobachteten Werten.

Da meines Wissens nach die logistische Regression zur Klassifizierung verwendet wird, sind die angegebenen beobachteten Daten Kovariaten mit zusätzlichen Bezeichnungen . Das Maß für die Abweichung verwendet jedoch Wahrscheinlichkeiten, nicht jedoch die tatsächlichen Bezeichnungen. Man wendet die berechnete vorhergesagte Wahrscheinlichkeit der logistischen Regression gegenüber den beobachteten Wahrscheinlichkeiten an. Da man jedoch nur Bezeichnungen anstelle von Wahrscheinlichkeiten angegeben hat, bin ich verwirrt, wie man aus diesen Bezeichnungen ein gesättigtes Modell konstruiert.y{0,1}

toom
quelle

Antworten:

17

yichyich1-2Log(1/1)=00

y = c(1,1,1,0,0,0)
a <- factor(1:length(y)) 
fit <- glm(y~a,family=binomial) 
summary(fit)

Deviance Residuals: 
 0  0  0  0  0  0

Null deviance: 8.3178e+00  on 5  degrees of freedom

Residual deviance: 2.5720e-10  on 0  degrees of freedom

nn(n-1)

> k2
 [1] 1 2 3 4 5 6 1 2 3 4 5 6
Levels: 1 2 3 4 5 6
> y2
 [1] 1 1 1 0 0 0 1 1 1 0 0 0
> fit3 = glm(y2 ~ k2, family = binomial)
> summary(fit3)    

    Null deviance: 1.6636e+01  on 11  degrees of freedom
    Residual deviance: 5.1440e-10  on  6  degrees of freedom

Tatsächlich stellt sich heraus, dass in R das gesättigte Modell von der Form der Eingabe abhängt, auch wenn die Daten genau gleich sind, was nicht sehr schön ist. Insbesondere im obigen Beispiel gibt es 12 Beobachtungen und 6 Faktorstufen, daher sollte das gesättigte Modell 6 und nicht 12 Parameter haben. Im Allgemeinen wird ein gesättigtes Modell als eines definiert, bei dem die Anzahl der Parameter gleich der Anzahl von ist unterschiedliche kovariate Muster. Ich habe keine Ahnung, warum der R-Code "zugab", dass der Faktor k2 6 verschiedene Stufen aufweist, und dennoch wurde das gesättigte Modell mit 12 Parametern ausgestattet.

Wenn wir nun genau die gleichen Daten in "Binomial" -Form verwenden, erhalten wir eine korrekte Antwort:

y_yes = 2 * c(1,1,1,0,0,0)
y_no = 2 * c(0,0,0,1,1,1)
x = factor(c(1:6))

> x
[1] 1 2 3 4 5 6
Levels: 1 2 3 4 5 6
> y_yes
[1] 2 2 2 0 0 0
> y_no
[1] 0 0 0 2 2 2

modelBinomialForm = glm(cbind(y_yes, y_no) ~ x, family=binomial)

Deviance Residuals: 
[1]  0  0  0  0  0  0

Coefficients:
              Estimate Std. Error z value Pr(>|z|)
(Intercept)  2.490e+01  1.096e+05       0        1
x2           1.375e-08  1.550e+05       0        1
x3           1.355e-08  1.550e+05       0        1
x4          -4.980e+01  1.550e+05       0        1
x5          -4.980e+01  1.550e+05       0        1
x6          -4.980e+01  1.550e+05       0        1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 1.6636e+01  on 5  degrees of freedom
Residual deviance: 3.6749e-10  on 0  degrees of freedom

Jetzt sehen wir, dass das gesättigte Modell 6 Parameter hat und mit dem angepassten Modell übereinstimmt. Daher ist die Nullabweichung auf (6-1) = 5 df und die Restabweichung ist auf (6-6) = 0 df.

James
quelle
yich00