Моделі підрахунку нуля в R: яка реальна перевага?


11

Для аналізу нульових завищених підрахунків птахів я б хотів застосувати моделі підрахунку нуля завищеними за допомогою пакету R pscl . Однак, переглянувши приклад, поданий у документації для однієї з основних функцій ( ? Zeroinfl ), я починаю сумніватися, у чому реальна перевага цих моделей. Відповідно до наведеного там зразка коду, я обчислював стандартні моделі Пуассона, квазі-пуассона та негативні біономіальні моделі, прості нульово-надуті пуассонні та негативні біноміальні моделі та нульово-завищені моделі пуассона та негативно-біноміальні з регресорами нульової складової. Потім я оглянув гістограми спостережуваних та встановлених даних. (Ось код для його реплікації.)

library(pscl)
data("bioChemists", package = "pscl")

## standard count data models
fm_pois  <- glm(art ~ .,    data = bioChemists, family = poisson)
fm_qpois <- glm(art ~ .,    data = bioChemists, family = quasipoisson)
fm_nb    <- glm.nb(art ~ ., data = bioChemists)

## with simple inflation (no regressors for zero component)
fm_zip  <- zeroinfl(art ~ . | 1, data = bioChemists)
fm_zinb <- zeroinfl(art ~ . | 1, data = bioChemists, dist = "negbin")

## inflation with regressors
fm_zip2  <- zeroinfl(art ~ fem + mar + kid5 + phd + ment | fem + mar + kid5 + phd + 
                     ment, data = bioChemists)
fm_zinb2 <- zeroinfl(art ~ fem + mar + kid5 + phd + ment | fem + mar + kid5 + phd + 
                     ment, data = bioChemists, dist = "negbin")

## histograms
breaks <- seq(-0.5,20.5,1)
par(mfrow=c(4,2))
hist(bioChemists$art,  breaks=breaks)
hist(fitted(fm_pois),  breaks=breaks)
hist(fitted(fm_qpois), breaks=breaks)
hist(fitted(fm_nb),    breaks=breaks)
hist(fitted(fm_zip),   breaks=breaks)
hist(fitted(fm_zinb),  breaks=breaks)
hist(fitted(fm_zip2),  breaks=breaks)
hist(fitted(fm_zinb2), breaks=breaks)!

Гістограма спостережуваних та пристосованих даних

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

Відповіді:


15

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

plot(fitted(fm_pois), fitted(fm_zinb))

показує, що прогнозовані значення майже однакові.

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

Ще один спосіб порівняння придатності моделей - порівняння розмірів залишків:

boxplot(abs(resid(fm_pois) - resid(fm_zinb)))

показує, що навіть тут залишки від Пуассону менші, ніж у ZINB. Якщо у вас є якесь уявлення про величину залишків, що дійсно проблематично, ви можете бачити, яка частка залишків у кожній моделі вище цієї. Наприклад, якщо відключення більше ніж 1 було неприйнятним

sum(abs(resid(fm_pois) > 1))
sum(abs(resid(fm_zinb) > 1))

показує, що останнє трохи краще - на 20 менше великих залишків.

Тоді питання полягає в тому, чи вартий вам додатковий складність моделей.


6

Встановлені значення показуватимуть меншу дисперсію, ніж спостережувані значення через випадкові зміни. Ти не робиш змістовного порівняння. Якщо взяти простий випадок, якби ваші дані були просто ви б не порівнювали гістограму з гістограмою встановленого значення - однакова для всіх ! Хоча було б доцільно моделювати значення з та порівняти гістограми &х я μ я х * я Х * я ~ Р про я сек ( ц ) х * яXiPois(μ)xiμ^ixiXiPois(μ^)xixi


Який ще тип порівняння ви б рекомендували?
user7417

Дивіться відповідь Петра для хороших порівнянь між моделями.
Scortchi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.