我试图弄清楚如何在mgcv:gam模型中控制平滑参数。
我有一个二项式变量,我想主要将其建模为固定网格上x和y坐标的函数,以及一些其他影响较小的变量。过去,我使用locfit包和(x,y)值构建了一个相当不错的局部回归模型。
但是,我想尝试将其他变量合并到模型中,看起来通用加性模型(GAM)很有可能。看完gam和mgcv软件包后,它们都具有GAM功能,我选择了后者,因为邮件列表线程中的许多注释似乎都推荐它。缺点是它似乎不支持像黄土或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模型以使其表现相似?