Regresja logistyczna: jak uzyskać model nasycony

17

Właśnie przeczytałem o miary dewiacji dla regresji logistycznej. Jednak część zwana modelem nasyconym nie jest dla mnie jasna.

Przeprowadziłem obszerne wyszukiwanie w Google, ale żaden z wyników nie odpowiedział na moje pytanie. Do tej pory dowiedziałem się, że model nasycony ma parametr dla każdej obserwacji, co w konsekwencji powoduje idealne dopasowanie. To dla mnie jasne. Ale: ponadto dopasowane wartości (modelu nasyconego) są równe wartościom obserwowanym.

Ponieważ z mojej wiedzy do klasyfikacji służy regresja logistyczna, podane obserwowane dane są zmiennymi towarzyszącymi z dodatkowymi etykietami . Jednak miara dewiacji wykorzystuje prawdopodobieństwa, ale nie rzeczywiste etykiety. Stosuje się obliczone przewidywane prawdopodobieństwo regresji logistycznej w stosunku do obserwowanych prawdopodobieństw. Ponieważ jednak podano tylko etykiety zamiast prawdopodobieństw, nie jestem pewien, jak zbudować model nasycony z tych etykiet?y{0,1}

toom
źródło

Odpowiedzi:

17

yjayja12log(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(n1)

> 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

W rzeczywistości okazuje się, że w R, czym jest model nasycony, zależy od formy danych wejściowych, nawet jeśli dane są dokładnie takie same, co nie jest bardzo miłe. W szczególności w powyższym przykładzie jest 12 obserwacji i 6 poziomów czynników, więc model nasycony powinien mieć 6 parametrów, a nie 12. Ogólnie model nasycony definiuje się jako taki, w którym liczba parametrów jest równa liczbie wyraźne wzory zmiennych towarzyszących. Nie mam pojęcia, dlaczego kod R „przyznał”, że współczynnik k2 ma 6 różnych poziomów, a jednak model nasycony został wyposażony w 12 parametrów.

Teraz, jeśli użyjemy dokładnie tych samych danych w postaci „dwumianowej”, otrzymamy poprawną odpowiedź:

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

Teraz widzimy, że model nasycony ma 6 parametrów i pokrywa się z dopasowanym modelem. Dlatego dewiacja zerowa jest włączona (6-1) = 5 df, a dewiacja resztkowa jest włączona (6-6) = 0 df.

James
źródło
Jesteś pewny? Gdybyyja było 0 mianownik w wyrażeniu dewiacji staje się 0jak również wtedy nie zdefiniowano.
toom