R 中的 GAM:计算单个项的贡献

GAMs in R: calculating the contribution of individual terms

假设我在 R 中使用 mgcv 包的 gam 函数计算了一个 GAM。我可以获得给定数据集的模型预测值,如下所示:

# Load data
data("mtcars")

# Fit model
g <- gam(mpg ~ s(disp, k = 3) + s(hp, k = 3), data = mtcars)

# Get values for given data set
predict(g)

现在,我感兴趣的是每个预测变量对每个预测值的贡献有多大。因此,对于数据集中的第一辆车 Mazda RX4,mpg 的预测值中有多少是由于 disp 的项,有多少是由于 hp 的项。有没有一种简单的方法可以从模型中提取这些信息?

答案是predict(g, type = "terms")