2014-06-10 5 views
3

그래서 R을 사용하여 로지스틱 회귀를 수행하지만 오프셋을 사용하고 있습니다.R glm 오브젝트와 오프셋을 사용한 예측

mylogit <- glm(Y ~ X1 + offset(0.2*X2) + offset(0.4*X3), data = test, family = "binomial") 

출력에는 단 하나의 계수 인 예측 및 예측 자 X1 만 표시됩니다.

Coefficients: 
    (Intercept)    X1 
     0.5250748   0.0157259 

내 질문 :이 모델의 각 관찰에서 어떻게 미가공 예측을 얻습니까? 더 구체적으로, 예측 함수를 사용하면 모델 계수가 절편과 X1 만 포함 된 것으로 나열 되더라도 모든 기능과 계수가 포함됩니까?

prob = predict(mylogit,test,type=c("response")) 

예측 기능을 사용해야합니까? "mylogit"객체에 직접 계산할 수있는 항목이 있습니까? (예, glm에 관한 문서를 보았지만 여전히 혼란 스럽습니다.)

환자 분들께 감사드립니다.

답변

5

glmoffset()으로 일부 실험 결과를보고 할 수 있습니다. 이 실험에서 적어도 predict에 전화하면 offset을 고려한 결과가 표시되지 않습니다. 오히려 그 목적을 위해서는 summary.glm이 필요합니다. ?glm에있는 첫 번째 예제의 다소 엉망진단 한 수정으로 시작했는데, 데이터를 제공했다면 문제가 더 적절할 것입니다. 왜냐하면 "테스트"에 필요한 newdata 인수를 더 많이 사용할 수 있기 때문입니다. 추정 된 계수의 비교가 통계적 추론의 목적 NULL 추정치 (대개 0)하게되면

counts <- c(18,17,15,20,10,20,25,13,12) 
outcome <- gl(3,1,9) 
treatment <- gl(3,3) 
print(d.AD <- data.frame(treatment, outcome, counts)) 
glm.D93 <- glm(counts ~ outcome + treatment + offset(1:9), family = poisson()) 
glm.D93d <- glm(counts ~ outcome + treatment , family = poisson()) 

> predict(glm.D93d, type="response") 
     1  2  3  4  5  6  7  8  9 
21.00000 13.33333 15.66667 21.00000 13.33333 15.66667 21.00000 13.33333 15.66667 
> predict(glm.D93, type="response") 
     1  2  3  4  5  6  7  8  9 
21.00000 13.33333 15.66667 21.00000 13.33333 15.66667 21.00000 13.33333 15.66667 

최대한 멀리가 offset을 말할 수있는 유일한 자명하다. 즉 summary.glm 수행된다

> summary(glm.D93)$coef 
      Estimate Std. Error z value  Pr(>|z|) 
(Intercept) 2.044522 0.1708987 11.963362 5.527764e-33 
outcome2 -1.454255 0.2021708 -7.193203 6.328878e-13 
outcome3 -2.292987 0.1927423 -11.896644 1.232021e-32 
treatment2 -3.000000 0.2000000 -15.000000 7.341915e-51 
treatment3 -6.000000 0.2000000 -30.000000 9.813361e-198 
> summary(glm.D93d)$coef 
       Estimate Std. Error  z value  Pr(>|z|) 
(Intercept) 3.044522e+00 0.1708987 1.781478e+01 5.426767e-71 
outcome2 -4.542553e-01 0.2021708 -2.246889e+00 2.464711e-02 
outcome3 -2.929871e-01 0.1927423 -1.520097e+00 1.284865e-01 
treatment2 1.337909e-15 0.2000000 6.689547e-15 1.000000e+00 
treatment3 1.421085e-15 0.2000000 7.105427e-15 1.000000e+00 

다음은 데이터 및 $linear.predictors$fitted의 결합이 영향을받지 않는 상태에서만 (예를 혼용이 사실 이상한 변화) 기준 레벨을 변경하는 옵셋. 나는 이것에 영향을 미치는 glm에서 주석을 보지 못했지만 ?lm에 주석이 있습니다 : "오프셋으로 지정된 오프셋은 predict.lm에 의한 예측에 포함되지 않지만 수식에서 오프셋 된 용어로 지정된 오프셋은됩니다." 나는 ?model.offset을 읽음으로써 통찰력이 거의 없다는 것을 인정할 것이다.

+0

종합적인 답변을 보내 주셔서 감사 드리며,이를 검토하고 살펴 보겠습니다. 나는 실제로 모델이 그것들을 고려한다고 생각한다. 내가 수동으로 할 때와 똑같은 대답을보고한다. 내 코드를 함께 가져 와서 여기에 놓을거야. 고마워! – ElChapo

+0

저는 이것을 "포괄적 인"것으로 생각하지 않습니다. 내가 선택한 상황에서 "오프셋"의 사용자가되어 있지만, 나는 그것이 어떻게 작동하는지 완전히 확신하지 못한다는 것을 인정한다. 나는 나의 "실험적"발견의 일부에 솔직히 놀랐다. –