gam 模型拟合值中的 Beta 族值大于 1 且小于 0。这是怎么回事? (mgcv)

Beta family in gam model fitting values greater than 1 and less than 0. Whats going on? (mgcv)

我正在使用 R 中 mgcv 包的 gam 函数将 gam 拟合到区间 (0,1) 上的数据。我的模型代码如下所示:

mod <- gam(y ~ x1 + x2 + s(latitude, longitude), faimly=betar(link='logit'), data = data)

模型拟合得很好,但是当我绘制拟合值与观察值时,它看起来像这样:

plot(data$y ~ fitted(mod), ylab='observed',xlab='fitted')

很明显,该模型拟合的值大于 1 且小于 0。这不应该发生。它违反了贝塔分布的假设。当我在 R 的 betareg 包中对相同数据建模时,不会发生这种情况。可能导致这种差异的原因是什么?

mod <- gam(y ~ x1 + x2 + s(latitude, longitude), faimly=betar(link='logit'), data = data)

如果您使用 faimly(打字错误),gam 不会抱怨并继续执行高斯分布。尝试:

print (mod)

然后看看它是 "Family: Beta regression" 还是 "Family: Gaussian"