Плюси і мінуси посилання на журнал та посилання на ідентичність для регресії Пуассона


12

Я здійснюю регресію Пуассона з кінцевою метою порівняння (і з урахуванням різниці) передбачуваних середніх підрахунків між двома факторними рівнями в моїй моделі: , утримуючи інші коваріати моделі (які всі бінарні) постійні. Мені було цікаво, чи може хтось надати кілька практичних порад про те, коли використовувати посилання журналу, а не ідентифікаційне посилання. Які плюси можуть бути у цих двох різних функцій зв'язку в регресії Пуассона, враховуючи мою мету порівняння відмінностей?мк^1-мк^2

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

ОНОВЛЕННЯ:

Я також усвідомлюю, що основна мета використання певних функцій посилань - обмежити діапазон діапазонів можливих прогнозованих значень, що знаходяться в межах середнього відгуку (наприклад, для логістики, діапазон має бути від 0 до 1 і для журналу посилання, прогнози мають бути додатними числами). Отже, я думаю, що я прошу, що якщо я використовую посилання ідентичності для скажімо логістичної / біноміальної регресії, і мої результати знаходяться в межах (0,1), чи дійсно потрібно використовувати функцію логістичного зв’язку або чи можу я просто зробити думки простішими використовувати ідентифікаційне посилання?


2
Це гарне запитання. З огляду на те, як це зазначено, може бути корисним знати, що коли у вас є лише один бінарний коефіцієнт і відсутні інші змінні, це не має значення, яке саме посилання ви виберете.
whuber

1
Дякую, @whuber. Я оновив своє запитання, щоб зрозуміти, що в моделі є інші коваріати. Я також додав розділ "ОНОВЛЕННЯ", який трохи далі пояснює моє запитання.
СтатистикаСтудент

1
Для іншої точки зору щодо ролі функцій зв’язку дивіться мою відповідь на тісно пов'язане питання на сайті stats.stackexchange.com/questions/63978 .
whuber

1
Захоплюючий приклад @whuber!
СтатистикаСтудент

1
Зазвичай я б сказав, що вибір функції зв’язку продиктований проблемою, а
наявні

Відповіді:


4

Мінусами ідентичності зв'язку у випадку регресії Пуассона є:

  • Як ви вже згадували, він може давати прогнози поза межами дальності.
  • Ви можете отримати дивні помилки та застереження під час спроби пристосувати модель, оскільки посилання дозволяє лямбда бути меншою за 0, але розподіл Пуассона не визначено для таких значень.
  • Оскільки регресія Пуассона передбачає, що середнє значення та дисперсія однакові, при зміні посилання ви також змінюєте припущення про дисперсію. З мого досвіду, цей останній момент є найбільш показовим.

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

Що стосується моделі logit проти лінійної моделі ймовірності (тобто, що ви називаєте посиланням ідентичності), ситуація набагато простіша. За винятком деяких дуже екзотичних випадків в економетрії (які ви знайдете, якщо зробите пошук), модель logit є кращою: вона робить менше припущень і саме те, чим користується більшість людей. Використання лінійної моделі ймовірності на місці замість того, щоб бути збоченою.

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


1
Ви згадуєте, що лінійні ймовірнісні моделі "екзотичні", але з моєї взаємодії з економістами (я сам статистик) здається, що існує два табори, один з яких стверджує, що лінійна ймовірність краща, оскільки вона передбачає менше припущень і безпосередньо моделює очікування , про що зазвичай піклується.
zipzapboing

1
Я відповів своєю відповіддю, посилаючись на екзотичні випадки в економіці. Сказавши це, проблема з лінійною моделлю ймовірності полягає в тому, що якщо оцінити її через OLS, її припущення зазвичай порушуються. Припущення про те, що модель є параметричною лінійною, не є правдоподібною у багатьох випадках (тобто, оцінюючи за допомогою OLS, можна отримати ймовірності поза 0 і 1). І залишки не можуть бути віддалено близькими до нормальних, тому вам потрібно використовувати сендвіч-оцінювач або щось подібне.
Тім

Що стосується моделей Пуассона, я також сказав, що програма часто диктує, чи будуть ваші коваріати діяти адитивно (що означатиме тоді ідентифікаційне посилання) чи мультиплікативно в лінійному масштабі (що означатиме тоді посилання на журнал). Але моделі Пуассона з ідентифікаційним зв’язком також зазвичай мають сенс і можуть бути стабільно придатними лише в тому випадку, якщо накладаються обмеження на негативність на встановлені коефіцієнти - це можна зробити за допомогою функції nnpois в пакеті R addreg або за допомогою функції nnlm в пакеті NNLM .
Tom Wenseleers

0

Що стосується моделей Пуассона, я також скажу, що програма часто диктує, чи будуть ваші коваріати діяти адитивно (що означало б тоді ідентифікаційне посилання) чи мультиплікативно в лінійному масштабі (що означало б тоді посилання журналу). Але моделі Пуассона з ідентифікаційним зв’язком також зазвичай мають сенс і можуть бути стабільно придатними лише в тому випадку, якщо накладаються обмеження на негативність на встановлені коефіцієнти - це можна зробити за допомогою nnpoisфункції в addregпакеті R або використання nnlmфункції вNNLMпакет. Тому я не погоджуюся, що слід підходити моделям Пуассона як з ідентифікацією, так і з посиланням на журнал, і бачити, яка з них найкраща AIC і робити найкращу модель на основі суто статистичних ознак - швидше, в більшості випадків це продиктовано основоположну структуру проблеми, яку намагається вирішити, або дані, які є в наявності.

Наприклад, у хроматографії (GC / MS аналіз) часто вимірюють накладений сигнал декількох приблизних піків Гауссової форми, і цей накладений сигнал вимірюється електронним множником, що означає, що вимірюваний сигнал є числом іонів і, отже, розподілений Пуассоном. Оскільки кожен з піків за визначенням має позитивну висоту та діє адитивно, а шум - Пуассон, тут доречна буде негативна модель Пуассона з ідентифікаційним посиланням, а модель Пуассона з посиланням на журнал була б явно неправильною. В інженерії втрата Куллбека-Лейблера часто використовується як функція втрат для таких моделей, а мінімізація цих втрат рівнозначна оптимізації ймовірності виникнення негативної моделі Poisson-ідентифікаційного зв язку (також існують інші заходи дивергенції / втрат, такі як альфа-та бета-розбіжність які мають Пуассона як особливий випадок).

Нижче наводиться чисельний приклад, включаючи демонстрацію того, що звичайне необмежене посвідчення ідентичності Poisson GLM не підходить (через відсутність обмежень щодо негативності) та деякі подробиці про те, як підходити до негативних моделей Пуассона з використанням ідентичності, використовуючиnnpois, тут, в контексті деконвуляції вимірюваного суперпозиції хроматографічних піків із шумом Пуассона на них, використовуючи смугову коваріатну матрицю, що містить зміщені копії вимірюваної форми одного піку. Негативність тут важлива з кількох причин: (1) це єдина реальна модель для даних (піки тут не можуть мати негативні висоти), (2) це єдиний спосіб стабільно вписати модель Пуассона з ідентичністю зв'язку (як в іншому випадку прогнози можуть для деяких коваріатних значень перейти в негативні, що не мало б сенсу і дало б чисельні проблеми, коли б спробувати оцінити ймовірність), (3) негативність діє на регуляцію проблеми регресії та значно допомагає отримати стабільні оцінки (наприклад, як правило, у вас не виникає проблем із пристосуванням, як при звичайній необмеженій регресії,обмеження негативу призводять до більш рідких оцінок, які часто наближаються до основної істини; для нижчезазначеної проблеми з деконволюцією, наприклад, продуктивність настільки ж хороша, як і регуляризація LASSO, але не вимагає налаштування параметрів регуляризації. ( Штрафована регресія L0-псевдонорми все ще працює трохи краще, але з більшою обчислювальною вартістю )

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

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

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

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

# 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!!!

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

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

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

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

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

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

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


1
Y1-Y

1
@whuber Я тепер додав конкретний приклад, щоб більш чітко висловити свою думку! Будь-які думки щодо мого використання зважених негативних найменших квадратів для наближення до фактичної негативної моделі Poisson-зв’язку ідентичності також будуть вітатися!
Tom Wenseleers

Btw - зважені nnls, які я використовую для наближення негативної ідентичності-зв’язку Poisson GLM, насправді відповідає використанню одиничної ітерації ітеративно зважених негативних найменших квадратів algo, щоб підходити до негативної Poisson GLM (сам R використовує 1 / (y + 0.1) у Poisson GLM підходить як ініціалізація)
Tom Wenseleers
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.