題:
Python中的生存分析工具
MarkSAlen
2010-08-16 17:10:30 UTC
view on stackexchange narkive permalink

我想知道是否有任何能夠執行生存分析的python軟件包。我一直在R中使用Survival軟件包,但想將我的工作移植到python。

使用Rpy從Python調用R ;-)
根據我的經驗,RPy(現在為2)很難安裝。
在過去30年中,用於生存分析的Python開發人員是否投入了Terry Therneau和其他人在R生存軟件包中投入的工作,包括廣泛的測試,這是極為令人懷疑的。生存程序包經過了我在統計資料中所見過的最嚴格的測試程序。
同意R的“生存”包受到大型社區的密切審查。
七 答案:
Cam.Davidson.Pilon
2013-09-08 08:59:15 UTC
view on stackexchange narkive permalink

檢查 生命線¹項目,以簡單,乾淨的方式在Python中實現生存模型,包括

  • 生存函數估計器
  • 累積危害曲線估計器
  • Cox比例風險回歸模型
  • Cox時變回歸模型
  • 參數AFT模型
  • Aalen的加性回歸模型
  • 多變量測試

好處:

  • 建立在熊貓之上
  • 易於安裝的純Python &
  • 內置繪圖功能
  • 簡單界面

此處提供了文檔:文檔和示例

示例用法:

 從生命線導入KaplanMeierFittersurvival_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()代碼> 

示例圖在內置的繪圖庫中:

enter image description here

  1. 免責聲明:我是主要作者。向我(個人資料中的電子郵件)發問關於生命線的問題或反饋。
  2. ol>
(+1)救生包的巧妙名稱。
csgillespie
2010-08-16 19:05:44 UTC
view on stackexchange narkive permalink

AFAIK,python中沒有任何生存分析包。正如上面的mbq註釋所示,唯一可用的路由是 Rpy

即使有可用的純python軟件包,我在使用它時也會非常小心,尤其是查看:

  • 它多久更新一次。
  • 它具有龐大的用戶群嗎?
  • 它具有先進的技術嗎?

R的好處之一就是這些標準軟件包可以進行大量的測試和用戶反饋。處理真實數據時,意外的邊緣情況可能會蔓延。

在過去的5年中,Python發生了許多變化(更好)。在[Lifelines](http://lifelines.readthedocs.org/)上[Cam.Davidson.Pilon的回答](http://stats.stackexchange.com/a/69484/6552)。
ars
2010-08-16 21:30:54 UTC
view on stackexchange narkive permalink

python-asurv是為天文學中的生存方法移植 asurv軟件的一項努力。也許值得關注,但是cgillespie對需要提防的事情是正確的:它還有一段 long 的路要走,而且開發似乎並不活躍。 (AFAICT僅存在一種方法甚至完成了一種方法,例如生物統計學家可能就缺少該軟件包。)

您可能最好從R到Python使用R中的 survival軟件包例如 RPy PypeR。我自己這樣做沒有任何問題。

Josh Hemann
2010-09-16 21:53:29 UTC
view on stackexchange narkive permalink

PyIMSL包含一些用於生存分析的例程。它是非商業用途的啤酒中的免費飲料,否則完全支持。從《統計用戶指南》中的文檔...

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

使用Cox比例風險模型propHazardsGenLin分析生存率和可靠性數據()

使用廣義線性模型來分析生存數據:survivalGlm()

使用各種參數模式的估計:survivingEstimates()

使用以下參數來估計可靠性危害函數:非參數方法:nonparamHazardRate()

產生人口和隊列壽命表:lifeTables()

Carl Smith
2012-07-24 06:13:39 UTC
view on stackexchange narkive permalink

您現在可以在 IPython中使用R,因此您可能希望研究使用具有R擴展名的IPython。

你能舉個例子嗎?我很好奇嘗試一下!
我相信您指的是[R magic](http://ipython.org/ipython-doc/dev/config/extensions/rmagic.html)接口(使用`rpy2`)。我也很想看看一個簡單的例子。 (據我了解,生存模型尚未在[statsmodels](http://statsmodels.sourceforge.net/devel/)中完全可用。)
我對statsmodels不太確定,但是您可以從github獲得帶有C,Octave和[R]示例的筆記本(https://github.com/ipython/ipython/blob/master/docs/examples/notebooks/ rmagic_extension.ipynb)擴展。您需要運行Notebook才能明顯地使用它們,但是我確定您可以在任何界面中使用相同的代碼。
@user603這是一個簡單的演示:http://nbviewer.ipython.org/4383682/;我相信,這依賴於相當新的iPython。
sebp
2018-10-07 22:39:53 UTC
view on stackexchange narkive permalink

我還想提到 scikit-survival,它提供了生存分析模型,可以輕鬆地與scikit-learn的工具結合使用(例如KFold交叉驗證)。

在撰寫本文時, scikit-survival包括

的實現
  • 累積危險函數的Nelson-Aalen估計器。
  • 生存函數的Kaplan-Meier估計器。
  • 帶有或不帶有彈性淨罰分的Cox比例風險模型。
  • 加速故障時間模型。
  • 生存支持向量機。
  • 梯度增強的Cox模型。
  • 用於績效評估的一致性指數。
scikit-survival非常適合事件預測時間相關的任務!
oDDsKooL
2013-06-25 20:59:05 UTC
view on stackexchange narkive permalink

除了通過 Ry 或等效的方式使用 R 之外, statsmodels(以前是 sicpy。)中還存在許多生存分析例程。 statsmodel )python庫。但是,它們在“沙盒”程序包中,這意味著它們不應該立即投入生產。

例如您已經在此處此處編碼了比例風險的Cox模型。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 2.0許可。
Loading...