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

후자는 조금 더 낫다는 것을 보여줍니다.

그런 다음 모델의 복잡성이 추가되어 가치가 있는지 여부가 문제입니다.


6

적합치가 랜덤 변동으로 인해 관측 값보다 분산이 적습니다. 의미있는 비교를하고 있지 않습니다. 데이터가 있다면 간단한 케이스를 이용하려면, 단지 당신의 히스토그램 비교하지 않을 피팅 값의 히스토그램에 대해 모두에 대해 동일합니다 - ! 에서 값을 시뮬레이션 하고 & 히스토그램을 비교하는 것이 입니다.XiPois(μ)xiμ^ixiXiPois(μ^)xixi


어떤 다른 유형의 비교를 추천 하시겠습니까?
user7417

모델을 잘 비교하려면 Peter의 답변을 참조하십시오.
Scortchi-Monica Monica 복원
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.