Логистическая регрессия: как получить насыщенную модель

17

Я только что прочитал о мере отклонения для логистической регрессии. Однако та часть, которая называется насыщенной моделью, мне не ясна.

Я сделал обширный поиск в Google, но ни один из результатов не ответил на мой вопрос. До сих пор я обнаружил, что насыщенная модель имеет параметр для каждого наблюдения, что, как следствие, приводит к идеальной подгонке. Это ясно для меня. Но: в дальнейшем подгонянные значения (насыщенной модели) равны наблюдаемым значениям.

Поскольку, насколько мне известно, для классификации используется логистическая регрессия, данные наблюдений являются ковариатами с дополнительными метками . Тем не менее, мера отклонения использует вероятности, но не фактические метки. Один применяет вычисленную прогнозируемую вероятность логистической регрессии в сравнении с наблюдаемыми вероятностями. Тем не менее, так как каждый дал только метки вместо вероятностей, я запутался, как построить насыщенную модель из этих меток?Y{0,1}

Тоом
источник

Ответы:

17

Для каждого вероятность из насыщенной модели будет такой же, как , либо ноль, либо единица. Как объяснено здесь, вероятность насыщенной модели равна . Следовательно, отклонение такой модели будет , на df. Вот пример из R:YяYя1-2журнал(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

Насыщенная модель всегда имеет параметров, где - размер выборки. Вот почему нулевое отклонение всегда включено df, поскольку нулевая модель имеет только перехват. Например, если я добавлю одну копию для каждого из шести уровней факторов, я получу следующее: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

На самом деле оказывается, что в R то, что представляет собой насыщенная модель, зависит от формы ввода, даже если данные точно такие же, что не очень приятно. В частности, в приведенном выше примере имеется 12 наблюдений и 6 уровней факторов, поэтому насыщенная модель должна иметь 6 параметров, а не 12. В общем случае насыщенная модель определяется как модель, в которой число параметров равно числу четкие ковариатические модели. Я понятия не имею, почему код R «признал», что фактор k2 имеет 6 различных уровней, и все же насыщенная модель была оснащена 12 параметрами.

Теперь, если мы будем использовать точно такие же данные в «биномиальной» форме, мы получим правильный ответ:

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

Теперь мы видим, что насыщенная модель имеет 6 параметров и совпадает с подобранной моделью. Следовательно, нулевое отклонение равно (6 - 1) = 5 df, а остаточное отклонение равно (6-6) = 0 df.

Джеймс
источник
Yя00