Логістична регресія: як отримати насичену модель


17

Я просто читав про міру відхилення для логістичної регресії. Однак частина, яку називають насиченою моделлю, мені незрозуміла.

Я здійснив обширний пошук в Google, але жоден з результатів не відповів на моє запитання. Поки я з'ясував, що насичена модель має параметр для кожного спостереження, що як наслідок призводить до ідеального прилягання. Це мені зрозуміло. Але: далі встановлені значення (насиченої моделі) рівні спостережуваним.

Оскільки, наскільки мені відомо, для класифікації використовується логістична регресія, дані спостережувані дані є коваріатами з додатковими мітками . Однак у мірі відхилення використовуються ймовірності, але не фактичні мітки. В одному застосовується обчислена прогнозована ймовірність логістичної регресії проти спостережуваних ймовірностей. Однак, оскільки один лише мітки дав замість ймовірностей, я плутаюся, як побудувати насичену модель з цих міток?y{0,1}

Відповіді:


17

yiyi12log(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

Власне, виявляється, що в 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.


yi00
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.