2017-10-09 14 views
0

저는 mgcv :: gam을 사용하여 음 이항 모델을 적합하게했으며, null 편차가 적합도에서 변경되었음을 알았습니다. nb 대신 negbin 패밀리 함수를 사용하면 문제가 해결됩니다.Null Deviance가 mgcv :: gam with families = nb에서 변경됨

다음 문제가 재현됩니다.

library(mgcv) 
set.seed(3) 
n <- 400 
dat <- gamSim(1, n=n) 
g <- exp(dat$f/5) 

## negative binomial data... 
dat$y <- rnbinom(g, size=3, mu=g) 
## known theta fit ... 

# Now fit 3 different models 
preds <- c("x1", "x2", "x3") 

for (i in 1:length(preds)){ 
    fo <- formula(paste("y ~ x0 +", preds[i])) 
    #print(fo) 

    m1 <- gam(fo, data=dat, family=nb(theta=3)) # nb 
    m2 <- gam(fo, data=dat, family=negbin(3)) # negbin 

    print(paste(m1$null.deviance, ", ", m2$null.deviance)) 
} 

실행하면 다음과 같이 표시됩니다. nb를 사용

[1] "820.724580736807 , 820.708788014928" 
[1] "820.747020281717 , 820.708788014928" 
[1] "820.708788454065 , 820.708788014928" 

null.deviance 는 820.71에서 820.75로 변한다.

이 경우 null 편차 만 약간 변경되지만, 다른 예에서는 상당히 변경됩니다.

무엇이 누락 되었습니까?

감사, '주의' '같은'확대 가족, mgcv도 같은 범주 순서로 가족, 계산하기 쉬운 널 일탈에 근사치를 사용에 대한 해리

답변

1

만 의존 모델에 따른 응답에 대한 위치 매개 변수의 평균. 근사값은 널 모델에 대한 위치 매개 변수가 고정 된 모델에서의 관측 특정 위치 매개 변수의 평균이 될 것입니다.

다음 릴리스 (1.8-23)에서 이것은 null 편차를 찾기 위해 단일 위치 매개 변수와의 편차를 직접 최소화함으로써 대체 될 것입니다.

사이먼 우드 (mgcv 관리자)