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

col*_*lin 1 r beta-distribution gam mgcv

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

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

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

plot(data$y ~ fitted(mod), ylab='observed',xlab='fitted')
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

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

Way*_*yne 5

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

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

print (mod)

看看它是否显示“Family:Beta 回归”或“Family:Gaussian”

  • 汪,谢谢。就是这样。如果它能发出警告就好了! (2认同)