Я намагаюся пристосувати узагальнені лінійні моделі до деяких наборів даних про підрахунок, які можуть або не можуть бути перерозподілені. Два канонічні розподіли, які застосовуються тут, - пуассонівський та негативний біноміал (Негбін), з EV та дисперсією
які можуть бути встановлені в R, використовуючи glm(..,family=poisson)
і glm.nb(...)
, відповідно. Є також quasipoisson
сім'я, яка, на моє розуміння, - скоригований Пуассон з тим самим EV і дисперсією
,
тобто падіння десь між Пуассоном та Негбіном. Основна проблема сімейства квазіпуасонів полягає в тому, що немає відповідної ймовірності для цього, а значить, дуже багато надзвичайно корисних статистичних тестів та відповідних заходів (AIC, LR etcetera) недоступні.
Якщо ви порівнюєте дисперсії QP та Negbin, ви можете помітити, що ви можете їх прирівняти, поставивши . Продовжуючи цю логіку, ви можете спробувати виразити розподіл квазіпуассона як особливий випадок Негбіна:
,
тобто Негбін з лінійно залежним від . Я спробував перевірити цю ідею, генеруючи випадкову послідовність чисел відповідно до вищезгаданої формули та підганяючи її до :glm
#fix parameters
phi = 3
a = 1/50
b = 3
x = 1:100
#generating points according to an exp-linear curve
#this way the default log-link recovers the same parameters for comparison
mu = exp(a*x+b)
y = rnbinom(n = length(mu), mu = mu, size = mu/(phi-1)) #random negbin generator
#fit a generalized linear model y = f(x)
glmQP = glm(y~x, family=quasipoisson) #quasipoisson
glmNB = glm.nb(y~x) #negative binomial
> glmQP
Call: glm(formula = y ~ x, family = quasipoisson)
Coefficients:
(Intercept) x
3.11257 0.01854
(Dispersion parameter for quasipoisson family taken to be 3.613573)
Degrees of Freedom: 99 Total (i.e. Null); 98 Residual
Null Deviance: 2097
Residual Deviance: 356.8 AIC: NA
> glmNB
Call: glm.nb(formula = y ~ x, init.theta = 23.36389741, link = log)
Coefficients:
(Intercept) x
3.10182 0.01873
Degrees of Freedom: 99 Total (i.e. Null); 98 Residual
Null Deviance: 578.1
Residual Deviance: 107.8 AIC: 824.7
Обидва підходи відтворюють параметри, і квазіпойсон дає «розумну» оцінку для . Тепер ми також можемо визначити значення AIC для квазіпойсона:
df = 3 # three model parameters: a,b, and phi
phi.fit = 3.613573 #fitted phi value copied from summary(glmQP)
mu.fit = glmQP$fitted.values
#dnbinom = negbin density, log=T returns log probabilities
AIC = 2*df - 2*sum(dnbinom(y, mu=mu.fit, size = mu.fit/(phi.fit - 1), log=T))
> AIC
[1] 819.329
(Мені довелося вручну скопіювати встановлене значення , оскільки я не зміг його знайти в об'єкті)summary(glmQP)
glmQP
Оскільки , це означатиме, що квазіпойсон, не дивно, тим краще підходить; тож принаймні робить те, що повинен робити, і, отже, це може бути розумним визначенням для АПК (і за розширенням, ймовірністю) квазіпойсону. Тоді у мене залишаються великі питання
- Чи має сенс ця ідея? Чи базується моя верифікація на кругових міркуваннях?
- Головне питання для тих, хто «вигадує» щось, що, здається, відсутнє у добре налагодженій темі: якщо ця ідея має сенс, чому вона вже не реалізована
glm
?
Редагувати: цифра додана