포아송 회귀 모형의 검증을위한 비용 함수


12

수집 한 카운트 데이터의 경우 포아송 회귀 분석을 사용하여 모델을 작성합니다. glmR 의 함수를 사용 하여이 작업을 수행 합니다 family = "poisson". 가능한 모델을 평가하기 위해 (여러 예측 변수가 있음) AIC를 사용합니다. 여태까지는 그런대로 잘됐다. 이제 교차 유효성 검사를 수행하고 싶습니다. 패키지 의 cv.glm함수를 사용하여 이미이 작업을 수행했습니다 boot. 에서 문서cv.glm나는 당신이 의미있는 예측 오차를 얻기 위해 특정의 비용 함수를 사용할 필요가 이항 데이터에 대한 그 예를 참조하십시오. 그러나에 어떤 비용 함수가 적합한 지 아직 family = poisson알지 못했으며 광범위한 Google 검색에서 특정 결과가 나오지 않았습니다. 내 질문은 cv.glmpoisson glm의 경우 어떤 비용 함수가 적합한 지에 대해 어느 정도 밝혀야한다는 것 입니다.


1
기능 cv.glmnet패키지는 glmnet사용 type.measure="deviance"포아송 가족을 위해.
rcs

엄밀히 말하면, 이진 데이터에 대해 특정 비용 함수를 사용하는 것이 합리적이라고 문서에 나와 있습니다.
코 로네

@corone of는 연속 데이터 나 이진 데이터가 아닙니다. 그래서 카운트 데이터에 적합한 비용 함수를 찾고있었습니다.
Paul Hiemstra

1
귀하의 수가 적지 않으면 데이터의 불연속성이 큰 차이를 만들지 않는다고 생각합니다. 문제는 오히려 데이터 배포에 관한 것입니다. 이진 데이터의 경우 예측은 0과 1 사이의 연속 확률이지만 응답은 항상 0 또는 1입니다.이 예에서는 비용이 "올바르게"또는 "잘못"되도록하고 권리와 오류 수를 계산합니다. 연속성이 특히 걱정됩니까? 연속성을 다루기 위해 답변에 PS를 추가하겠습니다.
Korone

답변:


12

특정 경우에 특별한 것이 없다고 가정하면 기본값 (평균 제곱 오류)을 사용하거나 로그 오류의 평균 또는 카이 제곱 오류를 사용하는 것에 대한 좋은 주장이 있다고 생각합니다.

비용 함수의 목적은 예측이 잘못되어 "화난"방법, 특히 "잘못"이 가장 귀찮은 것을 표현하는 것입니다. 이것은 이진 응답에 특히 중요하지만 모든 상황에서 중요 할 수 있습니다.

평균 제곱 오차 (응답)

C=1ni(YiY^i)2

MSE를 사용하면 위와 아래의 오류에 똑같이 민감하고 크고 작은 예측에 똑같이 민감합니다. 이것은 꽤 표준적인 일이므로 대부분의 상황에서 눈살을 찌푸 리지 않을 것입니다.

평균 제곱 오류 (로그 응답)

C=1ni(lnYilnY^i)2

카운트 데이터로 작업하기 때문에 대칭이나 크기에 무관심하다는 주장이있을 수 있습니다. 10의 예측에 대해 10 카운트를 계산하는 것은 1000의 예측과는 매우 다릅니다. 이는 링크 기능까지의 비용을 일치 시켰기 때문에 다소 "정규적인"비용 함수입니다. 이는 비용이 모형에서 가정되는 분산 분포와 일치하도록합니다.

카이 제곱 오차

C=1ni(YiY^i)2Y^i

세 번째 방법은 카이 제곱 오차를 사용하는 것입니다. GLM을 다른 개수 기반 모델과 비교할 때 특히 GLM에 요인이있는 경우 특히 매력적일 수 있습니다. 오류 로그 응답과 유사하게 크기에 따라 크기가 조정되지만 예상 횟수를 기준으로 대칭입니다. 이제 백분율 오차를 기준으로 적합도를 평가하고 있습니다.


불연속성

이 질문에는 이진 반응 변수가있는 문서 예제가 인용되므로 다른 비용 함수를 사용하십시오. 이항 반응의 문제는 응답이 항상 정확히 0 또는 1이더라도 GLM에서 0과 1 사이의 실수를 예측한다는 것입니다. 숫자가 정확한 반응에 가까울수록 더 나은 반응을 보일 수 있습니다. 예측하지만 종종 사람들은 이것을 원하지 않습니다. 추론은 종종 0 또는 1 인 것처럼 행동해야하므로 0에 대한 예측으로 0.5보다 작은 것을 취합니다.이 경우 단순히 "잘못된"예측의 수를 계산하는 것이 좋습니다. 여기서의 주장은 참 / 거짓 질문의 경우 옳고 그름 만있을 수 있다는 것입니다. 잘못의 계조는 없습니다.

귀하의 경우 카운트 데이터가 있습니다. 응답과 동일한 지원을받지 않는 예측을 받아들이는 것이 훨씬 일반적입니다. 예를 들어 가족당 2.4 명의 어린이 또는 1 년에 9.7 명의 사망자를 예측합니다. 일반적으로 "올바른"또는 "잘못된"것에 대한 것이 아니기 때문에 이것에 대해 아무 것도 시도하지 않을 것입니다. 카운트 비율이 매우 낮기 때문에 정수인 예측이 실제로 필요한 경우 먼저 예측을 반올림하여 "전체 수"또는 오류를 계산할 이유가 없습니다. 이 경우 위의 세 가지 표현식이 여전히 적용되지만 먼저 반올림하면됩니다 .Y^


로그 변환 된 응답의 평균 제곱 오류의 평균 제곱 오류를 사용하는 대신 GLM에서 1 / 분산 가중치 (R의 glm 출력의 $ weights 슬롯에 의해 제공되는 poisson = 1 / E (Y)). 이것은 모든 유형의 GLM에 적합하다고 생각합니다.
Tom Wenseleers
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.