用Python拟合生存模型来自聚合数据

3
我正在尝试在Python中拟合一些基本的生存模型。问题的关键是我有大量的观测值,因此我的数据已经分组--也就是说,每行不是一个单独的主体,而是具有相同属性(即相同的协变量、相同的观测时间、相同的观察结果)的主体数量的计数。似乎包要求每行只有一个观测以适应Cox模型。尝试使用scipy.stats.continuous_rv.fit拟合Weibull曲线时也会遇到同样的问题。
我已经在R中完成了这个问题,因为它们的生存回归包都似乎接受一个权重向量,允许这种类型的数据。当原始数据中只有数万个唯一行时,将我的聚合数据分解成数百万行似乎非常低效。如果您有任何指导意见,将不胜感激。

1
嗨John,欢迎来到CV。请参观帮助部分以了解这里的问题类型。就目前而言,我认为你关于在特定软件中拟合模型的问题更适合在StackOverflow上提问。 - Alexis
2个回答

1
我最终使用Python中的rpy2包来调用R。
importr('survival')
pandas2ri.activate()
coxph_ = r('coxph')
model = coxph_(Formula("Surv(time, outcome) ~ f1 + f2"), data=df, weights=df.num_in_group)

base = importr('base')
print(base.summary(model))

暂时还不错,虽然并不是很好。我惊讶于rpy2的表现如此之好,它具有非常好的pandas <-> data.frame互通性。帮助文档也相当不错(rpy2.readthedocs.io)。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接