广义加性模型(GAM),交互作用和协变量
我一直在探索许多用于预测的工具,并且发现广义可加模型(GAM)具有最大的潜力。GAM非常棒!它们允许非常简洁地指定复杂的模型。但是,同样的简洁性使我有些困惑,特别是在GAM如何理解交互作用项和协变量方面。 考虑一个示例数据集(发布后的代码可重现),其中y是一个由几个高斯扰动的单调函数,外加一些噪声: 数据集具有一些预测变量: x:数据索引(1-100)。 w:辅助功能标记出y存在高斯的部分。w的值为1-20,其中x介于11到30之间,以及51到70之间。否则w为0。 w2:w + 1,因此没有0值。 R的mgcv软件包可轻松为这些数据指定许多可能的模型: 模型1和2非常直观。默认情况下,y仅根据索引值进行x平滑度预测会产生一些模糊正确的提示,但过于平滑。y仅根据w结果预测存在于的“平均高斯”模型中y,而没有其他w值的“感知”模型,所有其他数据点的值均为0。 模型3同时使用x和w作为1D平滑,产生了很好的拟合。模型4使用x并w在2D平滑中使用,也非常适合。这两个模型非常相似,尽管不完全相同。 模型5 x通过“ 模型” w。模型6则相反。mgcv的文档指出,“ by参数可确保平滑函数乘以[by参数中给定的协变量]”。那么5和6型不应该等效吗? 模型7和8使用预测变量之一作为线性项。这些对我来说很直观,因为它们只是在使用GLM对这些预测变量进行处理,然后将影响添加到模型的其余部分。 最后,模型9与模型5相同,除了模型x“通过” w2(为w + 1)进行了平滑处理。对我而言,奇怪的是,w2“ by”交互中缺少零会产生明显不同的效果。 所以,我的问题是: 3型和4型的规格之间有何区别?还有其他例子可以更清楚地说明差异吗? 确切地说,“通过”在这里做什么?我在伍德的书中读到的大部分内容以及该网站的内容都表明“ by”会产生乘法效应,但是我很难理解它的直觉。 为什么模型5和9之间会有如此显着的差异? 接下来是Reprex,用R编写。 library(magrittr) library(tidyverse) library(mgcv) set.seed(1222) data.ex <- tibble( x = 1:100, w = c(rep(0, 10), 1:20, rep(0, 20), 1:20, rep(0, 30)), w2 = …