我一直在阅读有关广义加法模型的信息。我一直在使用这些数据(这是来自Hastie 网站的数据的重新格式化版本),并在 R 中运行我的代码。这些数据主要包括患者是否患有冠心病(要建模的变量)和几个患者特征。为了这个问题,我感兴趣的两个是sbp(收缩压)和chol.ratio(两种胆固醇的比率)。我一直在尝试用逻辑回归对 chd 建模。
查看散点图sbp似乎与 logit 非线性相关,因此我使用样条对其进行建模,如下所示:
使用gam:
data1 <- read.csv("coris.csv", sep = ",", stringsAsFactors = F,
header = T)
require(gam)
gam.object <- gam(chd ~ s(sbp, 5) + chol.ratio, data = data1,
family = binomial(link = "logit"))
并使用Design包:
require(design)
rcs.object <- lrm(chd ~ rcs(sbp, 6) + chol.ratio, data = data1)
我可以使用 rcl() 包在 3d 中绘制后续模型,并且输出非常相似 - 使用 GAM 的模型是:

平面表示在一系列预测变量上的拟合模型,点是实际拟合模型,右侧的 z 轴是胆固醇比,左侧的 x 轴是收缩压,垂直轴是logit。
并且使用带有 rcs 的 lrm 的模型是:

那么 - 如果您使用 rcs() 指定样条线,那么使用 lrm 命令您实际上是否拟合了广义相加模型?如果不是,为什么不呢?这两种方法有何不同?