glm (R)에서 적합도를 계산하는 방법


21

glm 기능을 실행하면 다음과 같은 결과가 나타납니다.

다음 값을 어떻게 해석 할 수 있습니까?

  • 널 이탈
  • 잔여 이탈
  • AIC

그들은 적합 함과 관련이 있습니까? 이 결과에서 R-square 또는 다른 측정 값과 같은 적합도를 계산할 수 있습니까?

Call:
glm(formula = tmpData$Y ~ tmpData$X1 + tmpData$X2 + tmpData$X3 + 
    as.numeric(tmpData$X4) + tmpData$X5 + tmpData$X6 + tmpData$X7)

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-0.52628  -0.24781  -0.02916   0.25581   0.48509  

Coefficients:
                     Estimate Std. Error  t value Pr(>|t|)    
(Intercept         -1.305e-01  1.391e-01   -0.938   0.3482    
tmpData$X1         -9.999e-01  1.059e-03 -944.580   <2e-16 ***
tmpData$X2         -1.001e+00  1.104e-03 -906.787   <2e-16 ***
tmpData$X3         -5.500e-03  3.220e-03   -1.708   0.0877 .  
tmpData$X4         -1.825e-05  2.716e-05   -0.672   0.5017    
tmpData$X5          1.000e+00  5.904e-03  169.423   <2e-16 ***
tmpData$X6          1.002e+00  1.452e-03  690.211   <2e-16 ***
tmpData$X7          6.128e-04  3.035e-04    2.019   0.0436 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

(Dispersion parameter for gaussian family taken to be 0.08496843)

    Null deviance: 109217.71  on 3006  degrees of freedom
Residual deviance:    254.82  on 2999  degrees of freedom
  (4970 observations deleted due to missingness)
AIC: 1129.8

Number of Fisher Scoring iterations: 2

나는 이것이 통계 통계 용어에 대한 정보를 찾지 않는 SO에서 마이그레이션되었음을 알고 있습니다. 여기에 훌륭한 자료가 있습니다! 예를 들어 AIC 와 같은 일부 용어 검색에서 배울 수있는 내용을 참조하십시오 . 이 작업을 수행하는 데 약간의 시간이 걸리면 질문에 완전히 대답하거나 적어도 더 구체적인 질문을하도록 안내해야합니다.
whuber

가우시안 glm과 관련이 없지만 이진 데이터에 적합한 bernoulli glm이있는 경우 잔차 이탈을 사용하여 이탈도 공식에서 데이터가 취소되므로 모델 적합을 평가할 수 없습니다. 이 경우 잔차 편차 의 차이 를 사용하여 두 모델을 비교할 수 있지만 잔차 편차 자체는 비교할 수 없습니다.
FisherDisinformation

답변:


15

glm(언어) R에서 모델 의 기본 오류 패밀리 는 Gaussian이므로 제출 된 코드를 사용하면 가 "적합성"의 척도로 널리 사용 되는 일반적인 선형 회귀를 얻게 됩니다. R 함수는 Nagelkerke-pseudo- " "대신 AIC (Akaike Information Criterion)를보고합니다. OLS 모델의 경우 Nagelkerke GOF 측정 값은 와 거의 동일합니다 .아르 자형2glm아르 자형2아르 자형2

아르 자형2=1(나는나는,영형이자형2)2/(나는나는,2)2/        .=.        1에스에스이자형/[영형이자형]에스에스/[영형에이]=아르 자형영형에스2

LHS에 대한 이러한 측정이 어떻게 해석되는지에 대한 논쟁이 있지만, 모델이 단순한 가우시안 / OLS 상황에서 벗어날 때만 가능합니다. 그러나 링크 기능이 "동일성"이 아닌 GLM에서는 여기에서와 같이 "제곱 오류"와 동일한 명확한 해석이 없을 수 있으므로 Akaike Information Criterion도보다 일반적인 것으로보고됩니다. GLM GOF 추첨 에는 분명한 승자가없는 다른 여러 경쟁자 가 있습니다 .

다른 오류 구조와 함께 GLM을 사용하려는 경우 GOF 측정 값을보고하지 않을 수 있습니다. 로지스틱 회귀 분석 (Cox & Snell 또는 Nagelkerke)에 대해 어떤 의사 측정 값이보고됩니까?아르 자형2


7
위 출력에서 ​​"Nagelkerke-pseudo-"R2 ""는 어디에 있습니까?
Tom

1
Tom의 질문을 반향하고 있습니다. 출력에서 Nagelkerke-pseudo- "R2"는 어디에 있거나 어떻게 찾을 수 있습니까? 값에 대한 자세한 정보를 찾고 있지 않지만 R의 출력에서 ​​찾을 수있는 위치입니다. 질문의 예제 출력에는 [0-1] 범위의 적합도 값처럼 보이는 것이 없으므로 혼란 스럽습니다.
케빈-복원 모니카

참조 stats.stackexchange.com/questions/8511/...stackoverflow.com/questions/6242818/...을 ... 나는 GLM 개체 또는 요약 출력 중 하나에있는 R ^ 2가 표시되지 않습니다. 내가 가장 좋아하는 모델링 환경이기 때문에 rms 요약 함수의 일반적인 출력을 생각했을 것입니다.
DWin

9

널 편차 및 잔차 편차를 사용하십시오.

1 - (Residual Deviance/Null Deviance)

당신이 그것에 대해 생각한다면, 당신은 당신의 모델에 대한 이탈도의 비율을 null로 측정하려고합니다. 단지 절편 (null deviance)보다 모델의 잔차 (residual deviance)가 훨씬 우수합니다. 이 비율이 작 으면 널에서 대부분의 편차를 '설명'하는 것입니다. 1을 빼면 R 제곱이됩니다.

귀하의 경우에는 .998을 얻습니다.

glm 대신 선형 모델 (lm)을 호출하면 요약에 R 제곱이 명시 적으로 표시되며 동일한 번호임을 알 수 있습니다.


5

이진 로지스틱 모델을 실행중인 경우 glm () 모델에서 Hosmer Lemeshow 적합도 테스트를 실행할 수도 있습니다. ResourceSelection 라이브러리 사용

library(ResourceSelection)

model <- glm(tmpData$Y ~ tmpData$X1 + tmpData$X2 + tmpData$X3 + 
           as.numeric(tmpData$X4) + tmpData$X5 + tmpData$X6 + tmpData$X7, family = binomial)

summary(model)
hoslem.test(model$y, model$fitted)

이것은 단지 (이진 종속 변수 모델 작동되는 것을 예를 들어, 영업 이익은 설정 한 경우 참고 비록 family = "binomial.. 영업 이익의 예는 선형 회귀
마태 복음

@Matthew 이것은 사실입니다, 미안합니다. 저는 이진 로지스틱 회귀 분석을 사용하고 있습니다. 요즘 제 뇌는 방금갔습니다hoslem.test()
dylanjm

이해할 수 있음 :) 게시물 수정을 제안했지만 R 코드도 업데이트하는 것을 잊었습니다. 명확성을 위해 변경을 원할 수도 있습니다.
Matthew
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.