음이항 vs 포아송: 회귀 모델을 선택하는 방법


음이항 회귀포아송 회귀는 반응 변수가 이산 개수 결과로 표시될 때 사용해야 하는 두 가지 유형의 회귀 모델입니다.

다음은 이산 계산 결과를 나타내는 반응 변수의 몇 가지 예입니다.

  • 특정 프로그램을 졸업하는 학생 수
  • 특정 교차로에서의 교통사고 건수
  • 마라톤을 완주한 참가자 수
  • 특정 달에 소매점에서 반품한 횟수

분산이 평균과 거의 같으면 포아송 회귀 모델은 일반적으로 데이터 세트에 잘 맞습니다.

그러나 분산이 평균보다 훨씬 큰 경우 일반적으로 음이항 회귀 모델이 데이터를 더 잘 적합할 수 있습니다.

주어진 데이터 세트에 대해 포아송 회귀 또는 음이항 회귀가 더 적합한지 여부를 결정하는 데 사용할 수 있는 두 가지 기술이 있습니다.

1. 잔차 플롯

회귀 모델의 예측 값에 대해 표준화된 잔차의 플롯을 만들 수 있습니다.

표준화된 잔차의 대부분이 -2와 2 사이에 있으면 포아송 회귀 모델이 적절할 것입니다.

그러나 많은 잔차가 이 범위를 벗어나면 음이항 회귀 모델이 더 나은 적합치를 제공할 가능성이 높습니다.

2. 우도비 검정

포아송 회귀 모델과 음이항 회귀 모델을 동일한 데이터 세트에 적용한 다음 우도 비율 테스트를 수행할 수 있습니다.

테스트의 p-값이 특정 유의 수준(예: 0.05)보다 낮으면 음이항 회귀 모델이 훨씬 더 나은 적합성을 제공한다고 결론을 내릴 수 있습니다.

다음 예에서는 R에서 이러한 두 기술을 사용하여 주어진 데이터 세트에 대해 포아송 회귀 모델을 사용하는 것이 더 나은지 음이항 회귀 모델을 사용하는 것이 더 나은지 결정하는 방법을 보여줍니다.

예: 음이항 회귀와 포아송 회귀

특정 카운티의 고등학교 야구 선수가 그의 학교 부문(“A”, “B” 또는 “C”)과 학교 성적을 기준으로 얼마나 많은 장학금을 받는지 알고 싶다고 가정해 보겠습니다. 대학 입학 시험(0에서 100까지 측정). ).

음이항 회귀 모델 또는 포아송 회귀 모델이 데이터에 더 나은 적합성을 제공하는지 확인하려면 다음 단계를 사용하십시오.

1단계: 데이터 생성

다음 코드는 1,000명의 야구 선수에 대한 데이터가 포함된 데이터 세트를 생성합니다.

 #make this example reproducible
set. seeds (1)

#create dataset
data <- data. frame (offers = c(rep(0, 700), rep(1, 100), rep(2, 100),
                              rep(3, 70), rep(4, 30)),
                   division = sample(c(' A ', ' B ', ' C '), 100, replace = TRUE ),
                   exam = c(runif(700, 60, 90), runif(100, 65, 95),
                            runif(200, 75, 95)))

#view first six rows of dataset
head(data)

  offers division exam
1 0 A 66.22635
2 0 C 66.85974
3 0 A 77.87136
4 0 B 77.24617
5 0 A 62.31193
6 0 C 61.06622

2단계: 포아송 회귀 모델과 음이항 회귀 모델 피팅

다음 코드는 포아송 회귀 모델과 음이항 회귀 모델을 모두 데이터에 맞추는 방법을 보여줍니다.

 #fit Poisson regression model
p_model <- glm(offers ~ division + exam, family = ' fish ', data = data)

#fit negative binomial regression model
library (MASS)

nb_model <- glm. nb (offers ~ division + exam, data = data)

3단계: 잔차 도표 생성

다음 코드는 두 모델 모두에 대한 잔차 그림을 생성하는 방법을 보여줍니다.

 #Residual plot for Poisson regression
p_res <- resid (p_model)
plot(fitted(p_model), p_res, col=' steelblue ', pch=16,
     xlab=' Predicted Offers ', ylab=' Standardized Residuals ', main=' Poisson ')
abline(0,0)

#Residual plot for negative binomial regression
nb_res <- resid (nb_model)
plot(fitted(nb_model), nb_res, col=' steelblue ', pch=16,
     xlab=' Predicted Offers ', ylab=' Standardized Residuals ', main=' Negative Binomial ')
abline(0,0) 

음이항 vs 포아송 회귀

그래프에서 음이항 회귀 모델에 비해 포아송 회귀 모델(일부 잔차는 3 이상으로 확장됨)의 경우 잔차가 더 많이 분산되어 있음을 알 수 있습니다.

이는 이 모델의 잔차가 더 작기 때문에 음이항 회귀 모델이 더 적합할 수 있다는 신호입니다.

4단계: 우도비 테스트 수행

마지막으로 우도비 테스트를 수행하여 두 회귀 모델의 적합도에 통계적으로 유의미한 차이가 있는지 확인할 수 있습니다.

 pchisq(2 * ( logLik (nb_model) - logLik (p_model)), df = 1, lower. tail = FALSE )

'log Lik.' 3.508072e-29 (df=5)

테스트의 p-값은 3.508072e-29 로 밝혀졌으며 이는 0.05보다 훨씬 작습니다.

따라서 우리는 음이항 회귀 모델이 포아송 회귀 모델에 비해 데이터에 훨씬 더 잘 맞는다는 결론을 내릴 수 있습니다.

추가 리소스

음이항 분포 소개
포아송 분포 소개

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다