R에서 glm-어떤 pvalue가 전체 모형의 적합도를 나타 냅니까?


10

R (일반 선형 모델)에서 glms를 실행 중입니다. glm에 대한 요약을 호출한다고해서 적어도 선형 모델이있는 곳이 아닌 전체 pmodel을 대표하는 pvalue를 대체하지는 않는다는 것을 알 때까지 pvalues를 알고 있다고 생각했습니다.

이것이 계수 테이블 상단에서 절편에 대한 p 값으로 제공되는지 궁금합니다. 따라서 다음 예에서는 Wind.speed..knots 및 canopy_density가 모델에 중요 할 수 있지만 모델 자체가 중요한지 어떻게 알 수 있습니까? 이 값을 신뢰할 수 있는지 어떻게 알 수 있습니까? (Intercept)에 대한 Pr (> | z |)이 모델의 중요성을 나타내는 지 궁금합니다. 이 모델은 중요한 사람들입니까 ??? 감사!

이항 군에서 F- 검정을 실행하는 것이 부적절하다는 오류 메시지가 표시되므로 F- 검정을 실행해도 pvalue가 제공되지 않습니다.

Call:
glm(formula = Empetrum_bin ~ Wind.speed..knots. + canopy_density, 
    family = binomial, data = CAIRNGORM)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.2327  -0.7167  -0.4302  -0.1855   2.3194  

Coefficients:
                   Estimate Std. Error z value Pr(>|z|)  
(Intercept)          1.8226     1.2030   1.515   0.1298  
Wind.speed..knots.  -0.5791     0.2628  -2.203   0.0276 *
canopy_density      -2.5733     1.1346  -2.268   0.0233 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 59.598  on 58  degrees of freedom
Residual deviance: 50.611  on 56  degrees of freedom
  (1 observation deleted due to missingness)
AIC: 56.611

1
이항 회귀 분석에서 올바르게 회상하면 일직선 회귀 분석에 사용 된 F- 검정과 유사한 로그 우도 검정 (일명 Log Likelihood test)을 사용해야합니다. 이것은 카이 제곱 분포에 맞는 -2 * (Null LL-포화 LL)입니다. 요약 출력에서 ​​모델 로그 가능성을 볼 수는 없지만 모델 오브젝트에 있지만 요약 출력에는 있지 않습니까?
SamPassmore

답변:


10

(59.598-50.611)의 점근 적 카이-제곱 테스트 (58-56) df의 카이-제곱 anova()테스트를 수행하거나 glm 객체에 사용할 수 있습니다 (테스트는 직접 수행하지는 않지만 최소한 ( 59.598-50.611) 및 (58-56)).

이것은 효과적으로 이탈도 분석입니다 .

다음은 수행 할 수있는 계산 종류입니다 (R과 함께 제공되는 다른 데이터 세트에서).

spray1=glm(count~spray,family=poisson,data=InsectSprays)  # full model
spray0=glm(count~1,family=poisson,data=InsectSprays)      # null model
with(anova(spray0,spray1),pchisq(Deviance,Df,lower.tail=FALSE)[2]) 

이탈에 기초한 점근 적 카이 제곱 통계량에 대한 p- 값을 제공합니다 .

또는 deviancedf.residual기능을 사용하여 다음을 수행 할 수 있습니다 .

 pchisq(deviance(spray0)-deviance(spray1),
     df.residual(spray0)-df.residual(spray1),
    lower.tail=FALSE)

-

많은 사람들이 전체 및 널 모델 AIC (또는 경우에 따라 관심 모델과 포화 모델 간의 비교) 간의 비교를 사용하여 해당 의미에서 모델이 널보다 나은지 여부를 알아낼 수 있습니다.

-

(Intercept)에 대한 Pr (> | z |)이 모델의 중요성을 나타내는 지 궁금합니다.

그렇지 않습니다. 실제로, 절편 p- 값은 일반적으로 직접적인 관심이 아닙니다.

분산 매개 변수가있는 모형을 고려하는 경우 일부 사람들이 점근 적 카이 제곱 대신 F- 검정을 수행한다고 주장하는 것을 보았습니다. 개별 계수에 대해 az 대신 t- 검정을 사용하는 사람들에 해당합니다. 작은 표본에서는 합리적인 근사값이 아닐 수 있습니다. 나는 GLM의 경우에 F가 반드시 적절한 근사치 (즉, 점근 적 결과보다 낫다)를 암시하는 유도 또는 시뮬레이션을 보지 못했다. 하나는 존재할지 모르지만 나는 그것을 보지 못했습니다.


2
당신은 또한 도서관 Anova(fit, type = 2)에서 실행할 수 있습니다car
Algorithmatic

3

모형이 객체 '적합'에 있다고 가정하면이 코드를 사용하여 이항 모형에 대한 로그-친화도 검정을 수행 할 수 있습니다. F- 검정이 적합하지 않지만 모형이 더 잘 예측되는지 테스트합니다. 무작위보다.

LLR = -2 * (fit$null.deviance - fit$deviance)

이것은 로그 우도 비율 검정의 공식입니다.

pchisq(LLR, 2, lower.tail = FALSE)

그리고 이것은 당신에게 p- 값을 줄 것입니다. 나는 그것이 올바른 df라는 것을 100 % 확신하지는 않습니다. 포화 된 모델에는 2가 있고 Null 모델에는없는 매개 변수 수의 차이라고 확신합니다. ergo df = 3-1 = 2입니다.


1

@SamPassmore가 언급했듯이, 편차 분석 (예 : 비슷한 것을 보려면 car :: Anova () 참조)을 사용하여 테스트 와 거의 같지만 분포 를 갖는 것을 얻을 수 있습니다. 이것은 우도 비 검정 (귀하의 모형과 널 모형의 비교)과 관련이 있지만 이러한 검정은 비정형 적으로 만 수행됩니다.χ 2Fχ2

또는 AIC 또는 BIC와 같은 관련 측정을 볼 수 있습니다.

참고 :이 유형의 모델의 경우 의미있는 값 을 정의하기 어려운 것과 같은 이유로 p- 값과 같은 것을 얻기가 어렵 습니다. 예를 들어 Doug Bates의 "sermon"을 참조하십시오 .R2

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