我正在通过使用
by
设置,使用 R 中的“mgcv”和连续“by”变量创建变系数 GAMM。但是,我很难找到“by”变量效果的参数估计。在此示例中,我们确定温度 t
对单蛋的空间依赖性影响(即温度对单蛋的线性影响如何随空间变化):
require(mgcv)
require(gamair)
data(sole)
b = gam(eggs ~ s(la,lo) + s(la,lo, by = t), data = sole)
然后我们可以根据预测变量
s(la,lo, by = t)
绘制 t
的预测效果:
pred <- predict(b, type = "terms", se.fit =T)
by.variable.prediction <- pred[[1]][,2]
plot(x= sole$t, y = by.variable.prediction)
但是,我找不到每个采样位置的“by”变量
t
参数估计的列表/函数。 summary()
、coef()
和 predict()
不会为您提供参数估计值。
如有任何帮助,我们将不胜感激!
因此,变量
t
的系数是 t
等于 1 时的值,以纬度和经度为条件。 因此,获得每个纬度和经度 t 的系数/参数估计值的一种方法是使用 t=1
的一系列纬度/经度组合构建自己的数据框,并在其上运行 Predict.gam (而不是在正如您所做的那样,数据用于拟合模型)。 所以:
preddf <- expand.grid(list(la=seq(min(sole$la), max(sole$la), length.out=100),
lo=seq(min(sole$lo), max(sole$lo), length.out=100),
t=1))
preddf$parameter <- predict(b, preddf, type="response")
然后,如果您想在空间上可视化该系数,您可以使用 ggplot2 将其绘制成图表。
library(ggplot2)
ggplot(preddf) +
geom_tile(aes(x=lo, y=la, fill=parameter))
@Amadou kone 我有一个类似的问题..您能否看看这个 SVC GAM 在存在因子变量并将系数转换为相对风险的情况下