Я использую это справочное руководство , которое использует пакет mgcv
в R для соответствия GAM изменяющимся во времени ковариатам.Код, который они предоставляют (скопированный ниже), точно выполняет то, что я хочу сделать, но я бы хотел сделать это на python, используя пакет pyGAM , если это возможно.
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пример выше, сплайн на время на возраст ).
Кто-нибудь, кто знаком с пакетом pyGAM или аналогичным пакетом в python, может сделать то же, что и приведенный выше фрагмент кода R?