在gam中指定参数系数(mgcv)

时间:2019-10-24 17:50:52

标签: r gam mgcv

我知道可以使用sp参数在mgcv :: gam()中指定平滑参数。是否可以在同一模型中指定参数系数?

例如,如果我有

model1 <-gam(y~s(x1) + s(x2) + x3 + x4)

我想删除参数项,但保留model1的平滑参数,我会:

model2<-gam(y~s(x1) + s(x2), sp = model1$sp)

如何设置model3,以便在model3中使用来自model1的参数系数?

model3<-gam(y~s(x1) + s(x2) + x3, sp = model1$sp, ......)

的最终目标是能够确定每个变量所解释的偏差百分比。因此,要找到x1解释的偏差,计划是这样做的:

model_minusx1<-gam(y~s(x2) + x3 + x4, sp=model1$sp[2])

因此,由x1解释的百分比差异为

  (summary(model1)$dev.expl - summary(model_minusx1)$dev.expl)/summary(model1)$dev.expl 

但是,删除x1可能会导致参数项的系数发生变化,尤其是如果x1和参数项之间存在任何相关性/一致性。因此,理想情况下,我也希望保持参数系数不变。

0 个答案:

没有答案