สำหรับการวิเคราะห์การนับนกศูนย์ที่สูงเกินจริงผมอยากจะใช้รุ่นนับเป็นศูนย์ที่สูงขึ้นโดยใช้แพคเกจ R pscl อย่างไรก็ตามเมื่อดูตัวอย่างที่ให้ไว้ในเอกสารสำหรับหนึ่งในฟังก์ชั่นหลัก ( ? zeroinfl ) ฉันเริ่มสงสัยว่าประโยชน์ที่แท้จริงของรุ่นเหล่านี้คืออะไร จากตัวอย่างโค้ดที่ให้ไว้ฉันคำนวณปัวซองมาตรฐาน, แบบกึ่งกลาง - ปัวซองและโมเดลไบโอโนเมียลบ, ปัวซองแบบ zero-inflated แบบง่าย, และแบบจำลองทวินามลบ, แบบปัวซองแบบพองตัวแบบศูนย์และแบบลบลบทวินาม จากนั้นฉันตรวจสอบฮิสโทแกรมของข้อมูลที่ตรวจพบและข้อมูลที่ติดตั้ง (นี่คือรหัสสำหรับการทำซ้ำ)
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)!
ฉันไม่เห็นความแตกต่างพื้นฐานระหว่างแบบจำลองที่แตกต่างกัน (นอกเหนือจากข้อมูลตัวอย่างนั้นไม่ปรากฏว่า "เป็นศูนย์ที่สูงเกินจริง" สำหรับฉัน ... ); อันที่จริงไม่มีตัวแบบใดที่ให้ผลประมาณค่าศูนย์แบบครึ่งทาง ใครสามารถอธิบายได้ว่าอะไรคือข้อดีของรุ่นที่สูงเกินจริง ฉันคิดว่าคงต้องมีเหตุผลที่จะเลือกสิ่งนี้เป็นตัวอย่างสำหรับฟังก์ชั่น