Коли різняться коефіцієнти, оцінені за допомогою логістичної та лінійно-лінійної регресії?


11

При моделюванні безперервних пропорцій (наприклад, пропорційне рослинне покриття на квадратах обстеження або частка часу, що займається діяльністю) логістичний регрес вважається недоцільним (наприклад, Warton & Hui (2011 ). Швидше, регресія OLS після перетворення пропорцій logit, або, можливо, бета-регресія, є більш підходящими.

За яких умов оцінки коефіцієнтів логічно-лінійної регресії та логістичної регресії різняться при використанні R lmта glm?

Візьмемо наступний модельований набір даних, де можна припустити, що pце наші необроблені дані (тобто безперервні пропорції, а не представлення нсуccессеснтriалс ):

set.seed(1)
x <- rnorm(1000)
a <- runif(1)
b <- runif(1)
logit.p <- a + b*x + rnorm(1000, 0, 0.2)
p <- plogis(logit.p)

plot(p ~ x, ylim=c(0, 1))

введіть тут опис зображення

Встановлюючи лінійно-лінійну модель, отримуємо:

summary(lm(logit.p ~ x))
## 
## Call:
## lm(formula = logit.p ~ x)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.64702 -0.13747 -0.00345  0.15077  0.73148 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 0.868148   0.006579   131.9   <2e-16 ***
## x           0.967129   0.006360   152.1   <2e-16 ***
## ---
## Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
## 
## Residual standard error: 0.208 on 998 degrees of freedom
## Multiple R-squared:  0.9586, Adjusted R-squared:  0.9586 
## F-statistic: 2.312e+04 on 1 and 998 DF,  p-value: < 2.2e-16

Логістична регресія дає:

summary(glm(p ~ x, family=binomial))
## 
## Call:
## glm(formula = p ~ x, family = binomial)
## 
## Deviance Residuals: 
##      Min        1Q    Median        3Q       Max  
## -0.32099  -0.05475   0.00066   0.05948   0.36307  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  0.86242    0.07684   11.22   <2e-16 ***
## x            0.96128    0.08395   11.45   <2e-16 ***
## ---
## Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 176.1082  on 999  degrees of freedom
## Residual deviance:   7.9899  on 998  degrees of freedom
## AIC: 701.71
## 
## Number of Fisher Scoring iterations: 5
## 
## Warning message:
## In eval(expr, envir, enclos) : non-integer #successes in a binomial glm!

Чи завжди оцінки коефіцієнта логістичної регресії будуть неупередженими щодо оцінок логічно-лінійної моделі?


1
Зауважте теоретичне розмежування: при біноміальній моделі, застосованій до пропорцій, ви вважаєте, що випробування за кожною пропорцією є незалежними, тобто за пропорцією 0.1там «було», скажімо, 10 незалежних випробувань, що дають один успіх. Для лінійної моделі - 0.1це просто значення, якась довільна міра.
ttnphns

1
Я дещо сумніваюся в тому, наскільки навіть має сенс застосовувати біноміальну модель до пропорцій способом, зробленим ОП. Зрештою, family=binomialвипливає, що залежна змінна являє собою біноміальне число, а не пропорції. І як би glmзнати, що 0.1це як "один із десяти", а не "десять із сотні"? Хоча сама пропорція не відрізняється, це має великі наслідки для обчислення стандартної помилки.
Вольфганг

1
@Wolfgang - Я усвідомлюю (і згадую у своєму дописі), що недоцільно моделювати безперервні пропорції такого роду з логістичною регресією. Мене більше цікавило, чи / коли / як різняться балові оцінки коефіцієнтів.
jbaums

2
@Wolfgang, ви праві, але це залежить від реалізації. Деякі програми дозволять вводити пропорції як DV та 1s замість баз, тоді як набір даних зважується на реальні бази. Так виглядає, ніби ви аналізуєте пропорції, а не рахуєте.
ttnphns

1
@ttnphns Аналогічно, в R можна ввести пропорції як DV та подати weightsаргументу вектор, що містить кількість випробувань (хоча це не те, що я намагався у своєму дописі, де я навмисно аналізував дані неправильно).
jbaums

Відповіді:


5

Можливо, на це можна відповісти «зворотним» способом - тобто коли вони однакові?

Тепер алгоритм IRLS, який використовується в логістичній регресії, дає деяке розуміння тут. При збіжності ви можете виразити модельні коефіцієнти у вигляді:

β^логiстic=(ХТWХ)-1ХТWz

WWii=нipi(1-pi)zzi=хiТβ^логiстic+уi-нipiнipi(1-pi)vаr(zi-хiТβ^)=Wii-1zβz

журнал(у)-журнал(н-у)у(1-у/н)унlm ()


Вражає. Чи можете ви, будь ласка, показати своє останнє речення за кодом R, використовуючи дані імітовані дані? Дякую!
JellicleCat

2

Будь ласка, не соромтесь зазначити це, якщо я помиляюся.

По-перше, я так кажу, по-друге, ви називаєте glmнеправильно! Щоб відповідати логістичній регресії glm, відповідь має бути (двійковою) категоріальною змінною, але ви використовуєте pчислову змінну! Я мушу сказати, що warningце занадто ніжно, щоб повідомити користувачам про свої помилки ...

І, як ви могли очікувати, ви отримуєте подібні оцінки коефіцієнтів на два підходи просто на COINCIDENCE. Якщо замінити logit.p <- a + b*x + rnorm(1000, 0, 0.2)з logit.p <- a + b*x + rnorm(1000, 0, 0.7), тобто, зміна дисперсії залишкового члена від 0.2до 0.7, то результати двох підбори будуть значно відрізнятися, хоча другий формі ( glm) НЕ має сенсу взагалі ...

Логістична регресія використовується для (бінарної) класифікації, тому ви повинні мати категоричну відповідь, як зазначено вище. Наприклад, спостереження відповіді повинні бути серією "успіх" чи "невдача", а не серією "ймовірності (частоти)", як у ваших даних. Для заданого набору категоріальних даних ви можете обчислити лише одну загальну частоту для "відповідь = успіх" або "відповідь = провал", а не серію. У даних, які ви створюєте, категоричної змінної взагалі немає, тому застосувати логістичну регресію неможливо. Тепер ви можете бачити, хоча вони мають схожий вигляд, лінійно-лінійна регресія (як ви це називаєте) - це просто звичайна лінійна проблема РЕГРЕСІЇ (тобто відповідь є числовою змінною) з використанням перетвореного відповіді (подібно до перетворення sqr або sqrt),

Зазвичай лінійна регресія встановлюється через звичайні найменші квадрати (OLS), що мінімізує квадратну втрату для проблеми регресії; логістична регресія встановлюється через максимальну оцінку ймовірності (MLE), яка мінімізує втрати журналу для проблеми класифікації. Ось посилання на функції втрат Function Loss Fun, Deva Ramanan. У першому прикладі ви розглядаєте pяк відповідь і підходите до звичайної лінійної регресійної моделі через OLS; у другому прикладі ви говорите, Rщо ви підходите до логістичної регресійної моделі family=binomial, тому Rпідходите до моделі MLE. Як бачите, у першій моделі ви отримуєте t-test та F-test, які є класичними виходами OLS, придатними для лінійної регресії. У другій моделі коефіцієнт значущості базується на zзамість, а не наt, що є класичним виходом MLE, що відповідає логістичній регресії.


Приємне запитання (+1) та приємна відповідь (+1). Я дізнався щось нове.
Олександр Блех

1
Я погодився б. Однак це logistic regression is a CLASSIFICATION problemможе бути неправильно трактовано в сенсі, що воно варто лише до тих пір, поки воно може добре класифікувати. Що було б помилково думати, тому що модель "теоретично" оптимальна і за тим, як вона моделює ймовірності, іноді може класифікуватися гірше, ніж не настільки хороша модель.
ttnphns

@ttnphns Дякуємо за ваш коментар! Я думаю, що це умова називати це проблемою класифікації, якщо відповідь буде категоричною. Незалежно від того, чи працює модель чи ні, важливо, але, можливо, це не впливає на найменування.
JellicleCat

Дякую @JellicleCat - мені відомо, що дані про пропорції такого типу не підходять для логістичної регресії, але мені цікаво було обставин, за яких оцінки коефіцієнтів будуть відрізнятися від даних OLS з перетвореними розмірами logit. Дякую за Ваш приклад - зрозуміло, що при збільшенні дисперсії оцінки коефіцієнтів розходяться.
jbaums
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.