저는 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도 같은 범주 순서로 가족, 계산하기 쉬운 널 일탈에 근사치를 사용에 대한 해리