我正在使用此reference guide,它利用R中的mgcv
包来使GAM具有随时间变化的协变量。他们提供的代码(在下面复制)完全可以完成我想做的事情,但是我想尽可能地使用pyGAM package在python中完成它。
library(mgcv, quietly = T)
spline_fit <- gam(
formula = Y ~
# cr is cubic spline with k knots
s(t, bs = "cr", k = 3, by = age) +
s(t, bs = "cr", k = 3, by = edema) +
s(t, bs = "cr", k = 5, by = log(albumin)) +
s(t, bs = "cr", k = 5, by = log(protime)) +
s(t, bs = "cr", k = 5, by = log(bili)),
family = binomial, data = pbc2_big_frame)
pyGAM上的示例显示了这一点:
from pygam import LinearGAM, s, f
gam = LinearGAM(s(0) + s(1)).fit(X, y)
它使样条项适合特征0和1。但是,我没有看到如何通过另一个特征使样条项适合单个特征(例如,在上面的R示例中,时间上的样条( age )。
任何熟悉pyGAM软件包或python中类似软件包的人都可以做上面的R代码段吗?