증가 된 환자 수를 설명하기 위해 이항 모형에서 오프셋 사용


18

나에게 두 가지 관련 질문이 있습니다. 한 열 (10-17 환자 범위)의 환자 수와 그 날 사건이 발생했는지 여부를 나타내는 0과 1을 포함하는 데이터 프레임이 있습니다. 나는 이항 모델을 사용하여 환자 수에 대한 사고 확률을 회귀하고 있습니다. 그러나 환자 수가 많을수록 병동의 총 환자 시간이 그날 더 많아지기 때문에 더 많은 사건이 발생한다는 사실에 적응하고 싶습니다.

따라서 다음과 같은 오프셋 이항 모델을 사용하고 있습니다 (R 코드).

glm(Incident~Numbers, offset=Numbers, family=binomial, data=threatdata)

내 질문은 :

  1. 정확히 동일한 변수를 예측하고 오프셋에 두는 것이 괜찮습니까? 사고 확률의 토닉 증가를 부분적으로 제거하고 본질적으로 남은 것이 있는지 확인하고 싶습니다. 그것은 나에게 의미가 있지만 내가 틀렸을 때 나는 조금 조심합니다.

  2. 오프셋이 올바르게 지정 되었습니까? 포아송 모델에서는 다음과 같이 읽습니다.

    offset=log(Numbers)
    

여기에 해당하는 것이 있는지 모르겠으며 Google에서 이항 오프셋을 찾을 수없는 것 같습니다 (물론 부정적인 이항을 얻는 것이 큰 문제는 물론 좋지 않습니다).


2
조정하고자하는 것이 아니라 정확하게 측정하고자하는 것, 즉 환자의 수에 따라 "사고"의 확률이 어떻게 증가합니까?
B_Miner

1
B_Miner의 요점을 에코해야합니다. 이 상황에서 오프셋이 언제 / 왜 사용되는지 혼란스러워합니다. 귀하의 모델 인 sans offset은 환자 수에 따라 사건 발생 확률에 맞는 값을 제공합니다. 다른 기능적 형태에 관심이 있다면 과학적으로 흥미로운 것을 기반으로 한 변환 (예 : 로그 또는 지수)을 고려하십시오.
AdamO

사건에 대해 설명해 주실 수 있습니까? 사건은 환자 또는 와드 전체에 관한 것입니까? 환자와 관련이있는 경우> 1 건 이상의 사건이있을 수 있습니까? 환자가 없으면 사건을 가질 수 없습니까?
atiretoo

1
분명히 내 대답은 '충분한 세부 사항이 포함되어 있지 않습니다'. 나는 이론적 인 개발, 실행 가능한 코드 및 두 가지 질문에 대한 답변을 제공 했으므로 더 필요한 것이 무엇인지 명확히 할 수 있습니까?
공역 사전

1
죄송합니다. Conjugate Prior, 귀하의 답변이 훌륭합니다. "충분하지 않은 세부 사항"은 현상금에 추가 된 태그입니다 (즉, 게시하기 전에있었습니다). 누군가가 더 나은 반응을 보일 경우를 대비하여 현상금이 끝날 때 나는 받아 들일 것입니다.
Chris Beeley

답변:


17

병동에 N 일 동안 환자가 생길 확률에 관심이 있다면 다음과 같은 모델을 원합니다.

mod1 <- glm(incident ~ 1, offset=patients.on.ward, family=binomial)

오프셋은 시행을 나타내며 incident0 또는 1이며, 사고 확률은 일정하며 (사고를 발생시키는 경향에 이질성이 없음) 환자는 사고를 유발하기 위해 상호 작용하지 않습니다 (전염성이 없음). 또는 사고의 가능성이 적을 경우 (또는 당사에 언급하지 않고 사고 수를 임계 값으로 설정 한 경우) 포아송 공식을 선호 할 수 있습니다.

log.patients.on.ward <- log(patients.on.ward)
mod2 <- glm(incident ~ 1, offset=log.patients.on.ward, family=poisson)

동일한 가정이 적용되는 경우 병동에있는 환자의 수가 비례 / 곱셈 효과를 나타 내기 때문에 오프셋이 기록됩니다.

두 번째 모델을 확장 하면 환자 수 증가로 인해 예상보다 더 많은 사건이 발생 한다고 생각할 수 있습니다. 즉, 아마도 환자는 상호 작용하거나 이종일 수 있습니다. 그래서 당신은 시도

mod3 <- glm(incident ~ 1 + log.patients.on.ward, family=poisson)

에 계수 log.patients.on.ward가 고정 된 1과 계수 가 크게 다르면 mod2이질성 및 전염성이 없다는 가정에 실제로 문제가있을 수 있습니다. 물론이 두 가지 (다른 결측 변수와 하나도)를 구별 할 수는 없지만, 와드에서 환자 수를 얼마나 많이 늘리면 사건의 발생률 / 확률이 사건보다 높을 지 추정 할 수 있습니다. 우연히 기대하십시오. 매개 변수의 공간에서 1-coef(mod3)[2]간격을 파생시킬 수 있습니다 confint.

또는 로그 수량과 계수로 직접 작업 할 수 있습니다. 병동에있는 환자 수를 사용하여 사건 발생 확률을 예측하려는 경우이 모델을 사용하는 간단한 방법이됩니다.

질문들

  1. 오프셋에 종속 변수가있는 것이 괜찮습니까? 그것은 나에게 매우 나쁜 생각처럼 들리지만, 나는 당신이해야한다고 생각하지 않습니다.

  2. 포아송 회귀 모형의 오프셋 exposure은 실제로 log(exposure)입니다. 아마도 offsetR의 이항 회귀 모델에서 혼란스럽게 사용하는 것은 기본적으로 시행 횟수를 나타내는 방법입니다. 항상 cbind(incidents, patients.on.ward-incidents)오프셋으로 정의되고 정의 되지 않은 종속 변수로 대체 될 수 있습니다 . Poisson 모델에서는 로그 링크 함수 뒤에 오른쪽에 들어가고 이항 모델에서는 로짓 링크 함수 앞에 왼쪽에 들어갑니다.


18

포아송 회귀 분석에서의 오프셋

λtλ×t

g

g(λti)=log(λti)=β0+β1x1,나는+

나는나는엑스나는나는

위의 표현을 단순화하면됩니다

log(λ)=log(ti)+β0+β1x1,i+

log(ti)

이항 회귀

이항 회귀 분석에서 일반적으로 로짓 링크를 사용하는 경우는 다음과 같습니다.

g(pi)=logit(pi)=log(pi1pi)=β0+β1x1,i+

pi

pii

pi,jjiij=1Ni(1pi,j)Nii

pi=1j=1Ni(1pi,j).

pi=1(q)Ni,
q=1pp

pig(pi)log((q)N1)

결과적으로이 경우 오프셋을 사용할 수 없습니다.


2
+1, @Rider_X 사이트에 오신 것을 환영합니다. 앞으로 더 많은 답변을 기대할 수 있기를 바랍니다.
gung-Monica Monica 복원

1
@ 궁-감사합니다! 나는 유용한 답변이라고 생각한 것에 대해 많이 듣지 못했기 때문에 많이 돌아 오지 않았습니다. 나는 그것을 바꿔야 할 것이다. 문안 인사.
Rider_X

2
+1 어떤 코드와 명령을 사용 하는지를 보여주는 것이 아니라 이론 과 추론 을 설명하는 답변에 정말 감사합니다 .
whuber

9

이 답변은 두 부분으로 나뉩니다. 첫 번째는 질문에 대한 직접적인 답변이고 두 번째는 제안하는 모델에 대한 주석입니다.

첫 번째 부분은 Numbers방정식의 rhs에 오프셋과 함께 사용하는 것과 관련이 있습니다 . 이를 수행하는 결과는 추정 된 계수에서 1을 빼서 Numbers오프셋의 효과를 되돌리고 결과를 변경하지 않습니다. 관련없는 몇 줄의 출력이 제거 된 다음 예는이를 보여줍니다.

library(MASS)
Numbers <- rpois(100,12)
p <- 1 / (1 + exp(0.25*Numbers))
y <- rbinom(100, Numbers, p)
Incident <- pmin(y, 1) 

> summary(glm(Incident~Numbers, family="binomial"))

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.3121  -1.0246  -0.8731   1.2512   1.7465  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)  
(Intercept)  0.99299    0.80624   1.232   0.2181  
Numbers     -0.11364    0.06585  -1.726   0.0844 . <= COEFFICIENT WITH NO OFFSET TERM
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 135.37  on 99  degrees of freedom
Residual deviance: 132.24  on 98  degrees of freedom
AIC: 136.24

> summary(glm(Incident~Numbers, offset=Numbers, family="binomial"))

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.3121  -1.0246  -0.8731   1.2512   1.7465  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept)  0.99299    0.80624   1.232    0.218    
Numbers     -1.11364    0.06585 -16.911   <2e-16 *** <= COEFFICIENT WITH OFFSET TERM
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 342.48  on 99  degrees of freedom
Residual deviance: 132.24  on 98  degrees of freedom
AIC: 136.24

Numbers 계수와 null 이탈 (및 t- 통계는 -1 대신 0에 대해 테스트 중이므로)을 제외하고 모든 것이 어떻게 동일한 지 확인하십시오.

1(1)로그(1(1))/로그(1). 이것은 하루에 1을 관찰 할 확률 사이의 관계를 나타냅니다.로짓 척도의 선형 함수로 잘 모델링되지 않을 수 있습니다. (어쨌든 환자 치료의 질은 양호하지만 환자 치료의 질은 급격히 떨어질 수있는 약간의 "임계 값"을 기대할 수 있기 때문에 이런 경우가있을 수 있습니다.) 분자 대신 분모를 사용하면 로그 내부에 어색한 지수가 남아 있습니다.

환자 당 환자마다 확률이 환자마다 다르기 때문에 더 복잡한 계층 적 모델로 이어질 것이라고 생각할 수도 있지만 여기서는 다루지 않겠습니다.

어쨌든, 로짓 척도에서 선형 인 모델을 사용하는 것보다는이 환자와 관찰 한 환자 수의 제한된 범위를 고려할 때 관계에 대해 비모수 적이며 환자 수를 3 명으로 그룹화하는 것이 좋습니다. 4 개의 그룹 (예 : 10-11, 12-13, 14-15 및 16-17)은 해당 그룹에 대한 더미 변수를 구성한 다음 오른쪽에 더미 변수를 사용하여 로지스틱 회귀 분석을 실행합니다. 이렇게하면 "시스템에 약 16 명의 환자가 과부하되어 사고가 크게 증가하기 시작"과 같은 비선형 관계를보다 효과적으로 포착 할 수 있습니다. 훨씬 더 넓은 범위의 환자가 있다면 'mgcv'패키지의 'gam'과 같은 일반적인 첨가 모델을 제안합니다.


0

로그 링크를 지정하고 포아송 모델과 같이 오프셋을 유지하는 것이 가장 간단한 것 같습니다.


2
나는 당신이 옳다고 확신하지만, 내 이익을 위해, 이것은 어떻게 포아송입니까? OP에 이진 결과가있는 데이터 세트가있는 것 같습니다. 이것이 glm (Incident ~ Numbers, offset = log (Numbers), family = poisson, data = threatdata)입니까?
B_Miner
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.