私はmgcv :: gamを使って負の二項モデルに当てはまり、ヌルデバランスがフィットからフィットに変わることに気付きました。 nb
の代わりにnegbin
ファミリーファンクションを使用すると、問題は解決します。mgcv :: gamからfamily = 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))
}
これを実行すると、次のような結果が得られます。
[1] "820.724580736807 , 820.708788014928"
[1] "820.747020281717 , 820.708788014928"
[1] "820.708788454065 , 820.708788014928"
nb
を用いからnull.devianceは820.71から820.75まで変化します。
この場合、ヌルの偏差はわずかに変化しますが、別の例ではかなり変化します。
私には何が欠けていますか?
おかげで、NB 『のような』 `拡張家族のため ハリー