Коли Пуассон та негативні біноміальні регресії відповідають однаковим коефіцієнтам?


38

Я помітив, що в R, Пуассоні та негативних біноміальних регресіях, здається, завжди відповідають однакові коефіцієнти для категоричних, але не безперервних предикторів.

Наприклад, ось регресія з категоричним прогноктором:

data(warpbreaks)
library(MASS)

rs1 = glm(breaks ~ tension, data=warpbreaks, family="poisson")
rs2 = glm.nb(breaks ~ tension, data=warpbreaks)

#compare coefficients
cbind("Poisson"=coef(rs1), "NB"=coef(rs2))

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

Ось приклад з неперервним прогноктором, де Пуассон і НБ відповідають різним коефіцієнтам:

data(cars)
rs1 = glm(dist ~ speed, data=cars, family="poisson")
rs2 = glm.nb(dist ~ speed, data=cars)

#compare coefficients
cbind("Poisson"=coef(rs1), "NB"=coef(rs2))

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

(Звичайно, ці дані не рахуються, а моделі не мають сенсу ...)

Потім я перекодую прогноктор у коефіцієнт, і дві моделі знову відповідають однаковим коефіцієнтам:

library(Hmisc)
speedCat = cut2(cars$speed, g=5) 
#you can change g to get a different number of bins

rs1 = glm(cars$dist ~ speedCat, family="poisson")
rs2 = glm.nb(cars$dist ~ speedCat)

#compare coefficients
cbind("Poisson"=coef(rs1), "NB"=coef(rs2))

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

Однак негативна біноміальна регресія Джозефа Хільбе дає приклад (6.3, стор. 118-119), де категоричний предиктор, стать, підходить з дещо різними коефіцієнтами за Пуассоном ( b=0.883 ) та NB ( ). Він каже: “Співвідношення частоти захворюваності між моделями Пуассона та НБ досить схожі. Це не дивно, якщо врахувати близькість [відповідає в R] до нуля. "α 1 / θb=0.881α1/θ

Я розумію це, але у наведених вище прикладах summary(rs2)говорить нам, що оцінюється відповідно в 9,16 і 7,93.θ

То чому ж коефіцієнти точно однакові? І чому лише для категоричних прогнозів?


Редагувати №1

Наведемо приклад з двома неортогональними провісниками. Дійсно, коефіцієнти вже не однакові:

data(cars)

#make random categorical predictor
set.seed(1); randomCats1 = sample( c("A","B","C"), length(cars$dist), replace=T)
set.seed(2); randomCats2 = sample( c("C","D","E"), length(cars$dist), replace=T)

rs1 = glm(dist ~ randomCats1 + randomCats2, data=cars, family="poisson")
rs2 = glm.nb(dist ~ randomCats1 + randomCats2, data=cars)

#compare coefficients
cbind("Poisson"=coef(rs1), "NB"=coef(rs2))

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

І, в тому числі інший предиктор, змушує моделі підходити до різних коефіцієнтів, навіть коли новий предиктор є безперервним. Отже, це чимось пов'язане з ортогональністю фіктивних змінних, які я створив у своєму оригінальному прикладі?

rs1 = glm(dist ~ randomCats1 + speed, data=cars, family="poisson")
rs2 = glm.nb(dist ~ randomCats1 + speed, data=cars)

#compare coefficients
cbind("Poisson"=coef(rs1), "NB"=coef(rs2))

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


6
(+1) Приємне запитання. Я спробую написати щось для вас за кілька годин. Тим часом ви можете спробувати побачити, що відбувається з кількома категоричними прогнозами, які не є ортогональними (підказка!).
кардинал

1
Підступність! Я обов'язково спробую це. І дякую, я з нетерпінням чекаю на вашу відповідь.
напівперехід

Вибачте @ напівпропуск; Я про це не забув і спробую щось підняти протягом дня. (У мене є половина відповіді, зібрана, але мене відтягнули інші завдання.) Сподіваюся, щедрість також приверне інші відповіді. Ура. :-)
кардинал

Не хвилюйтесь, @cardinal! Я знаю, що у вас і всіх інших дивовижних гуру тут є життя поза CV :)
половина проїзду

Відповіді:


29

Ви виявили інтимну, але загальну властивість GLM, що відповідають максимальній вірогідності . Результат випадає, як тільки розглядається найпростіший випадок з усіх: Встановлення одного параметра в одне спостереження!

Одне речення Відповідь : Якщо все , що ми дбаємо про доречно окремі засоби для непересічних підмножин нашого зразка, то GLMS завжди дають ц J = ··· у J для кожного підмножини J , так фактичній структурі помилки і параметризації щільності і стають неактуальними до (бальної) оцінки!мк^j=у¯jj

Трохи більше : Пристосування ортогональних категоріальних факторів за максимальною вірогідністю еквівалентно встановленню окремих засобів для роз'єднання підмножин нашого зразка, тому це пояснює, чому Пуассон та негативні двочленні ГЛМ дають однакові оцінки параметрів. Дійсно, те ж саме відбувається, використовуючи Пуассон, Негбін, Гаусса, зворотну гауссова чи гамма-регресію (див. Нижче). У випадку Пуассона та Небіна функцією посилання за замовчуванням є посилання на , але це червона оселедець; хоча це дає ті ж самі необроблені оцінки параметрів, нижче ми побачимо, що ця властивість взагалі не має нічого спільного з функцією зв'язку.журнал

Коли нас цікавить параметризація з більшою структурою, або це залежить від безперервних предикторів, то припущена структура помилок стає актуальною через співвідношення середньо-дисперсійного розподілу, що стосується параметрів та нелінійної функції, що використовується для моделювання умовного засоби.

ГЛМ та експоненціальні дисперсійні сім'ї: Збіг курсу

журналf(у;θ,ν)=θу-б(θ)ν+а(у,ν).

θνν

θу=б'(θ^)νу¯=б'(θ^)

θ

θЕжурналf(Y;θ,ν)=Еθжурналf(Y;θ,ν)=0.
б'(θ)=ЕY=мк

у¯=мк^

мкiмкi=г-1(хiТβ)гхijмкi=г(βj)βj

Що так відрізняється від безперервних прогнозів?

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

i=1н(уi-мкi)хijσi2мкiλi=0,
j=1,,pλi=хiТββνмкi=г(λi)=г(хiТβ)σi2

Таким чином, функція зв'язку та припущена модель помилок стають актуальними для оцінки.

Приклад: модель помилки (майже) не має значення

к=6

журнал

З таблиці ми бачимо, що оцінки параметрів є однаковими , хоча деякі з цих GLM призначені для дискретних даних, а інші - для безперервних, а деякі - для негативних даних, а інші - не.

      negbin  poisson gaussian invgauss    gamma
XX1 4.234107 4.234107 4.234107 4.234107 4.234107
XX2 4.790820 4.790820 4.790820 4.790820 4.790820
XX3 4.841033 4.841033 4.841033 4.841033 4.841033

0

Приклад: Функція посилання (майже) не має значення

журналжурнал(β^)журнал(β^2)β^

> coefs.po
         log       id     sqrt
XX1 4.234107 4.234107 4.234107
XX2 4.790820 4.790820 4.790820
XX3 4.841033 4.841033 4.841033

Застереження у заголовку просто посилається на той факт, що необроблені оцінки залежать від функції зв'язку, але маються на увазі середні параметри оцінки не будуть.

R код

# Warning! This code is a bit simplified for compactness.
library(MASS)
n <- 5
m <- 3
set.seed(17)
b <- exp(5+rnorm(m))
k <- 6

# Random negbin data; orthogonal factors
y <- rnbinom(m*n, size=k, mu=rep(b,each=n))
X <- factor(paste("X",rep(1:m,each=n),sep=""))

# Fit a bunch of GLMs with a log link
con <- glm.control(maxit=100)
mnb <- glm(y~X+0, family=negative.binomial(theta=2))
mpo <- glm(y~X+0, family="poisson")
mga <- glm(y~X+0, family=gaussian(link=log), start=rep(1,m), control=con)
miv <- glm(y~X+0, family=inverse.gaussian(link=log), start=rep(2,m), control=con)
mgm <- glm(y~X+0, family=Gamma(link=log), start=rep(1,m), control=con)    
coefs <- cbind(negbin=mnb$coef, poisson=mpo$coef, gaussian=mga$coef
                   invgauss=miv$coef, gamma=mgm$coef)

# Fit a bunch of Poisson GLMs with different links.
mpo.log  <- glm(y~X+0, family=poisson(link="log"))
mpo.id   <- glm(y~X+0, family=poisson(link="identity"))
mpo.sqrt <- glm(y~X+0, family=poisson(link="sqrt"))   
coefs.po <- cbind(log=mpo$coef, id=log(mpo.id$coef), sqrt=log(mpo.sqrt$coef^2))

+1, чітка та вичерпна, краща відповідь, ніж те, що я дав.
mpr

@mpr, я хотів би вважати це доповненням до твого. Я був дуже задоволений, коли побачив твій пост; ви чітко і стисло описали (і показали), що відбувається. Мої пости іноді читають трохи довго; Я боюся, що це одна з них.
кардинал

Ви обоє дивовижні. Дуже дякую, що пояснили мені це з такою чіткістю та суворістю. Мені потрібно витратити ще трохи часу на дайджест :)
половина проходу

@cardinal Звідки ти взяв "2 family=negative.binomial(theta=2)" у?
timothy.s.lau

23

Для того, щоб побачити, що тут відбувається, корисно спочатку зробити регресію без перехоплення, оскільки перехоплення в категоричній регресії лише з одним предиктором безглуздо:

> rs1 = glm(breaks ~ tension-1, data=warpbreaks, family="poisson")
> rs2 = glm.nb(breaks ~ tension-1, data=warpbreaks)

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

>  exp(cbind("Poisson"=coef(rs1), "NB"=coef(rs2)))
          Poisson       NB
tensionL 36.38889 36.38889
tensionM 26.38889 26.38889
tensionH 21.66667 21.66667

Ці параметри відповідають фактичним засобам для різних значень категорії:

> with(warpbreaks,tapply(breaks,tension,mean))
       L        M        H 
36.38889 26.38889 21.66667 

λ

λ

λθθλ

L(Х,λ,θ)=(θλ+θ)θΓ(θ+хi)хi!Γ(θ)(λλ+θ)хiжурналL(Х,λ,θ)=θ(журналθ-журнал(λ+θ))+хi(журналλ-журнал(λ+θ))+журнал(Γ(θ+хi)хi!Γ(θ))ггλжурналL(Х,λ,θ)=хiλ-θ+хiλ+θ=н(х¯λ-х¯+θλ+θ),
λ=х¯

журнал(λ)λ

λλ251055=25λ11


5
(+1) Гарна відповідь. Одне, що, на мою думку, тут можна зробити більш чітко, це те, що це насправді не має нічого спільного з будь-якими стосунками між Пуассоном та негативним біноміалом, а, скоріше, основоположні факти про пристосування GLM з максимальною вірогідністю.
кардинал

Влучне зауваження. Єдине, що має відношення до Пуассона та негативного бінома, - це те, що вони задаються журналом середнього параметра. Наприклад, якщо ви зробили звичайну регресію найменших квадратів, коефіцієнти були б номінально різними, оскільки тоді параметр буде фактичним значенням, а не журналом.
mpr

2
Щоправда, але я думаю, що це трохи перевищує це: Підходимо до будь-якого GLM, використовуючи будь-яку функцію зв'язку (за ML та з дуже незначними застереженнями), і оскільки пристосовані засоби відповідатимуть зразковим засобам, то оцінки параметрів однакові до нелінійних перетворення між різними ланками. Конкретна модель помилки не має значення, крім того, що вона походить із експоненціальної сімейства дисперсій.
кардинал

Це хороший момент, який я не висвітлював. Я підходив до цього питання з більш загальної точки зору оцінки ML, а не спеціально для GLM. Є безліч природних моделей, в яких ML вироблять пристосовані засоби, що відрізняються від зразкових засобів (наприклад, лонормальних). Але для ГЛМ ваше спостереження призводить до більш короткого та більш загального пояснення.
mpr

2
@ напівпропуск: встановіть усі ваші ортогональні категорії категорій y~X+0та спробуйте ще раз. :-)
кардинал
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.