Ưu và nhược điểm của liên kết nhật ký Liên kết nhận dạng đối với hồi quy Poisson


12

Tôi đang thực hiện một hồi quy Poisson với mục tiêu cuối cùng của việc so sánh (và lấy chênh lệch) đếm trung bình dự đoán giữa hai cấp độ yếu tố trong mô hình của , trong khi giữ đồng biến số mô hình khác (tất cả đều nhị phân ) không thay đổi. Tôi đã tự hỏi nếu có ai có thể cung cấp một số lời khuyên thiết thực về thời điểm sử dụng liên kết nhật ký so với liên kết nhận dạng. Những ưu điểm có thể có của hai hàm liên kết khác nhau này trong hồi quy Poisson, do mục tiêu của tôi là so sánh sự khác biệt?μ^1-μ^2

Tôi cũng có chung một mục tiêu cho hồi quy logistic / nhị thức (sử dụng liên kết logit hoặc liên kết nhận dạng) để so sánh sự khác biệt về tỷ lệ giữa hai cấp độ yếu tố và cần lời khuyên tương tự. Tôi đã đọc một số bài viết ở đây có liên quan đến vấn đề này, nhưng dường như không ai giải thích được tại sao hoặc khi nào người ta có thể chọn một liên kết trên liên kết kia và những ưu / nhược điểm có thể là gì. Cảm ơn trước sự giúp đỡ của bạn!

CẬP NHẬT:

Tôi cũng nhận ra rằng mục đích chính của việc sử dụng các hàm liên kết nhất định là để hạn chế phạm vi của các giá trị dự đoán có thể nằm trong phạm vi của phản hồi trung bình (ví dụ: đối với logistic, phạm vi bị giới hạn trong khoảng từ 0 đến 1 và đối với nhật ký liên kết, các dự đoán được giới hạn là số dương). Vì vậy, tôi đoán điều tôi đang hỏi là nếu tôi sử dụng liên kết nhận dạng để nói hồi quy logistic / nhị thức và kết quả của tôi nằm trong phạm vi (0,1), có thực sự cần sử dụng chức năng liên kết logistic hay không Tôi có thể làm cho đơn giản hơn là sử dụng một liên kết nhận dạng?


2
Đó là một câu hỏi hay. Tuy nhiên, dựa vào cách nó được nêu, có thể hữu ích khi biết rằng khi bạn chỉ có một yếu tố nhị phân và không có biến nào khác thì điều đó sẽ không khác biệt bạn chọn liên kết nào.
whuber

1
Cảm ơn, @whuber. Tôi đã cập nhật câu hỏi của mình để làm rõ rằng có các đồng biến khác trong mô hình. Tôi cũng đã thêm phần "CẬP NHẬT" giải thích câu hỏi của tôi hơn một chút.
StatsStudent

1
Để biết một quan điểm khác về vai trò của các chức năng liên kết, hãy xem câu trả lời của tôi cho câu hỏi liên quan chặt chẽ tại stats.stackexchange.com/questions/63978 .
whuber

1
Ví dụ hấp dẫn @whuber!
StatsStudent

1
Thông thường tôi sẽ nói rằng sự lựa chọn của chức năng liên kết được quyết định bởi vấn đề và dữ liệu trong tay - xem bên dưới để biết ví dụ cụ thể ...
Tom Wenseleers

Câu trả lời:


4

Nhược điểm của một liên kết danh tính trong trường hợp hồi quy Poisson là:

  • Như bạn đã đề cập, nó có thể tạo ra các dự đoán ngoài phạm vi.
  • Bạn có thể nhận được các lỗi và cảnh báo lạ khi cố gắng khớp với mô hình, vì liên kết cho phép lambda nhỏ hơn 0, nhưng phân phối Poisson không được xác định cho các giá trị đó.
  • Vì hồi quy Poisson giả định rằng giá trị trung bình và phương sai là như nhau, khi bạn thay đổi liên kết, bạn cũng thay đổi các giả định về phương sai. Kinh nghiệm của tôi là điểm cuối cùng này được nói nhiều nhất.

Nhưng, cuối cùng đây là một câu hỏi thực nghiệm. Phù hợp với cả hai mô hình. Thực hiện bất cứ kiểm tra nào bạn thích. Nếu liên kết danh tính có AIC thấp hơn và hoạt động tốt hơn hoặc tốt hơn trên tất cả các kiểm tra khác của bạn, thì hãy chạy với liên kết nhận dạng.

Trong trường hợp mô hình logit so với mô hình xác suất tuyến tính (nghĩa là những gì bạn gọi là liên kết nhận dạng), tình huống sẽ đơn giản hơn rất nhiều. Ngoại trừ một số trường hợp rất kỳ lạ về kinh tế lượng (mà bạn sẽ tìm thấy nếu bạn thực hiện tìm kiếm), mô hình logit tốt hơn: nó tạo ra ít giả định hơn và là thứ mà hầu hết mọi người sử dụng. Sử dụng mô hình xác suất tuyến tính ở vị trí của nó sẽ chứng minh là sai lầm.

Về việc diễn giải các mô hình, nếu bạn đang sử dụng R, có hai gói tuyệt vời sẽ thực hiện tất cả các công việc nặng nhọc: hiệu ứng , siêu dễ sử dụng và zelig , khó sử dụng hơn nhưng tuyệt vời nếu bạn muốn đưa ra dự đoán .


1
Bạn đề cập rằng các mô hình xác suất tuyến tính là "kỳ lạ" nhưng từ các tương tác của tôi với các nhà kinh tế (bản thân tôi là một nhà thống kê) có vẻ như có hai phe, một trong số đó cho rằng xác suất tuyến tính là tốt hơn bởi vì nó ít liên quan đến các giả định và mô hình trực tiếp kỳ vọng , đó là những gì người ta thường quan tâm.
zipzapboing

1
Tôi đã báo trước câu trả lời của mình bằng cách tham khảo các trường hợp kỳ lạ trong kinh tế. Phải nói rằng, rắc rối với mô hình xác suất tuyến tính là nếu bạn ước tính nó thông qua OLS, các giả định của nó thường bị vi phạm. Giả định rằng mô hình là tuyến tính trong các tham số là không hợp lý trong nhiều trường hợp (nghĩa là khi ước tính bằng OLS, bạn có thể nhận được xác suất ngoài 0 và 1). Và, phần dư không thể ở gần mức bình thường, do đó bạn cần sử dụng công cụ ước tính sandwich hoặc một cái gì đó.
Tim

Trong trường hợp của các mô hình Poisson, tôi cũng sẽ nói rằng ứng dụng thường ra lệnh xem liệu các đồng biến của bạn có hành động bổ sung hay không (sau đó sẽ ngụ ý một liên kết nhận dạng) hoặc nhân lên theo tỷ lệ tuyến tính (sau đó sẽ ngụ ý liên kết nhật ký). Nhưng các mô hình Poisson với một liên kết nhận dạng thường chỉ có ý nghĩa và chỉ có thể phù hợp một cách ổn định nếu người ta áp đặt các ràng buộc không âm trên các hệ số được trang bị - điều này có thể được thực hiện bằng cách sử dụng hàm nnpois trong gói addreg R hoặc sử dụng hàm nnlm trong gói NNLM .
Tom Wenseleers

0

Trong trường hợp của các mô hình Poisson, tôi cũng sẽ nói rằng ứng dụng thường ra lệnh xem liệu các đồng biến của bạn có hành động bổ sung hay không (sau đó sẽ ngụ ý một liên kết nhận dạng) hoặc nhân lên theo tỷ lệ tuyến tính (sau đó sẽ ngụ ý liên kết nhật ký). Nhưng các mô hình Poisson với một liên kết nhận dạng thường chỉ có ý nghĩa và chỉ có thể phù hợp một cách ổn định nếu người ta áp đặt các ràng buộc không âm trên các hệ số được trang bị - điều này có thể được thực hiện bằng cách sử dụng nnpoishàm trong addreggói R hoặc sử dụng nnlmhàm trongNNLMgói. Vì vậy, tôi không đồng ý rằng người ta phải phù hợp với các mô hình Poisson với cả liên kết danh tính và nhật ký và xem cái nào kết thúc có AIC tốt nhất và suy ra mô hình tốt nhất dựa trên cơ sở thống kê thuần túy - thay vào đó, trong hầu hết các trường hợp, nó được quyết định bởi cấu trúc cơ bản của vấn đề mà người ta cố gắng giải quyết hoặc dữ liệu trong tầm tay.

Ví dụ, trong sắc ký (phân tích GC / MS) người ta thường đo tín hiệu chồng chất của một số đỉnh hình Gauss xấp xỉ và tín hiệu chồng chất này được đo bằng hệ số nhân electron, có nghĩa là tín hiệu đo được là ion và do đó phân phối Poisson. Do mỗi đỉnh có định nghĩa là chiều cao dương và hành động cộng gộp và nhiễu là Poisson, nên mô hình Poisson không âm với liên kết nhận dạng sẽ phù hợp ở đây và mô hình Poisson liên kết nhật ký sẽ hoàn toàn sai. Trong kỹ thuật , mất Kullback-Leibler thường được sử dụng như một hàm mất cho các mô hình đó và giảm thiểu tổn thất này tương đương với việc tối ưu hóa khả năng của mô hình Poisson liên kết nhận dạng không âm (cũng có các biện pháp phân kỳ / mất mát khác như phân kỳ alpha hoặc beta có Poisson như một trường hợp đặc biệt).

Dưới đây là một ví dụ bằng số, bao gồm một minh chứng rằng liên kết nhận dạng không bị ràng buộc thông thường Poisson GLM không phù hợp (vì thiếu các ràng buộc không âm) và một số chi tiết về cách phù hợp với các mô hình Poisson liên kết nhận dạng không âmnnpois, ở đây trong bối cảnh giải mã một sự chồng chất đo của các đỉnh sắc ký với nhiễu Poisson trên chúng bằng cách sử dụng ma trận đồng biến dải có chứa các bản sao thay đổi của hình dạng đo được của một đỉnh đơn. Tính không âm ở đây rất quan trọng vì nhiều lý do: (1) đây là mô hình thực tế duy nhất cho dữ liệu trong tay (các đỉnh ở đây không thể có độ cao âm), (2) đó là cách duy nhất để phù hợp ổn định với mô hình Poisson với liên kết nhận dạng (như mặt khác, các dự đoán có thể cho một số giá trị đồng biến trở nên tiêu cực, điều này sẽ không có ý nghĩa và sẽ đưa ra các vấn đề về số khi người ta cố gắng đánh giá khả năng), (3) hành động không âm để bình thường hóa vấn đề hồi quy và giúp rất nhiều để có được ước tính ổn định (ví dụ bạn thường không gặp phải các vấn đề quá mức như với hồi quy không giới hạn thông thường,các hạn chế không âm thanh dẫn đến các ước tính thưa thớt thường gần với sự thật mặt đất hơn; đối với vấn đề giải mã bên dưới, ví dụ hiệu năng cũng tương đương với chính quy LASSO, nhưng không yêu cầu một điều chỉnh bất kỳ tham số chính quy nào. ( Hồi quy bị phạt L0-pseudonorm vẫn hoạt động tốt hơn một chút nhưng với chi phí tính toán lớn hơn )

# we first simulate some data
require(Matrix)
n = 200
x = 1:n
npeaks = 20
set.seed(123)
u = sample(x, npeaks, replace=FALSE) # unkown peak locations
peakhrange = c(10,1E3) # peak height range
h = 10^runif(npeaks, min=log10(min(peakhrange)), max=log10(max(peakhrange))) # unknown peak heights
a = rep(0, n) # locations of spikes of simulated spike train, which are assumed to be unknown here, and which needs to be estimated from the measured total signal
a[u] = h
gauspeak = function(x, u, w, h=1) h*exp(((x-u)^2)/(-2*(w^2))) # peak shape function
bM = do.call(cbind, lapply(1:n, function (u) gauspeak(x, u=u, w=5, h=1) )) # banded matrix with peak shape measured beforehand
y_nonoise = as.vector(bM %*% a) # noiseless simulated signal = linear convolution of spike train with peak shape function
y = rpois(n, y_nonoise) # simulated signal with random poisson noise on it - this is the actual signal as it is recorded
par(mfrow=c(1,1))
plot(y, type="l", ylab="Signal", xlab="x", main="Simulated spike train (red) to be estimated given known blur kernel & with Poisson noise")
lines(a, type="h", col="red")

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

# let's now deconvolute the measured signal y with the banded covariate matrix containing shifted copied of the known blur kernel/peak shape bM

# first observe that regular OLS regression without nonnegativity constraints would return very bad nonsensical estimates
weights <- 1/(y+1) # let's use 1/variance = 1/(y+eps) observation weights to take into heteroscedasticity caused by Poisson noise
a_ols <- lm.fit(x=bM*sqrt(weights), y=y*sqrt(weights))$coefficients # weighted OLS
plot(x, y, type="l", main="Ground truth (red), unconstrained OLS estimate (blue)", ylab="Peak shape", xlab="x", ylim=c(-max(y),max(y)))
lines(x,-y)
lines(a, type="h", col="red", lwd=2)
lines(-a_ols, type="h", col="blue", lwd=2)

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

# now we use weighted nonnegative least squares with 1/variance obs weights as an approximation of nonnegative Poisson regression
# this gives very good estimates & is very fast
library(nnls)
library(microbenchmark)
microbenchmark(a_wnnls <- nnls(A=bM*sqrt(weights),b=y*sqrt(weights))$x) # 7 ms
plot(x, y, type="l", main="Ground truth (red), weighted nnls estimate (blue)", ylab="Signal (black) & peaks (red & blue)", xlab="Time", ylim=c(-max(y),max(y)))
lines(x,-y)
lines(a, type="h", col="red", lwd=2)
lines(-a_wnnls, type="h", col="blue", lwd=2)
# note that this weighted least square estimate in almost identical to  the nonnegative Poisson estimate below and that it fits way faster!!!

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

# an unconstrained identity-link Poisson GLM will not fit:
glmfit = glm.fit(x=as.matrix(bM), y=y, family=poisson(link=identity), intercept=FALSE)
# returns Error: no valid set of coefficients has been found: please supply starting values

# so let's try a nonnegativity constrained identity-link Poisson GLM, fit using bbmle (using port algo, ie Quasi Newton BFGS):
library(bbmle)
XM=as.matrix(bM)
colnames(XM)=paste0("v",as.character(1:n))
yv=as.vector(y)
LL_poisidlink <- function(beta, X=XM, y=yv){ # neg log-likelihood function
  -sum(stats::dpois(y, lambda = X %*% beta, log = TRUE)) # PS regular log-link Poisson would have exp(X %*% beta)
}
parnames(LL_poisidlink) <- colnames(XM)
system.time(fit <- mle2(
  minuslogl = LL_poisidlink ,
  start = setNames(a_wnnls+1E-10, colnames(XM)), # we initialise with weighted nnls estimates, with approx 1/variance obs weights
  lower = rep(0,n),
  vecpar = TRUE,
  optimizer = "nlminb"
)) # very slow though - takes 145s 
summary(fit)
a_nnpoisbbmle = coef(fit)
plot(x, y, type="l", main="Ground truth (red), nonnegative Poisson bbmle ML estimate (blue)", ylab="Signal (black) & peaks (red & blue)", xlab="Time", ylim=c(-max(y),max(y)))
lines(x,-y)
lines(a, type="h", col="red", lwd=2)
lines(-a_nnpoisbbmle, type="h", col="blue", lwd=2)

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

# much faster is to fit nonnegative Poisson regression using nnpois using an accelerated EM algorithm:
library(addreg)
microbenchmark(a_nnpois <- nnpois(y=y,
                                  x=as.matrix(bM),
                                  standard=rep(1,n),
                                  offset=0,
                                  start=a_wnnls+1.1E-4, # we start from weighted nnls estimates 
                                  control = addreg.control(bound.tol = 1e-04, epsilon = 1e-5),
                                  accelerate="squarem")$coefficients) # 100 ms
plot(x, y, type="l", main="Ground truth (red), nonnegative Poisson nnpois estimate (blue)", ylab="Signal (black) & peaks (red & blue)", xlab="Time", ylim=c(-max(y),max(y)))
lines(x,-y)
lines(a, type="h", col="red", lwd=2)
lines(-a_nnpois, type="h", col="blue", lwd=2)

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

# or to fit nonnegative Poisson regression using nnlm with Kullback-Leibler loss using a coordinate descent algorithm:
library(NNLM)
system.time(a_nnpoisnnlm <- nnlm(x=as.matrix(rbind(bM)),
                                 y=as.matrix(y, ncol=1),
                                 loss="mkl", method="scd",
                                 init=as.matrix(a_wnnls, ncol=1),
                                 check.x=FALSE, rel.tol=1E-4)$coefficients) # 3s
plot(x, y, type="l", main="Ground truth (red), nonnegative Poisson nnlm estimate (blue)", ylab="Signal (black) & peaks (red & blue)", xlab="Time", ylim=c(-max(y),max(y)))
lines(x,-y)
lines(a, type="h", col="red", lwd=2)
lines(-a_nnpoisnnlm, type="h", col="blue", lwd=2)

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


1
Tôi không hiểu sự cần thiết hoặc thậm chí tính hợp lệ của các ràng buộc không âm, mà rõ ràng là nhằm mục đích buộc tất cả các hệ số được trang bị là không âm. Rốt cuộc, nếu bạn chỉ đơn giản là đảo ngược mã hóa của phản hồi (chuyển đổiY đến 1-Y), sau đó tất cả các hệ số sẽ bị phủ định, chứng minh rằng dấu hiệu của bất kỳ một trong số chúng là không có ý nghĩa. Có lẽ tôi hiểu nhầm ý của bạn bởi những ràng buộc như vậy?
whuber

1
@whuber Bây giờ tôi đã thêm một ví dụ cụ thể để làm rõ hơn quan điểm của tôi! Bất kỳ suy nghĩ nào về việc tôi sử dụng các bình phương tối thiểu không âm có trọng số để ước tính mô hình Poisson liên kết nhận dạng không âm thực tế cũng sẽ được hoan nghênh!
Tom Wenseleers

Bw Poisson GLM phù hợp như khởi tạo)
Tom Wenseleers
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.