r-等高线图的解释(mgcv)



当我们使用具有各向同性平滑器的mgcv包绘制GAM模型时,我们得到的等高线图如下所示:

对于一个预测器,
  • x轴
  • y轴用于另一预测器
  • 主要是函数s(x1,x2((各向同性窒息(

假设在这个模型中,我们有许多其他各向同性平滑器,如:

y ~ s(x1, x2) + s(x3, x4) + s(x5, x6)

我的疑问是:在解释s(x1, x2)的等高线图时,其他各向同性平滑器会发生什么?他们是";固定在他们的中间位置";?我们可以单独解读s(x1, x2)图吗?

因为该模型在函数中是可加性的,所以您可以单独解释函数(单独的s()项(,但不一定是协变量对响应的单独影响。在您的情况下,每个双变量平滑器中的协变量之间没有重叠,因此您也可以将它们解释为协变量对响应的影响,与其他平滑器不同。

所有平滑函数通常都受到和到零的约束,以允许模型常数项(截距(成为可识别的参数。因此,每个图中的0线是模型常数项的值(在链接函数或线性预测器的尺度上(。

plot.gam(model)的输出中显示的图是部分效果图或部分图。如果你有兴趣理解该术语对作为该术语协变量函数的响应的影响,那么你基本上可以忽略其他术语。

如果模型中的其他项可能包括另一项中的一个或多个协变量,并且你想看看响应如何随着该项或协变量的变化而变化,那么你应该在你感兴趣的变量范围内从模型中预测,同时将其他变量保持在一些表示值,比如它们的均值或中值。

例如,如果你有

model <- gam(y ~ s(x, z) + s(x, v), data = foo, method = 'REML')

如果你只想知道响应是如何作为x的函数变化的,你可以将zv固定在代表值上,然后预测x:的一系列值

newdf <- with(foo, expand.grid(x = seq(min(x), max(x), length = 100),
z = median(z)
v = median(v)))
newdf <- cbind(newdf, fit = predict(model, newdata = newdf, type = 'response'))
plot(fit ~ x, data = newdf, type = 'l')

此外,请参阅mgcv包中的?vis.gam,作为准备这样的地块的一种方法,但它需要做艰苦的工作。

最新更新