Khi nào hồi quy Poisson và nhị thức âm phù hợp với cùng một hệ số?


38

Tôi đã nhận thấy rằng trong hồi quy R, Poisson và nhị thức âm (NB) dường như luôn khớp với các hệ số tương tự cho các yếu tố dự báo phân loại, nhưng không liên tục.

Ví dụ: đây là một hồi quy với một công cụ dự đoán phân loại:

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))

nhập mô tả hình ảnh ở đây

Dưới đây là một ví dụ với bộ dự đoán liên tục, trong đó Poisson và NB phù hợp với các hệ số khác nhau:

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))

nhập mô tả hình ảnh ở đây

(Tất nhiên đây không phải là dữ liệu đếm và các mô hình không có ý nghĩa ...)

Sau đó, tôi mã hóa lại bộ dự đoán thành một yếu tố và hai mô hình lại khớp với cùng một hệ số:

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))

nhập mô tả hình ảnh ở đây

Tuy nhiên, Hồi quy nhị thức âm của Joseph Hilbe đưa ra một ví dụ (6.3, trg 118-119) trong đó một yếu tố dự đoán phân loại, giới tính, phù hợp với các hệ số hơi khác nhau bởi Poisson ( ) và NB ( ). Ông nói: Triệu Tỷ lệ tỷ lệ mắc giữa các mô hình Poisson và NB khá giống nhau. Điều này không có gì đáng ngạc nhiên khi độ gần của [tương ứng với trong R] về không.b=0.883b=0.881α1/θ

Tôi hiểu điều này, nhưng trong các ví dụ trên, summary(rs2)cho chúng ta biết rằng được ước tính tương ứng là 9,16 và 7,93.θ

Vậy tại sao các hệ số hoàn toàn giống nhau? Và tại sao chỉ cho các dự đoán phân loại?


Chỉnh sửa số 1

Dưới đây là một ví dụ với hai yếu tố dự đoán không trực giao. Thật vậy, các hệ số không còn giống nhau:

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))

nhập mô tả hình ảnh ở đây

Và, bao gồm một yếu tố dự đoán khác làm cho các mô hình phù hợp với các hệ số khác nhau ngay cả khi dự đoán mới liên tục. Vì vậy, nó có liên quan gì đến tính trực giao của các biến giả mà tôi đã tạo trong ví dụ ban đầu không?

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))

nhập mô tả hình ảnh ở đây


6
(+1) Câu hỏi hay. Tôi sẽ cố gắng viết một cái gì đó lên cho bạn trong một vài giờ. Trong thời gian chờ đợi, bạn có thể thử và xem điều gì xảy ra với nhiều dự đoán phân loại không trực giao (gợi ý!).
hồng y

1
Âm mưu! Tôi chắc chắn sẽ thử điều đó. Và cảm ơn bạn, tôi háo hức mong chờ câu trả lời của bạn.
một nửa vượt qua

Xin lỗi @ nửa đường; Tôi đã không quên điều này và sẽ cố gắng để có được một cái gì đó trong vòng một ngày. (Tôi có một nửa câu trả lời được đặt cùng nhau, nhưng đã bị kéo đi bởi các nhiệm vụ khác.) Hy vọng tiền thưởng cũng sẽ thu hút các câu trả lời khác. Chúc mừng. :-)
hồng y

Đừng lo lắng, @cardinal! Tôi biết bạn và tất cả các bậc thầy tuyệt vời khác ở đây có cuộc sống bên ngoài CV :)
một nửa

Câu trả lời:


29

Bạn đã phát hiện ra một thuộc tính thân mật, nhưng chung chung của GLM phù hợp với khả năng tối đa . Kết quả sẽ bị loại bỏ khi người ta xem xét trường hợp đơn giản nhất: Ghép một tham số duy nhất vào một quan sát duy nhất !

Một câu trả lời : Nếu tất cả những gì chúng tôi quan tâm là phù hợp với các phương tiện riêng biệt để tách rời các tập hợp con của mẫu của chúng tôi, thì GLM sẽ luôn mang lại cho mỗi tập hợp con , do đó, cấu trúc lỗi thực tế và tham số hóa mật độ đều trở thành không liên quan đến ước tính (điểm)!μ^j=y¯jj

Thêm một chút nữa : Các yếu tố phân loại trực giao phù hợp với khả năng tối đa tương đương với việc phù hợp với các phương tiện riêng biệt để tách rời các tập hợp con của mẫu của chúng tôi, vì vậy điều này giải thích tại sao các hàm nhị phân Poisson và nhị phân âm mang lại ước tính tham số giống nhau. Thật vậy, điều tương tự cũng xảy ra cho dù chúng ta sử dụng hồi quy Poisson, negbin, Gaussian, nghịch đảo Gaussian hay Gamma (xem bên dưới). Trong trường hợp Poisson và negbin, chức năng liên kết mặc định là liên kết , nhưng đó là cá trích đỏ; trong khi điều này mang lại các ước tính tham số thô tương tự , chúng ta sẽ thấy bên dưới rằng thuộc tính này thực sự không liên quan gì đến chức năng liên kết.log

Khi chúng ta quan tâm đến một tham số có cấu trúc nhiều hơn hoặc phụ thuộc vào các yếu tố dự đoán liên tục, thì cấu trúc lỗi giả định trở nên có liên quan do mối quan hệ phương sai trung bình của phân phối vì nó liên quan đến các tham số và hàm phi tuyến được sử dụng để mô hình hóa điều kiện có nghĩa.

GLM và các gia đình phân tán theo cấp số nhân: Khóa học sụp đổ

Một họ phân tán theo cấp số nhân ở dạng tự nhiên là một mật độ sao cho mật độ log có dạng

logf(y;θ,ν)=θyb(θ)ν+a(y,ν).

Ở đây là tham số tự nhiên và là tham số phân tán . Nếu đã được biết, đây sẽ chỉ là một nhóm hàm mũ một tham số tiêu chuẩn. Tất cả các GLM được xem xét dưới đây giả sử một mô hình lỗi từ gia đình này.θνν

Hãy xem xét một mẫu của một quan sát duy nhất từ gia đình này. Nếu chúng tôi phù hợp với theo khả năng tối đa, chúng tôi sẽ nhận được , bất kể giá trị của . Điều này dễ dàng mở rộng cho trường hợp của một mẫu iid vì khả năng nhật ký sẽ thêm, mang lại .y = b ' ( θ ) v ˉ y = b ' ( θ )θy=b(θ^)νy¯=b(θ^)

Nhưng, chúng ta cũng biết, do tính đều đặn của mật độ nhật ký là hàm của , mà Vì vậy, trên thực tế .θ

θElogf(Y;θ,ν)=Eθlogf(Y;θ,ν)=0.
b(θ)=EY=μ

Vì ước tính khả năng tối đa là bất biến dưới các phép biến đổi, điều này có nghĩa là cho họ mật độ này.y¯=μ^

Bây giờ, trong GLM, chúng tôi mô hình là trong đó là hàm liên kết. Nhưng nếu là một vectơ của tất cả các số 0 trừ một số 1 ở vị trí , thì . Khả năng của GLM sau đó sẽ được xác định theo và chúng tôi tiến hành như trên. Đây chính xác là trường hợp của các yếu tố trực giao.μiμi=g1(xiTβ)gxijμi=g(βj)βj

Có gì khác nhau về dự đoán liên tục?

Khi các yếu tố dự đoán là liên tục hoặc chúng là phân loại, nhưng không thể được giảm xuống dưới dạng trực giao, thì khả năng không còn các yếu tố thành các thuật ngữ riêng lẻ với một giá trị trung bình riêng biệt tùy thuộc vào một tham số riêng biệt. Tại thời điểm này, cấu trúc lỗi và chức năng liên kết sẽ đi vào hoạt động.

Nếu một người điều chỉnh thông qua đại số (tẻ nhạt), các phương trình khả năng trở thành với mọi trong đó . Tại đây, các tham số và nhập ngầm thông qua mối quan hệ liên kết và phương sai .

i=1n(yiμi)xijσi2μiλi=0,
j=1,,pλi=xiTββνμi=g(λi)=g(xiTβ)σi2

Theo cách này, hàm liên kết và mô hình lỗi giả định trở nên phù hợp với ước tính.

Ví dụ: Mô hình lỗi (hầu như) không thành vấn đề

Trong ví dụ dưới đây, chúng tôi tạo dữ liệu ngẫu nhiên nhị thức âm tùy thuộc vào ba yếu tố phân loại. Mỗi quan sát đến từ một loại duy nhất và cùng một tham số phân tán ( ) được sử dụng.k=6

Sau đó, chúng tôi phù hợp với những dữ liệu này bằng năm GLM khác nhau, mỗi loại có một liên kết : ( a ) nhị thức âm, ( b ) Poisson, ( c ) Gaussian, ( d ) Nghịch đảo Gaussian và ( e ) Gamma GLM. Tất cả những điều này là ví dụ về các gia đình phân tán theo cấp số nhân.log

Từ bảng, chúng ta có thể thấy rằng các ước tính tham số là giống hệt nhau , mặc dù một số GLM này dành cho dữ liệu rời rạc và một số khác là liên tục, và một số khác là cho dữ liệu không âm trong khi một số khác thì không.

      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

Sự cảnh báo trong tiêu đề xuất phát từ thực tế là quy trình phù hợp sẽ thất bại nếu các quan sát không nằm trong miền của mật độ cụ thể. Ví dụ: nếu chúng tôi có số được tạo ngẫu nhiên trong dữ liệu ở trên, thì Gamma GLM sẽ không hội tụ được vì Gamma GLM yêu cầu dữ liệu tích cực nghiêm ngặt.0

Ví dụ: Hàm liên kết (hầu như) không quan trọng

Sử dụng cùng một dữ liệu, chúng tôi lặp lại quy trình khớp dữ liệu với Poisson GLM với ba chức năng liên kết khác nhau: ( a ) link, ( b ) liên kết nhận dạng và ( c ) liên kết căn bậc hai. Bảng dưới đây cho thấy các ước tính hệ số sau khi chuyển đổi trở lại tham số hóa nhật ký. (Vì vậy, cột thứ hai hiển thị và cột thứ ba hiển thị bằng cách sử dụng thô từ mỗi phù hợp). Một lần nữa, các ước tính là giống hệt nhau.loglog(β^)log(β^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

Thông báo trước trong tiêu đề chỉ đề cập đến thực tế là các ước tính thô sẽ thay đổi theo chức năng liên kết, nhưng ước tính tham số trung bình ngụ ý sẽ không.

Mã 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, rõ ràng và toàn diện, một câu trả lời tốt hơn những gì tôi đã đưa ra.
mpr

@mpr, tôi rất thích nghĩ về nó như là bổ sung cho bạn. Tôi rất hài lòng khi thấy bài viết của bạn; bạn đã mô tả rõ ràng và chính xác (và hiển thị) những gì đang diễn ra. Bài viết của tôi đôi khi có một chút dài để đọc; Tôi sợ đây là một trong số họ.
Đức hồng y

Cả hai bạn đều tuyệt vời. Cảm ơn bạn rất nhiều vì đã giải thích điều này với tôi với sự rõ ràng và nghiêm ngặt như vậy. Tôi cần dành nhiều thời gian hơn để tiêu hóa ngay bây giờ :)
một nửa vượt qua

@cardinal Bạn lấy 2 trong " family=negative.binomial(theta=2)" từ đâu?
timothy.s.lau

23

Để xem những gì đang diễn ra ở đây, trước tiên, việc thực hiện hồi quy mà không bị chặn là rất hữu ích, vì việc chặn trong hồi quy phân loại chỉ với một yếu tố dự đoán là vô nghĩa:

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

Do hồi quy nhị thức Poisson và âm nhị phân xác định nhật ký của tham số trung bình, nên đối với hồi quy phân loại, lũy thừa các hệ số sẽ cung cấp cho bạn tham số trung bình thực tế cho từng loại:

>  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

Các tham số này tương ứng với các phương tiện thực tế trên các giá trị danh mục khác nhau:

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

Vì vậy, những gì đang xảy ra là tham số trung bình trong mỗi trường hợp tối đa hóa khả năng bằng với giá trị trung bình mẫu cho mỗi loại. λ

Đối với phân phối Poisson thì rõ ràng tại sao điều này xảy ra. Chỉ có một tham số phù hợp và do đó tối đa hóa khả năng tổng thể của một mô hình với một công cụ dự đoán phân loại duy nhất tương đương với việc tìm độc lập một để tối đa hóa khả năng quan sát trong từng danh mục cụ thể. Công cụ ước tính khả năng tối đa cho phân phối Poisson chỉ đơn giản là giá trị trung bình mẫu, đó là lý do tại sao các hệ số hồi quy chính xác là (bản ghi của mẫu) có nghĩa là cho mỗi loại.λ

Đối với nhị thức âm, nó không hoàn toàn đơn giản, vì có hai tham số phù hợp: và tham số hình dạng . Ngoài ra, hồi quy phù hợp với một bao gồm toàn bộ tập dữ liệu, do đó, trong trường hợp này, hồi quy phân loại không chỉ đơn giản là tương đương với việc khớp một mô hình hoàn toàn riêng biệt cho từng danh mục. Tuy nhiên, bằng cách kiểm tra hàm khả năng, chúng ta có thể thấy rằng đối với bất kỳ theta nào, hàm khả năng lại được tối đa hóa bằng cách đặt cho mẫu có nghĩa là:λθθλ

λ=ˉx

L(X,λ,θ)=(θλ+θ)θΓ(θ+xi)xi!Γ(θ)(λλ+θ)xilogL(X,λ,θ)=θ(logθlog(λ+θ))+xi(logλlog(λ+θ))+log(Γ(θ+xi)xi!Γ(θ))ddλlogL(X,λ,θ)=xiλθ+xiλ+θ=n(x¯λx¯+θλ+θ),
để đạt được mức tối đa khi .λ=x¯

Lý do bạn không nhận được các hệ số tương tự cho dữ liệu liên tục là vì trong hồi quy liên tục, sẽ không còn là hàm hằng số của các biến dự đoán, mà là một tuyến tính. Tối đa hóa hàm khả năng trong trường hợp này sẽ không giảm để phù hợp độc lập với giá trị cho các tập hợp dữ liệu khác nhau, nhưng sẽ là một vấn đề không cần thiết được giải quyết bằng số và có thể tạo ra kết quả khác nhau cho các hàm khả năng khác nhau.λlog(λ)λ

Tương tự, nếu bạn có nhiều yếu tố dự đoán phân loại, mặc dù thực tế là mô hình được trang bị cuối cùng sẽ xác định là hàm hằng số, nói chung sẽ không có đủ mức độ tự do để cho phép được xác định độc lập cho từng phân đoạn không đổi. Ví dụ: giả sử bạn có dự đoán với loại mỗi loại. Trong trường hợp này, mô hình của bạn có bậc tự do, trong khi có kết hợp khác nhau duy nhất của các danh mục, mỗi loại sẽ có giá trị được trang bị riêng là . Vì vậy, giả sử rằng các giao điểm của các loại này không trống (hoặc ít nhất làλ 2 5 10 5 * 5 = 25 λ 11λλ251055=25λ11 trong số đó là không trống rỗng), vấn đề tối đa hóa khả năng một lần nữa trở nên không cần thiết và thường sẽ tạo ra kết quả khác nhau cho Poisson so với nhị thức âm hoặc bất kỳ phân phối nào khác.


5
(+1) Câu trả lời hay. Một điều mà tôi nghĩ có thể được rút ra rõ ràng hơn ở đây là điều này thực sự không liên quan gì đến bất kỳ mối quan hệ nào giữa Poisson và nhị thức âm, mà là những sự thật cơ bản hơn về việc điều chỉnh GLM thông qua khả năng tối đa.
hồng y

Điểm tốt. Điều thực duy nhất Poisson và nhị thức âm phải làm với nó là chúng được chỉ định bởi nhật ký của tham số trung bình. Ví dụ, nếu bạn đã thực hiện hồi quy bình phương nhỏ nhất bình thường, các hệ số sẽ khác nhau về mặt danh nghĩa bởi vì sau đó tham số sẽ có nghĩa là thực tế thay vì nhật ký.
mpr

2
Đúng, nhưng tôi nghĩ nó vượt xa hơn một chút: Phù hợp với bất kỳ GLM nào sử dụng bất kỳ chức năng liên kết nào (theo ML và với các cảnh báo rất nhỏ) và bởi vì phương tiện được trang bị sẽ khớp với phương tiện mẫu, sau đó các ước tính tham số giống hệt với phi tuyến chuyển đổi giữa các liên kết khác nhau. Mô hình lỗi cụ thể là không liên quan ngoài thực tế rằng nó đến từ một gia đình phân tán theo cấp số nhân.
Đức hồng y

Đây là một điểm tốt mà tôi đã không bao gồm. Tôi đã tiếp cận câu hỏi này từ quan điểm tổng quát hơn về ước tính ML, thay vì GLM cụ thể. Có rất nhiều mô hình xảy ra tự nhiên trong đó ML sẽ tạo ra các phương tiện được trang bị khác với các phương tiện mẫu (ví dụ: lognatural). Nhưng đối với GLM, sự quan sát của bạn dẫn đến một lời giải thích ngắn gọn và tổng quát hơn.
mpr

2
@ Half-pass: Phù hợp với tất cả các mô hình phân loại trực giao của bạn y~X+0và thử lại. :-)
hồng y
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.