我试图弄清楚如何控制 mgcv:gam 模型中的平滑参数。
我有一个二项式变量,我试图将其主要建模为固定网格上的 x 和 y 坐标的函数,以及其他一些影响较小的变量。在过去,我使用包 locfit 和 (x,y) 值构建了一个相当好的局部回归模型。
但是,我想尝试将其他变量合并到模型中,看起来广义加法模型 (GAM) 是一个很好的可能性。在查看了 gam 和 mgcv 包之后,它们都具有 GAM 功能,我选择了后者,因为邮件列表线程中的许多评论似乎都推荐它。一个缺点是它似乎不支持像 loess 或 locfit 这样的局部回归更平滑。
首先,我只是想尝试仅使用 (x,y) 坐标来近似复制 locfit 模型。我尝试了常规和张量产品平滑:
my.gam.te <- gam(z ~ te(x, y), family=binomial(logit), data=my.data, scale = -1)
my.gam.s <- gam(z ~ s(x, y), family=binomial(logit), data=my.data, scale = -1)
但是,从模型中绘制预测,与 locfit 模型相比,它们要平滑得多。所以我一直在尝试调整模型以使其不那么平滑。我试过调整参数 sp 和 k,但我不清楚它们如何影响平滑。在 locfit 中,nn 参数控制使用的邻域的跨度,较小的值允许较少的平滑和更多的“摆动”,这有助于捕获网格上二项式结果的概率快速变化的某些区域。我将如何设置 gam 模型以使其行为相似?