Python'da Hayatta Kalma Analizi araçları [kapalı]


46

Hayatta kalma analizi yapabilen python için herhangi bir paket olup olmadığını merak ediyorum. Hayatta kalma paketini R'de kullanıyorum ancak çalışmamı pitona taşımak istiyorum.


11
Python ;-) 'den R'yi aramak için Rpy kullanın

2
Hayatta kalma analizi için Python geliştiricilerinin, Terry Therneau ve diğerlerinin son 30 yılda kapsamlı testler dahil olmak üzere R hayatta kalma paketine koydukları yerin yakınında herhangi bir yerde çaba göstermesi son derece şüphelidir. Hayatta kalma paketi istatistiklerde gördüğüm en zorlu test prosedürlerinden geçiyor.
Frank Harrell

2
Kabul. R'nin survivalpaketi büyük bir topluluk tarafından yakından inceleniyor.
Marc Claesen

RPy (şimdi 2) tecrübelerime göre çok acı verici.
Zhubarb

Yanıtlar:


21

AFAIK, python içinde herhangi bir hayatta kalma analiz paketi yoktur. Yukarıdaki mbq yorumlarında, mevcut olan tek yol Rpy .

Saf bir python paketi mevcut olsa bile, onu kullanırken çok dikkatli olurdum, özellikle şöyle bakardım:

  • Ne sıklıkla güncellenir.
  • Geniş bir kullanıcı tabanı var mı?
  • İleri teknikleri var mı?

R'nin avantajlarından biri, bu standart paketlerin büyük miktarda test ve kullanıcı geri bildirimi almasıdır. Gerçek verilerle ilgilenirken, beklenmeyen kenar durumları içeri girebilir.


6
Son 5 yılda Python için birçok şey değişti (daha iyisi için). Vide Cam.Davidson.Pilon tarafından cevap üzerine Lifelines .
Piotr Migdal

69

Aşağıdakiler dahil Python'da hayatta kalma modellerinin basit ve temiz bir uygulaması için yaşam çizgileri projesine göz atın

  • Hayatta kalma fonksiyonlarının tahmin edicileri
  • Birikimli tehlike eğrilerinin tahmin edicileri
  • Cox'un orantılı tehlike regresyon modeli
  • Cox'un zamanla değişen regresyon modeli
  • parametrik AFT modelleri
  • Aalen'in katkı regresyon modeli
  • Çok değişkenli test

Yararları:

  • pandalar üzerine inşa
  • saf Python ve kurulumu kolay
  • komplo fonksiyonlarında yerleşik
  • basit arayüz

Belgeler burada mevcuttur: belgeler ve örnekler

Örnek kullanım:

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()

Yerleşik çizim kütüphanesinden örnek grafikler:

görüntü tanımını buraya girin

  1. Yasal Uyarı: Asıl yazar benim. İlgili soru veya geribildirim için beni (profilindeki e-posta) ping kaderinde .

14
(+1) Hayatta kalma paketi için oldukça akıllıca bir isim.
Marc Claesen

8

python-asurv , astronomide hayatta kalma yöntemleri için asurv yazılımını taşıma çabasıdır . Dikkat etmene değer olabilir, ama cgillespie dikkat edilmesi gerekenler konusunda haklı: gitmek için uzun bir yol var ve gelişme aktif görünmüyor. (AFAICT sadece bir yöntem var ve hatta tamamlanmış olsa bile, paket biyostatisiyeciler için eksik olabilir.)

Python'dan R'ta hayatta kalma paketini RPy veya PypeR gibi bir şey kullanarak kullanmaktan muhtemelen daha iyi . Bunu kendim yaparken hiç problem yaşamadım.


7

PyIMSL , hayatta kalma analizleri için bir avuç rutini içerir. Ticari olmayan kullanım için Birada olduğu gibi ücretsizdir, aksi takdirde tamamen desteklenir. İstatistik Kullanıcı Kılavuzundaki belgelerden ...

Kaplan-Meier sağkalım olasılık tahminlerini hesaplar: kaplanMeierEstimates ()

Cox'un orantılı tehlike modelini kullanarak hayatta kalma ve güvenilirlik verilerini analiz eder: propHazardsGenLin ()

Genelleştirilmiş doğrusal model kullanarak sağkalım verilerini analiz eder: survivalGlm ()

Çeşitli parametrik modları kullanarak tahminler: survivalEstimates ()

Parametrik olmayan bir yaklaşım kullanarak güvenilirlik tehlikesi işlevini tahmin eder: nonparamHazardRate ()

Popülasyon ve kohort yaşam tabloları üretir: lifeTables ()


4

Artık R'yi IPython içinden kullanabilirsiniz , böylece IPython'u R uzantısı ile kullanmak isteyebilirsiniz.


2
Buna bir örnek verebilir misiniz? Denemek için merak ediyorum!
user603

Ben (ki kullanan ) R sihirli arayüzü bakın rpy2. Ben de hızlı bir örnek görmeyi çok isterim. (Hayatta kalma modellerinin henüz istatistik modellerinde henüz tam olarak erişilebilir olmadığını anladım .)
chl

İstatistik modellerinden pek emin değilim, ancak C, Octave ve R eklentilerinin örnekleriyle not defterlerini github'dan alabilirsiniz . Açıkça kullanmak için Not Defteri'ni çalıştırmanız gerekir, ancak aynı kodu herhangi bir arayüzde kullanabildiğinizden eminim.
Carl Smith

3
@ user603 İşte basit bir demo: nbviewer.ipython.org/4383682 ; Bu oldukça yeni iPython'a dayanıyor, inanıyorum.
12'de perişan

2

Ayrıca , hayatta kalma analizi için scikit-learn araçlarıyla kolayca birleştirilebilecek modeller sunan scikit-survival'den bahsetmek istiyorum (örn. KFold çapraz doğrulama).

Bu yazı itibariyle, scikit-survival uygulamalarını içerir.

  • Nelson-Aalen birikimli tehlike fonksiyonunun tahmincisi.
  • Kaplan-Meier hayatta kalma fonksiyonunun tahmincisi.
  • Cox'un orantısal tehlike modeli, elastik net cezası olan ve olmayan.
  • Hızlandırılmış arıza zaman modeli.
  • Survival Destek Vektör Makinası.
  • Gradyan Artırılmış Cox Modeli.
  • performans değerlendirmesi için uygunluk indeksi.

Scikit-survival olay-olay tahmini ile ilgili görevler için mükemmel!
Cam.Davidson.Pilon

1

Dışında kullanmasını Ryoluyla RPyveya eşdeğeri içinde sağkalım analizi rutin bir dizi vardır statsmodels (eski sicpy.statsmodel) piton kütüphanesi. Yine de "sandbox" paketindeler, yani şu anda üretime hazır olmaları gerekmiyor.

Örneğin, burada kodlanan orantılı tehlike için Cox modeline sahipsiniz .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.