일부 관측치에 대해 오프셋 변수가 0 인 모델링 카운트 데이터 한 호출 수는 결정될 수

동료의 학생을 돕기 위해 노력하고 있습니다. 학생은 실험 설정에서 조류 행동 (전화 수)을 관찰하고 계산했습니다. 각각의 실험 동안 특정 관찰 된 조류에 기인 한 호출 수는 결정될 수 없었지만, 기록 된 호출 수에 기여한 조류 수를 세는 것이 가능했다. 따라서 초기 제안은 Poisson GLM 모델에서 새 수를 오프셋 용어로 포함하는 것이 었으므로 새 당 예상되는 호출 수에 적합합니다 .

이것에 대한 문제는 많은 관측 기간 동안 새 (따라서 부름)가 관찰되지 않았다는 것입니다. 소프트웨어 (이 경우에는 R)의 불평 때문에 (R 뿌려 함유 데이터하지만 순수의 결과 인 ).

log(0)=inf

y-Infoffset(log(nbirds))-Inf

실제로 “통화 관찰”에 대한 별도의 이항 모델이있는 허들 모델 (또는 이와 유사한)이 필요하다고 생각합니다. (또는 그렇지 않음) 및 호출이 발생한 상황에서 (조류 당) 호출 수에 대한 잘린 카운트 모델, 모델의 카운트 부분에만 오프셋 용어를 포함합니다.

R 의 pscl 패키지를 사용하여 시도했지만 여전히 같은 오류가 발생합니다.

mod1 <- hurdle(NumberCallsCOPO ~ Condition * MoonVis +
               offset(log(NumberCOPO)) | 1, data = Data,
               dist = "poisson")

glm.fit내부적 hurdle()으로이 모델이 카운트 모델 부분을 맞추기 위해 사용됨에 따라 동일한 -Inf관측치에 대한 모형 적합에 영향을 줄 것이라고 생각하지 않더라도 검사하고 있기 때문입니다. (정확한 가정입니까?)

NumberCOPO(예를 들어 0.0001)에 작은 숫자를 추가하여 모델을 적합하게 만들 수 있지만 이것은 최선의 퍼지입니다.

실제로 작은 연속성 보정을 추가해도 괜찮습니까? 그렇지 않다면 오프셋 변수가 0을 취할 수있는 포아송 모델에서 오프셋을 사용하고자하는 데이터를 처리 할 때 고려해야 할 다른 접근 방법은 무엇입니까? 내가 본 모든 예제는 오프셋 변수에 0을 사용할 수없는 상황에 대한 것입니다.



답변

따라서 모델링하려는 응답은 “조류 당 통화 수”이며 까다로운 라인은 조류를 관찰하지 못한 곳입니까? 그 줄을 삭제하십시오. 모델링하려는 것에 정보를 추가하지 않습니다.


답변

포아송 GLM에서 오프셋은 단순히 모델링되는 푸 아송 비율의 곱셈 스케일링입니다. 비율이 0 인 포아송은 도움이되지 않거나 의미가 없습니다 …

이것이 Spacedman이 올바른 이유입니다!


답변

그냥 손으로 (허들)을 시도하십시오 ( “치과 / 체조”purporse를 위해) : 이항 부분과 cout 부분으로 분리하고 적당한 로짓과 cout 회귀를 별도로 즐기십시오! / Gamma …, GAM. 여기서 “offset”var가 필요하지 않은 것 같습니다. 😉


답변