베타 회귀에서 0.1 값 다루기


20

[0,1]에 베타 회귀 분석으로 분석하려는 데이터가 있습니다. 물론 0,1 값을 수용하려면 무언가를 수행해야합니다. 모델에 맞게 데이터 수정을 싫어합니다. 또한 나는 0과 1 인플레이션이 좋은 생각이라고 생각하지 않습니다.이 경우 0은 매우 작은 양수 값으로 간주해야한다고 생각하기 때문에 (그러나 나는 어떤 값이 적절한 지 정확하게 말하고 싶지 않습니다. .001 및 .999와 같은 작은 값을 선택하고 베타에 대한 누적 거리를 사용하여 모델에 적합해야하므로 관측 값 y_i에 대한 로그 가능성 LL_iwould

 if  y_i < .001   LL+=log(cumd_beta(.001))
 else if y_i>.999  LL+=log(1.0-cum_beta(.999))
 else LL+=log(beta_density(y_i))

이 모델에서 내가 좋아하는 것은 베타 회귀 모델이 유효하면이 모델도 유효하지만 극단적 인 값에 대한 약간의 감도를 제거한다는 것입니다. 그러나 이것은 왜 내가 문헌에서 명백한 언급을 찾지 못하는지 궁금해하는 자연스러운 접근 방법 인 것 같습니다. 내 질문은 데이터를 수정하는 대신 모델을 수정하지 않는 것입니다. 데이터를 수정하면 결과가 바이어스되지만 (원래 모델이 유효하다는 가정에 따라) 극단적 인 값을 비닝하여 모델을 수정하면 결과가 바이어스되지 않습니다.

어쩌면 내가 간과하는 문제가 있습니까?


1
특정 문제에 대해 더 많이 알지 못하면이 질문에 대한 올바른 답변을 제공 할 수 없습니다. 중요한 질문은 정확한 0과 1이 (0,1)의 데이터를 생성하는 프로세스와 다른 프로세스에 의해 생성되는지 여부입니다. 전형적인 예는 비가 내리지 않는 날을 반영하는 정확한 0이있는 강우량입니다. 응용 프로그램에서 0과 1은 어떤 방식으로 "특별"입니까?
Dikran Marsupial

답변:


16

이 논문 에 따르면 , 적절한 변형은

x=x(N1)+sN

"여기서 N은 표본 크기이고 s는 0과 1 사이의 상수입니다. 베이지안 관점에서, s는 사전을 고려하는 것처럼 작동합니다. s에 대한 합리적인 선택은 .5입니다."

이것은 에있는 데이터를 ( 0 , 1 )에 넣을 것 입니다. 위의 인용문과 변형의 수학적 이유는이 논문의 보충 노트에 나와 있습니다.[0,1](0,1)


1
+1 .. 그러나 첫 번째 링크를 수정하거나 적어도 논문을 인용하여 독립적으로 찾을 수 있습니까?
whuber

1
그러나 그것은 내 질문에 대답하지 않습니다. 데이터를 변환 할 수 있다는 것을 잘 알고 있습니다. 내 질문은 왜 대신 모델을 변환하지 않습니까?
dave fournier

1
Dave, 다음을 반영하여 질문을 편집하십시오. 현재 데이터 를 변환하는 방법을 찾고있는 것처럼 읽습니다 . 이 과정에서 데이터 변환과 모델 변경간에 차이가 있다고 생각하는 것을 나타내는 데 도움이됩니다. 모델이 있으면 미묘하기 때문입니다.
whuber

@davefournier, 당신이 종이 캠 사이트를 읽는다면 그것은 부분적으로 당신의 질문을 해결합니다. 또한 대체 모델 권장 사항 (69 페이지 참조)을 제공하고 권장 사항의 일부는 데이터 특성에 달려 있습니다. 조정 된 가능성은 "혼합 불연속 연속 프로세스"(69 페이지 끝 부분에 언급 됨)처럼 보입니다. 범주 형 회귀에 대한 Scott Long의 저서와 같이 Tobit 모델의 적절성에 대한 다른 참조를 보는 것이 가장 좋지만 Tobit 모델이 데이터에 따라 만족 스러울 수도 있습니다.
Andy W

1
그러나 그들은이 접근법을 취하지 않습니다. 그들은 다른 모델, 혼합 된 이산 연속 프로세스를 제안합니다. 이는 극단적 인 값을 비닝하는 것과는 매우 다릅니다. 앞에서 말했듯이 베타 모델이 유효하면 비닝 모델이 유효합니다. 불연속 연속 모델이 유효하면 베타 모델이 유효하지 않습니다. 나는 그들이 소프트웨어에 맞는 종류의 혼합 모델에 의해 분석에 주로 몰렸다 고 생각합니다. 비닝 베타 혼합 모델은 맞추기가 약간 더 어렵습니다.
dave fournier 2016 년

3

데이브,

이 문제에 대한 일반적인 접근 방식은 사례가 0인지 1인지를 예측하기 위해 2 개의 로지스틱 회귀 모델을 맞추는 것입니다. 그런 다음 (0,1) 범위의 베타 회귀 분석을 사용합니다.


예를 들어 주시겠습니까? 또는 더 자세히 논의한 논문?
user1607

2

(로그(엑스),로그(1엑스))

엑스(엑스,엑스2)

나는 둘 다 지수 가족이기 때문에 베이지안 방식으로 쉽게 추정된다고 생각합니다. 이것은 당신이 바라던 모델의 수정입니다.


1

이 질문에 대한 실제 "올바른"대답은 0으로 증가 된 베타 회귀라고 생각합니다. 간격 [0,1]에서 연속적으로 변하는 데이터를 처리하도록 설계되었으며 많은 실제 0과 1이 데이터에있을 수 있습니다. 이 접근법은 @B_Miner가 제안한 것과 유사한 베이지안 맥락에서 세 가지 개별 모델에 적합합니다.

모형 1 : 값이 이산 0/1이거나 (0,1)의 값입니까? 베르누이 분포에 적합합니다.

모형 2 : 베르누이 분포로 이산 부분 집합을 적합합니다.

모델 3 : 베타 회귀 분석을 사용하여 (0,1) 하위 집합을 맞 춥니 다.

예측을 위해 첫 번째 모델 결과를 사용하여 모델 2 및 3의 예측에 가중치를 적용 할 수 있습니다. 이는 zoibR 패키지 내에서 구현 되거나 BUGS / JAGS / STAN / etc에서 직접 추출 할 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.