교차 검증 포아송 모델에 대한 오류 메트릭


29

카운트를 예측하려는 모델을 교차 검증하고 있습니다. 이진 분류 문제인 경우 접기 AUC를 계산하고이 문제가 회귀 문제인 경우 접기 RMSE 또는 MAE를 계산합니다.

포아송 모델의 경우 표본 외 예측의 "정확도"를 평가하기 위해 어떤 오류 메트릭을 사용할 수 있습니까? 예측이 실제 값을 얼마나 잘 정렬하는지 보여주는 AUC의 포아송 확장이 있습니까?

카운트에 대한 많은 Kaggle 경쟁 (예 : yelp 검토가받을 유용한 투표 수 또는 환자가 병원에서 보내는 일 수)은 근 평균 로그 제곱 오류 또는 RMLSE를 사용하는 것으로 보입니다.


/ 편집 : 내가 한 일 중 하나는 예측 값의 십진수를 계산 한 다음 십진수로 비닝 한 실제 카운트를 보는 것입니다. decile 1이 낮고 decile 10이 높고 그 사이의 decile이 엄격하게 증가하고 있다면 모델을 "good"이라고 부르고 있지만이 프로세스를 정량화하는 데 어려움을 겪고 있으며 더 나은 것이 있다고 확신했습니다 접근.

/ 편집 2 : 예측 및 실제 값을 가져 와서 "오류"또는 "정확도"메트릭을 반환하는 수식을 찾고 있습니다. 내 계획은 교차 유효성 검사 중에 겹친 데이터에서이 함수를 계산 한 다음이를 사용하여 다양한 모델 (예 : 포아송 회귀, 임의 포리스트 및 GBM )을 비교합니다.

예를 들어, 그러한 기능 중 하나는 RMSE = sqrt(mean((predicted-actual)^2))입니다. 또 다른 기능은 AUC 입니다. 포아송 데이터에는 어느 기능도 적합하지 않은 것 같습니다.


포아송 모델의 경우 이탈을 사용할 수 있습니다. 이것은 MSE와 유사하지만 포아송에 더 적합합니다. 표본 크기가 작지 않으면 가중치 MSE는 매우 유사합니다.
Glen_b-복지 주 모니카

@Glen_b 이탈의 공식은 무엇입니까?
Zach

1
편차 . 포아송 모델을 어떻게 맞습니까?
Glen_b-복지 주 모니카

불이익을받은 포아송 회귀에서 gbm에 이르는 두 가지 다른 방법. 다른 모델을 비교할 수있는 좋은 오류 메트릭을 찾고 있습니다. 충고 감사합니다.
Zach

포아송 회귀는 최소한 자동으로 이탈을 제공해야합니다.
Glen_b-복지국 Monica

답변:


37

사용할 수있는 카운트 데이터에 대해 적절하고 엄격하게 적절한 몇 가지 점수 규칙이 있습니다. 처치 규칙 처벌이다 도입 P는 예측 분포되는 Y 관측 값. 그것들은 우선 다수의 바람직한 특성을 가지고 있으며, 무엇보다도 실제 확률에 가까운 예측은 항상 적은 페널티를 받고 (독특한) 최상의 예측이 있으며 예측 확률이 실제 확률과 일치 할 때라는 것이 가장 중요합니다. 따라서 s ( y , P ) 의 기대를 최소화 한다는 것은 실제 확률을보고하는 것을 의미합니다. Wikipedia 도 참조하십시오 .s(y,P)Pys(y,P)

종종 모든 예측 값에 대한 평균을 다음과 같이 취합니다.

S=1ni=1ns(y(i),P(i))

어떤 규칙을 취해야하는지에 따라 목표가 달라 지지만 각 규칙을 사용하는 것이 좋을 때 대략적인 특성을 보여 드리겠습니다.

이하에서는 어떤 I 사용 , 예측 확률 질량 함수 ( Y = Y )F ( Y ) , 예측 누적 분포 함수. A k 는 카운트 분포의 전체 지원 (즉, 0 , 1 , , )에 적용됩니다. I는 지시자 함수이다. μσ 는 예측 분포 (일반적으로 카운트 데이터 모델에서 직접 추정 된 수량)의 평균 및 표준 편차입니다. f(y)Pr(Y=y)F(y)케이0,1,,Iμσ

엄밀히 적절한 점수 규칙

  • 찔러 점수 : (범주 예측 변수의 크기 불균형에 대해 안정적)s(y,P)=2f(y)+kf2(k)
  • 다위-세바 스티 아니 (Dawid-Sebastiani) 점수 : (일반 예측 모형 선택에 적합, 범주 형 예측 변수의 크기 불균형에 안정적)s(y,P)=(yμσ)2+2logσ
  • 일탈 점수 : ( g의 Y는 단은에 의존하는 정규화 용어 Y 가 주로 포화 일탈로한다 포아송 모델에서, 추정에 사용하기 좋은 ML 프레임 워크에서)s(y,P)=2logf(y)+gygyy
  • 대수 점수 : (매우 쉽게 계산; 범주 형 예측 변수의 크기 불균형에 대해 안정적)s(y,P)=logf(y)
  • 랭크 확률 점수 : (매우 높은 카운트의 다른 예측을 대조하는 데 적합; 범주 형 예측 변수의 크기 불균형에 취약 함)s(y,P)=k{F(k)I(yk)}2
  • 구면 점수 : (범주 예측 변수의 크기 불균형에 대해 안정적)s(y,P)=f(y)kf2(k)

다른 점수 규칙 (정확하지는 않지만 자주 사용됨)

  • 절대 오차 점수 : (적절하지 않음)s(y,P)=|yμ|
  • 제곱 오차 점수 : (엄격히 적절하지 않음, 특이 치에 민감 함, 범주 형 예측 변수의 크기 불균형에 민감 함)s(y,P)=(yμ)2
  • 피어슨 정규화 제곱 오차 점수 : s(y,P)=(yμσ)2

엄격한 규칙에 대한 예제 R 코드 :

library(vcdExtra)
m1 <- glm(Freq ~ mental, family=poisson, data=Mental) 

# scores for the first observation
mu <- predict(m1, type="response")[1]
x  <- Mental$Freq[1]

# logarithmic (equivalent to deviance score up to a constant) 
-log(dpois(x, lambda=mu))

# quadratic (brier)
-2*dpois(x,lambda=mu) + sapply(mu, function(x){ sum(dpois(1:1000,lambda=x)^2) })

# spherical
- dpois(x,mu) / sqrt(sapply(mu, function(x){ sum(dpois(1:1000,lambda=x)^2) }))

# ranked probability score
sum(ppois((-1):(x-1), mu)^2) + sum((ppois(x:10000,mu)-1)^2)

# Dawid Sebastiani
(x-mu)^2/mu + log(mu)

@ 모모, 그것은 오래된 실이지만 매우 좋고 유용합니다. 그러나 로그 점수에 대한 질문입니다. 기능을 사용했습니다 -log(f(y)). 는 IS -기호 정말이 있어야한다? 점수 규칙 Wikipedia 링크 ( en.wikipedia.org/wiki/Scoring_rule#Logarithmic_scoring_rule )에서 로그 점수는 음수 부호 L(r,i)=ln(ri)가 아닙니다. 정상입니까? 마지막으로,이 경우 더 높은 점수가 더 좋거나 나쁩니 까?
Bastien

모델 추정에 사용 된 데이터의 일부가 아닌 유효성 검사 데이터 세트에서 이러한 측정 값을 계산하는 것이 더 좋습니까 (적어도 더 보수적이고 현실적입니까)?
프레드

감안 GLMS는 같이 반복적 reweighted 최소 제곱 법을 이용하여 적합 것을 bwlewis.github.io/GLM GLM 다시 준다 (중량으로 1 / 분산 가중치를 이용하여 실제로 GLM 링크 눈금 가중 R2 산출 이의 어떨지, glm fit의 슬롯 무게)? 이것은 Poisson glm에서도 작동합니까?
Tom Wenseleers

재현 가능한 예는 stats.stackexchange.com/questions/412580/… 을 참조하십시오 .
Tom Wenseleers
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.