0 이상의 발생 건수를 노출량과 분산 구조에 맞춰 설명합니다.
문의 0건·1건·12건을 일반 회귀로 분석해도 될까?
고객 문의건수는 음수가 될 수 없고 오른쪽으로 치우치며 0이 많습니다. 평균이 큰 고객일수록 분산도 커지는 경향이 있어 상수분산 정규오차가 맞지 않습니다.
카운트 회귀는 발생건수의 분포와 log 링크를 사용해 기대건수를 양수로 유지하고, 관찰기간이 다른 경우 노출량까지 반영합니다.
핵심 질문
조건과 관찰기회가 달라질 때 기대 발생건수 또는 발생률은 몇 배 달라질까요?
기간·지역·노출량마다 발생한 횟수를 결과로 사용합니다.
평균보다 분산이 크면 음이항·강건 SE를 고려합니다.
관찰시간과 인구처럼 노출량이 다른 단위를 공정하게 비교합니다.
조건부 평균과 분산이 같은 카운트 모형입니다
Y|X~Poisson(μ), log(μ)=Xβ로 구성됩니다. 역링크 μ=e^(Xβ)는 어떤 X에서도 양의 기대건수를 만듭니다.
| 특성 | 포아송 가정 |
|---|---|
| 결과 | 0,1,2,… 비음수 정수 |
| 평균 | μ>0 |
| 분산 | Var(Y|X)=μ |
| 링크 | log |
| 계수 | 지수화하면 발생률비 IRR |
계수의 지수는 기대건수의 배수입니다
e^β는 다른 변수가 같을 때 X 1단위 증가에 따른 기대건수비 또는 노출량을 반영한 발생률비입니다.
| β | IRR=e^β | 해석 |
|---|---|---|
| .182 | 1.20 | 기대건수 20% 증가 |
| −.105 | .90 | 기대건수 10% 감소 |
| .693 | 2.00 | 기대건수 2배 |
정확한 백분율
변화율은 100×(e^β−1)%입니다. β=.5를 단순히 50%로 읽으면 안 되며 실제 증가는 64.9%입니다.
관찰기회가 다르면 건수가 아니라 발생률을 비교합니다
1개월 관찰한 고객과 12개월 관찰한 고객의 사고건수를 그대로 비교하면 공정하지 않습니다. log(노출량)을 계수 1로 고정한 offset으로 넣어 단위 노출당 발생률을 모델링합니다.
| 자료 | 노출량 | 모형 대상 |
|---|---|---|
| 고객 문의 | 가입 개월 | 월당 문의율 |
| 교통사고 | 주행거리 | km당 사고율 |
| 감염건수 | person-time | 인년당 발생률 |
| 불량품 | 생산수량 | 제품당 불량률 |
offset은 일반 예측변수와 다릅니다
log(노출)의 계수를 추정하지 않고 1로 고정해 기대건수가 노출량에 비례하도록 합니다.
관측분산이 포아송 평균보다 큰 상태입니다
고객 간 숨은 이질성, 군집, 사건의 몰림 때문에 Var(Y|X)>μ가 흔합니다. 포아송 계수는 평균식이 맞으면 유지될 수 있지만 SE가 지나치게 작아집니다.
| 진단 | 신호 |
|---|---|
| Pearson χ²/df | 1보다 상당히 큼 |
| Residual deviance/df | 1보다 상당히 큼 |
| 표본 평균·분산 | 분산이 평균보다 훨씬 큼 |
| 잔차그림 | 큰 건수·군집에서 체계적 패턴 |
추가 분산 모수를 넣어 과산포를 모델링합니다
음이항은 보통 Var(Y|X)=μ+αμ²로 포아송보다 큰 분산을 허용합니다. α가 0에 가까우면 포아송에 가까워집니다.
| 모형 | 분산 | 용도 |
|---|---|---|
| Poisson | μ | 평균≈분산 |
| Quasi-Poisson | φμ | SE 보정 중심 |
| Negative binomial | μ+αμ² | 과산포의 우도모형 |
| Robust Poisson | 평균식+강건 SE | 평균비 추론 |
표본의 0이 많은 이유를 먼저 구분합니다
과산포만으로 0이 많아 보일 수 있어 무조건 zero-inflated를 쓰지 않습니다. 구조적으로 사건이 불가능한 집단과 가능한 집단이 섞였다는 이론이 있어야 합니다.
| 모형 | 0의 구조 | 양의 건수 구조 |
|---|---|---|
| Zero-inflated | 항상 0 과정+카운트 과정 | 0 포함 포아송·NB |
| Hurdle | 0 대 양수 장벽 | 0을 넘은 truncated count |
| 일반 NB | 단일 과산포 과정 | 0도 같은 과정에서 발생 |
모형 선택은 AIC만으로 끝나지 않습니다
0의 생성과정이 실제 연구 맥락에 존재하는지, 예측·잔차가 개선되는지 함께 확인합니다.
건수·노출·과산포·0 구조를 순서대로 확인합니다
단위와 관찰기간을 정하고 히스토그램·0 비율·평균·분산을 봅니다. 포아송을 기준으로 적합한 뒤 과산포와 잔차를 확인해 NB 또는 0모형으로 확장합니다.
| 단계 | 하는 일 |
|---|---|
| 1 | 사건·관찰단위·기간 정의 |
| 2 | 0 비율·평균·분산 확인 |
| 3 | 노출량과 offset 지정 |
| 4 | 포아송 기준모형 적합 |
| 5 | 과산포·잔차·영향점 진단 |
| 6 | NB·hurdle·ZI 비교 |
| 7 | IRR·예측건수·발생률 보고 |
가입기간을 반영해 고객 문의율을 분석합니다
고객 3,000명의 연간 문의건수를 분석했습니다. 평균 2.1, 분산 8.7로 과산포가 컸고 가입개월을 offset으로 사용했습니다.
| 모형 | AIC | deviance/df | 서비스장애 IRR |
|---|---|---|---|
| Poisson | 11240 | 3.8 | 1.61 [1.52,1.71] |
| Negative binomial | 9840 | 1.1 | 1.48 [1.31,1.67] |
결과 해석
과산포를 반영한 음이항 모형에서 서비스장애 경험 고객의 월당 기대 문의율은 다른 조건이 같은 고객보다 1.48배 높았습니다.
건수와 비율, 과산포와 구조적 0을 혼동하지 않습니다
건수를 연속형처럼 OLS로 분석하거나 관찰기간을 일반 변수로 넣으면 해석이 잘못될 수 있습니다. 반복 사건의 개인 내 상관도 별도 고려합니다.
| 오해 | 바른 판단 |
|---|---|
| 분산>평균이면 무조건 NB | 공변량 조건부 과산포 진단 |
| 0이 많으면 ZI | 생성과정 이론 필요 |
| IRR=확률비 | 발생률·기대건수비 |
| 노출량을 X로 추정 | offset으로 계수 1 고정 |
| 포아송 p 작으면 강한 효과 | 과산포로 SE 과소평가 가능 |
계수와 노출량이 기대건수를 어떻게 바꾸는지 봅니다
β와 노출량을 바꿔보세요. 같은 발생률에서도 관찰기간이 두 배면 기대건수도 두 배가 됩니다.
카운트 데이터 회귀 인터랙티브 랩
관계·잡음·영향점을 바꾸며 회귀선, 잔차와 설명력이 동시에 어떻게 변하는지 확인하세요.
조작할 때 그래프의 위치·모양·오류 구조를 먼저 보세요.
μ=노출량×e^β
IRR 1.00 · 기대건수 12.5
노출 12.5에서 단위당 발생률 1.00를 적용합니다.
한 조절값만 먼저 움직인 뒤 그래프의 어떤 부분이 변하고 무엇은 그대로인지 설명해보세요.
카운트 회귀의 판단 규칙
요약은 아래 핵심 정리에서 확인합니다.
카운트 자료의 시간·계층 확장을 살펴봅니다
다음 연결
같은 개인·기업·국가를 여러 시점 관측한 건수나 연속형 결과는 패널 데이터 구조를 반영해야 합니다.
| 주제 | 핵심 내용 |
|---|---|
| COM-Poisson | 과산포와 과소산포 모두 허용 |
| Generalized Poisson | 평균-분산 관계 확장 |
| Zero-truncated | 0이 표본에 들어올 수 없는 자료 |
| Recurrent event | 반복 사건의 생존·율 모형 |
| Count mixed model | 개인·집단 임의효과 포함 |