Python中的生存分析工具

机器算法验证 Python 生存 死亡
2022-02-07 09:44:57

我想知道是否有任何能够执行生存分析的python包。我一直在使用 R 中的生存包,但想将我的工作移植到 python。

4个回答

查看生命线¹ 项目,在 Python 中简单而干净地实现生存模型,包括

  • 生存函数的估计器
  • 累积风险曲线的估计量
  • Cox 的比例风险回归模型
  • Cox 的时变回归模型
  • 参数 AFT 模型
  • Aalen 的加性回归模型
  • 多变量测试

好处:

  • 建立在 Pandas 之上
  • 纯 Python 且易于安装
  • 内置绘图功能
  • 简单的界面

此处提供文档:文档和示例

示例用法:

from lifelines import KaplanMeierFitter

survival_times = np.array([0., 3., 4.5, 10., 1.])
events = np.array([False, True, True, False, True])

kmf = KaplanMeierFitter()
kmf.fit(survival_times, event_observed=events)

print(kmf.survival_function_)
print(kmf.median_)
kmf.plot()

内置绘图库中的示例绘图:

在此处输入图像描述

  1. 免责声明:我是主要作者。联系我(个人资料中的电子邮件)以获取有关生命线的问题或反馈。

AFAIK,python 中没有任何生存分析包。正如上面的 mbq 评论,唯一可用的路线是Rpy

即使有一个纯 python 包可用,我也会非常小心地使用它,特别是我会看:

  • 它多久更新一次。
  • 它有庞大的用户群吗?
  • 它有先进的技术吗?

R 的好处之一是这些标准包得到了大量的测试和用户反馈。在处理真实数据时,可能会出现意想不到的边缘情况。

python-asurv是为天文学中的生存方法移植asurv软件的努力。可能值得关注,但 cgillespie 对需要注意的事情是正确的:它还有很的路要走,而且开发似乎并不活跃。(AFAICT 只有一种方法存在,甚至已经完成,可能缺少生物统计学家的软件包。)

您可能最好通过RPyPypeR 之类的方式在 Python 中使用 R中的生存包。我自己这样做没有任何问题。

PyIMSL包含一些用于生存分析的例程。非商业用途与啤酒一样免费,否则完全支持。从统计用户指南中的文档...

计算生存概率的 Kaplan-Meier 估计值:kaplanMeierEstimates()

使用 Cox 的比例风险模型分析生存和可靠性数据:propHazardsGenLin()

使用广义线性模型分析生存数据:survivalGlm()

使用各种参数模式进行估计:survivalEstimates()

使用非参数方法估计可靠性风险函数:nonparamHazardRate()

生成人口和队列生命表:lifeTables()