포아송 회귀
일정한 시간이나 공간에서 사건이 몇 번 발생했는지 분석하고, 조건에 따라 예상 발생 건수가 어떻게 달라지는지 추정하는 방법입니다.
도서관 방문자는 평일과 주말 중 언제 더 많을까요? 오전과 저녁의 방문 건수는 어떻게 다를까요? 비가 오는 날에는 방문자가 줄어드는지 수치로 확인할 수 있을까요?
이처럼 정해진 시간이나 공간에서 발생한 사건의 횟수를 설명변수와 연결해 분석하는 방법이 포아송 회귀(Poisson Regression)입니다.
일반 선형회귀가 연속형 결과변수의 변화를 설명하는 데 주로 사용된다면, 포아송 회귀는 0 이상의 정수로 기록되는 방문 횟수나 사고 건수 등을 다룹니다. 모형의 계수를 지수화하면 다른 조건을 일정하게 두었을 때 기대 발생 건수가 몇 배로 달라지는지 해석할 수 있습니다.
도서관 이용, 병원 방문, 민원 접수, 시설 고장처럼 사건의 수를 비교하는 연구에서 유용합니다. 이번 글에서는 시간당 도서관 방문자 수를 예제로 모형의 원리, 요일·시간대·날씨의 영향, 발생률비(IRR) 해석, 과산포 점검과 결과 보고까지 살펴보겠습니다.
포아송 회귀란 무엇인가요?
발생 횟수를 예측하는 데 사용하는 일반화선형모형입니다.
포아송 회귀는 사건이 일정한 관찰 단위 안에서 몇 번 발생했는지 분석합니다. 결과변수는 0, 1, 2처럼 음수가 아닌 정수이며, 방문 횟수·사고 건수·고장 횟수 등이 여기에 해당합니다.
일반적인 선형회귀와 달리 평균 건수가 음수가 되지 않도록 로그 연결함수를 사용합니다. 설명변수의 효과는 건수 자체의 일정한 증가량보다 기대 건수가 몇 배로 변하는지로 해석하는 것이 자연스럽습니다.
방문 건수가 5명 늘어난다고 가정하는 대신, 특정 조건에서 예상 방문 건수가 기준 조건의 몇 배인지 추정합니다.
포아송 회귀는 왜 필요한가요?
건수 데이터의 분포와 증가 방식은 연속형 데이터와 다릅니다.
시간당 방문자 수는 0보다 작을 수 없고, 평소보다 방문자가 두 배 많아지는 상황도 발생할 수 있습니다. 일반 선형회귀는 음수 예측값을 낼 수 있고 건수 데이터의 평균과 분산 구조를 제대로 반영하지 못할 수 있습니다.
포아송 회귀는 조건에 따른 기대 건수를 직접 모델링할 수 있습니다. 다만 포아송 분포는 조건부 평균과 분산이 같다는 가정을 가지므로, 실제 관측값의 변동이 지나치게 크다면 다른 모형도 검토해야 합니다.
포아송 회귀는 어떤 원리로 작동하나요?
설명변수를 기대 건수의 로그와 연결한 뒤 최대우도법으로 추정합니다.
① 분석 단위와 결과변수 정하기
각 관측값을 도서관의 한 시간으로 정하고, 그 시간에 방문한 이용자 수를 결과변수로 설정합니다.
② 설명변수와 기준 조건 정하기
요일은 주말 여부, 시간대는 저녁 여부, 날씨는 비가 왔는지로 구분합니다. 기준은 평일·저녁 이외 시간·맑은 날입니다.
③ 로그 연결함수로 기대 건수 표현하기
log(기대 방문자 수) = 절편 + β₁×주말 + β₂×저녁 + β₃×비. 따라서 기대 방문자 수는 이 선형식에 지수함수를 적용한 값입니다.
④ 최대우도법으로 계수 추정하기
실제 관측된 방문 건수가 나타날 가능성이 커지도록 계수를 추정합니다. 각 계수에 지수함수를 적용하면 발생률비(IRR)를 얻습니다.
⑤ 적합도와 과산포 확인하기
관측값과 예측값의 차이, 잔차 패턴, Pearson 카이제곱 통계량을 잔차 자유도로 나눈 값 등을 함께 점검합니다.
실제 사례: 도서관의 시간당 방문자 수
요일, 시간대, 날씨가 방문 건수와 어떤 관계가 있는지 분석합니다.
가상의 도서관에서 5주 동안 하루 네 개 시간대를 관찰했다고 가정하겠습니다. 총 140개 시간 구간에 대한 방문자 수를 생성한 학습용 예시 데이터입니다. 각 구간은 모두 1시간으로 설정했습니다.
“주말, 저녁 시간대, 비가 오는 날에 도서관의 시간당 예상 방문자 수는 얼마나 달라지는가?”
| 항목 | 값 또는 설명 |
|---|---|
| 관측 단위 | 1시간 구간 |
| 관측 건수 | 140개 구간 |
| 결과변수 | 시간당 방문자 수(0 이상의 정수) |
| 설명변수 | 주말 여부, 저녁 시간대 여부, 비 여부 |
| 기준 조건 | 평일·저녁 이외 시간·맑은 날 |
| 평균 방문자 수 | 23.4명 |
| 분산(전체 관측값) | 64.7 |
전체 자료의 분산에는 요일과 시간대 같은 조건 차이도 반영됩니다. 따라서 분산이 평균보다 크다는 사실만으로 조건부 과산포라고 결론 내리지 않습니다.
예상 방문자 수는 어떻게 달라지나요?
같은 날씨를 기준으로 요일과 시간대 조합의 차이를 비교합니다.
평일의 저녁 이외 시간대, 맑은 날에 예상되는 방문자 수는 시간당 약 23.3명입니다. 저녁에는 그보다 많은 방문자가 예상되고, 주말에는 조건이 같을 때 상대적으로 적은 방문자가 예상됩니다.
이 그래프는 관측값을 그대로 평균 낸 것이 아니라 추정된 모형의 계수로 계산한 예측값입니다.
발생률비(IRR)는 어떻게 해석하나요?
계수의 지수값이 기준 조건 대비 기대 건수의 배수를 나타냅니다.
| 비교 조건 | 회귀계수 β | IRR | 95% 신뢰구간 |
|---|---|---|---|
| 주말(평일 대비) | -0.334 | 0.72 | 0.66–0.78 |
| 저녁(그 외 시간 대비) | +0.440 | 1.55 | 1.44–1.67 |
| 비(맑은 날 대비) | -0.128 | 0.88 | 0.82–0.95 |
다른 조건이 같을 때 저녁 시간대의 IRR은 1.55로, 저녁 이외 시간대보다 기대 방문자 수가 약 55% 많다는 의미입니다. IRR이 0.80이면 약 20% 적다는 의미입니다.
IRR은 개별 방문자의 방문 확률이 아니라 일정한 관찰 단위에서의 기대 사건 건수 또는 노출량당 발생률에 관한 비율입니다.
포아송 회귀 결과에서는 어떤 지표를 확인하나요?
회귀계수와 발생률비뿐 아니라 불확실성과 적합도를 함께 살펴봅니다.
| 지표 | 예시 결과 또는 의미 |
|---|---|
| 회귀계수(β) | 로그 기대 건수에 대한 설명변수 효과 |
| 발생률비(IRR) | exp(β): 조건에 따른 배수 변화 |
| 95% 신뢰구간 | IRR 추정의 불확실성 |
| 유의확률(p) | 주말 0.000 / 저녁 0.000 / 비 0.001 |
| Pearson χ² / 잔차 df | 1.16 (조건부 과산포 탐색 지표) |
| 잔차 및 적합도 | 편향된 예측이나 큰 잔차 여부 확인 |
신뢰구간에 1이 포함되면 해당 변수의 IRR이 1과 다른지에 대한 증거가 충분하지 않을 수 있습니다. p값 하나로 효과의 중요성을 판단하지 말고 효과 크기와 연구 맥락을 함께 보아야 합니다.
포아송 회귀와 선형회귀는 어떻게 다른가요?
연속형 결과와 건수형 결과에 적용하는 모형의 기본 가정이 다릅니다.
| 구분 | 선형회귀 | 포아송 회귀 |
|---|---|---|
| 결과변수 | 연속형 수치 | 0 이상의 정수 건수 |
| 예측값 범위 | 음수도 가능 | 양의 기대 건수 |
| 연결 방식 | 항등 연결(기본) | 로그 연결 |
| 계수 해석 | 단위 증가에 따른 평균 차이 | 지수화한 계수로 배수 변화 |
| 대표 예제 | 시험 점수·판매가격 | 방문자 수·사고 건수 |
도서관 이용자가 시간당 몇 명인지 분석한다면 포아송 회귀를 먼저 검토할 수 있습니다. 반면 방문자 한 사람의 체류 시간이 몇 분인지 분석한다면 연속형 결과변수에 맞는 다른 회귀모형이 적합할 수 있습니다.
포아송 회귀와 음이항 회귀는 어떻게 다른가요?
관측 조건을 고려한 뒤에도 건수의 변동이 지나치게 클 때 차이가 중요해집니다.
| 구분 | 포아송 회귀 | 음이항 회귀 |
|---|---|---|
| 조건부 분산 | 조건부 평균과 같다고 가정 | 평균보다 큰 분산을 허용 |
| 적합한 상황 | 포아송 가정이 대체로 타당 | 과산포가 뚜렷한 건수 데이터 |
| 주의사항 | 과산포 시 표준오차가 과소추정될 수 있음 | 추가 분산 모수 추정이 필요 |
이번 예제에서 Pearson χ²를 잔차 자유도로 나눈 값은 1.16입니다. 단일 지표만으로 모형을 확정하지 않으며, 잔차·군집 구조·0의 빈도 등을 함께 살펴야 합니다.
설명변수를 빠뜨렸거나 같은 날짜의 관측값들이 서로 연관되어 있어도 과산포처럼 보일 수 있습니다. 이런 문제를 모두 음이항 회귀 하나로 해결할 수는 없습니다.
포아송 회귀에서 주의해야 할 점
건수를 정확히 세고 관찰 조건이 비교 가능한지 확인해야 합니다.
관측 단위의 노출량을 확인하세요.
한 시간과 세 시간의 방문 건수를 그대로 비교하면 안 됩니다. 구간의 길이가 다르면 log(노출시간)을 오프셋으로 포함해 단위 시간당 발생률을 분석합니다. 이번 예제는 모든 구간이 1시간이어서 별도 오프셋이 필요하지 않습니다.
관측값의 독립성을 확인하세요.
같은 요일이나 같은 날짜에 연달아 측정한 방문 건수는 독립적이지 않을 수 있습니다. 필요하면 날짜·지점별 군집 구조나 반복측정을 반영한 모형을 검토해야 합니다.
과산포와 과도한 0을 확인하세요.
잔차 변동이 큰 경우 음이항 회귀, 0이 구조적으로 많이 발생하는 경우 영과잉 모형 등이 후보가 될 수 있습니다.
단순한 관계를 인과효과로 해석하지 마세요.
비 오는 날 방문자가 적더라도 날씨 자체의 인과효과라고 단정할 수 없습니다. 시험 기간, 행사, 계절 등 빠진 요인이 있을 수 있습니다.
비선형성과 상호작용을 살펴보세요.
시간대 효과는 평일과 주말에 다를 수 있고, 요일을 주말 여부만으로 나누면 중요한 차이가 가려질 수 있습니다.
포아송 회귀에는 어떤 확장 방법이 있나요?
자료 구조와 연구 질문에 맞춰 모형을 확장할 수 있습니다.
오프셋을 포함한 발생률 모형
관찰시간이나 이용 가능 인구가 다른 구간들을 노출량으로 보정해 비교합니다.
준포아송 회귀
평균 구조를 유지하면서 분산의 크기를 별도로 조정하는 접근입니다. 완전한 확률분포를 이용한 우도 기반 비교와는 다릅니다.
음이항 회귀
조건부 평균보다 분산이 큰 건수 데이터에 사용할 수 있는 대안입니다.
영과잉 포아송 회귀
방문자가 전혀 없는 시간대가 별도 생성 과정 때문에 매우 많을 때 검토할 수 있습니다.
혼합효과·반복측정 포아송 회귀
여러 도서관 지점이나 반복 관측된 날짜의 상관 구조를 고려해 분석합니다.
포아송 회귀 결과는 어떻게 보고하나요?
관찰 단위, 계수 또는 IRR, 신뢰구간, 모형 점검 결과를 명확히 제시합니다.
논문이나 보고서에서는 결과변수가 일정 시간의 방문 건수라는 점을 밝히고, 기준 조건이 무엇인지 설명해야 합니다. 효과 크기는 IRR과 95% 신뢰구간으로 제시하는 것이 이해하기 쉽습니다.
가상의 도서관에서 수집한 140개 시간 구간의 방문 건수를 대상으로 포아송 회귀분석을 실시하였다. 주말 여부, 저녁 시간대 여부, 강수 여부를 설명변수로 포함하였다. 다른 변수를 통제했을 때 저녁 시간대의 예상 방문 건수는 그 외 시간대보다 약 55% 높았다(IRR = 1.55, 95% CI [1.44, 1.67]).
위 문장은 학습용으로 생성한 데이터의 결과입니다. 실제 분석에서는 표본추출 방식, 독립성, 과산포, 모델 선택 과정 등도 함께 보고해야 합니다.
포아송 회귀는 어디에 활용할 수 있나요?
일정 기간이나 공간에서 발생한 사건의 횟수를 분석할 때 사용합니다.
도서관·매장 운영
시간당 방문 건수와 요일·날씨·프로모션의 관계를 분석합니다.
의료·보건 연구
특정 기간에 발생한 응급실 방문 횟수나 질환 발생 건수를 설명합니다.
교통·안전 분석
도로 구간별 사고 발생 건수를 교통량 및 도로 특성과 함께 분석합니다.
제조·품질 관리
생산 시간당 결함 수 또는 장비 고장 횟수를 분석합니다.
디지털 서비스 분석
시간당 문의 접수 건수나 오류 발생 횟수를 예측합니다.
포아송 회귀는 사건의 발생 건수를 조건별로 비교하는 방법입니다.
기대 건수의 변화는 발생률비로 해석하고, 분산과 관찰 조건이 적절한지 확인합니다.
포아송 회귀는 일정한 관찰 단위에서 발생한 사건의 횟수를 설명하고 예측하는 데 사용하는 방법입니다. 도서관 예제에서는 요일, 시간대, 날씨에 따라 방문자 수의 기대값이 어떻게 달라지는지 살펴봤으며, 발생률비(IRR)를 통해 조건별 차이를 배수로 해석했습니다.
해석할 때는 관찰 시간이 서로 같은지, 반복 관측이 독립적인지, 분산이 평균보다 지나치게 크지 않은지 확인해야 합니다. 과산포가 크다면 표준오차를 조정하거나 음이항 회귀 등 다른 접근을 고려할 수 있습니다. 실제 분석에서는 모형의 진단 결과와 연구 설계를 함께 제시하는 것이 좋습니다.
포아송 회귀의 핵심은 건수 데이터의 예상 발생 횟수를 설명변수와 연결 하는 것입니다. 계수를 지수화한 IRR 로 배수 변화를 해석하고, 노출량·독립성·과산포 를 확인하세요.