Vraag:
Overlevingsanalysetools in Python
MarkSAlen
2010-08-16 17:10:30 UTC
view on stackexchange narkive permalink

Ik vraag me af of er pakketten voor python zijn die overlevingsanalyses kunnen uitvoeren. Ik heb het overlevingspakket in R gebruikt, maar zou mijn werk graag naar Python willen porten.

Gebruik Rpy om R vanuit Python aan te roepen ;-)
RPy (nu 2) is in mijn ervaring erg pijnlijk om te installeren.
Het is buitengewoon twijfelachtig dat de Python-ontwikkelaars voor overlevingsanalyse ergens in de buurt hebben gestoken van wat Terry Therneau en anderen de afgelopen 30 jaar in het R-overlevingspakket hebben gestopt, inclusief uitgebreide tests.Het overlevingspakket ondergaat de meest rigoureuze testprocedures die ik in de statistieken heb gezien.
Akkoord.Het 'survival'-pakket van R wordt nauwlettend in de gaten gehouden door een grote gemeenschap.
Zeven antwoorden:
#1
+71
Cam.Davidson.Pilon
2013-09-08 08:59:15 UTC
view on stackexchange narkive permalink

Bekijk het levenslijnen ¹ -project voor een eenvoudige en schone implementatie van overlevingsmodellen in Python, inclusief

  • schatters van overlevingsfuncties
  • Schatters van cumulatieve gevarencurves
  • Cox's proportionele gevarenregressiemodel
  • Cox's tijdvariabele regressiemodel
  • parametrische AFT-modellen
  • Aalen's additieve regressiemodel
  • Multivariate testen

Voordelen:

  • gebouwd bovenop panda's
  • pure Python & eenvoudig te installeren
  • ingebouwde plotfuncties
  • eenvoudige interface

Documentatie is hier beschikbaar: documentatie en voorbeelden

Voorbeeldgebruik:

  van levenslijnen import 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 ()  

Voorbeeldplots fro m de ingebouwde plotbibliotheek:

enter image description here

  1. Disclaimer: ik ben de hoofdauteur. Ping me (e-mail in profiel) voor vragen of feedback over lifelines.
(+1) Behoorlijk slimme naam voor een survivalpakket.
#2
+22
csgillespie
2010-08-16 19:05:44 UTC
view on stackexchange narkive permalink

AFAIK, er zijn geen overlevingsanalysepakketten in Python. Zoals mbq hierboven opmerkt, is de enige beschikbare route naar Rpy.

Zelfs als er een puur python-pakket beschikbaar zou zijn, zou ik heel voorzichtig zijn bij het gebruik ervan, in het bijzonder zou ik kijken naar:

  • Hoe vaak wordt het bijgewerkt.
  • Heeft het een groot gebruikersbestand?
  • Heeft het geavanceerde technieken?

Een van de voordelen van R is dat deze standaard pakketten krijgen een enorme hoeveelheid testen en gebruikersfeedback. Bij het omgaan met echte gegevens kunnen onverwachte randgevallen binnensluipen.

In de afgelopen 5 jaar zijn er veel dingen veranderd (ten goede) voor Python.Vide [antwoord door Cam.Davidson.Pilon] (http://stats.stackexchange.com/a/69484/6552) op [Lifelines] (http://lifelines.readthedocs.org/).
#3
+9
ars
2010-08-16 21:30:54 UTC
view on stackexchange narkive permalink

python-asurv is een poging om de asurv -software te porten voor overlevingsmethoden in de astronomie. Misschien is het de moeite waard om in de gaten te houden, maar cgillespie heeft gelijk als het gaat om de dingen om op te letten: het heeft een lange weg te gaan en de ontwikkeling lijkt niet actief. (AFAICT slechts één methode bestaat en zelfs voltooid, het pakket ontbreekt misschien voor bijvoorbeeld biostatistici.)

Je kunt waarschijnlijk beter het survival -pakket in R van Python tot en met zoiets als RPy of PypeR. Ik heb hier zelf geen problemen mee gehad.

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

PyIMSL bevat een handvol routines voor overlevingsanalyses. Het is gratis als in bier voor niet-commercieel gebruik, anders wordt het volledig ondersteund. Uit de documentatie in de gebruikershandleiding voor statistieken ...

Berekent Kaplan-Meier-schattingen van overlevingskansen: kaplanMeierEstimates ()

Analyseert overlevings- en betrouwbaarheidsgegevens met behulp van het proportionele gevarenmodel van Cox: propHazardsGenLin ()

Analyseert overlevingsgegevens met behulp van het gegeneraliseerde lineaire model: survivalGlm ()

Schattingen met behulp van verschillende parametrische modi: survivalEstimates ()

Schat een betrouwbaarheidsgevaarfunctie anonparametrische benadering: nonparamHazardRate ()

Produceert populatie- en cohortoverlevingstabellen: lifeTables ()

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

U kunt nu R gebruiken vanuit IPython, dus u wilt misschien kijken of u IPython met de R-extensie wilt gebruiken.

Kunt u hier een voorbeeld van geven? Ik ben benieuwd om het uit te proberen!
Ik geloof dat je verwijst naar de [R magic] (http://ipython.org/ipython-doc/dev/config/extensions/rmagic.html) interface (die gebruik maakt van `rpy2`). Ik zou ook graag een snel voorbeeld willen zien. (Ik heb begrepen dat overlevingsmodellen nog niet volledig beschikbaar zijn in [statsmodels] (http://statsmodels.sourceforge.net/devel/).)
Ik ben niet zo zeker van statsmodels, maar je kunt notebooks krijgen van github met voorbeelden van de C, Octave en [R] (https://github.com/ipython/ipython/blob/master/docs/examples/notebooks/ rmagic_extension.ipynb) extensies. U moet de Notebook uitvoeren om ze duidelijk te gebruiken, maar ik weet zeker dat u dezelfde code in elke interface kunt gebruiken.
@user603 Hier is een eenvoudige demo: http://nbviewer.ipython.org/4383682/; dit is volgens mij gebaseerd op vrij recent iPython.
#6
+3
sebp
2018-10-07 22:39:53 UTC
view on stackexchange narkive permalink

Ik wil ook scikit-survival noemen, dat modellen biedt voor overlevingsanalyse die gemakkelijk kunnen worden gecombineerd met tools van scikit-learn (bijvoorbeeld KFold-kruisvalidatie).

Op het moment van schrijven bevat scikit-survival implementaties van

  • Nelson-Aalen-schatter van cumulatieve gevarenfunctie.
  • Kaplan-Meier-schatter van overlevingsfunctie.
  • Cox's proportionele gevaarsmodel met en zonder elastische netto straf.
  • Versneld tijdmodel voor mislukking.
  • Overlevingsondersteuning Vector Machine.
  • Verloop versterkt Cox-model.
  • concordantie-index voor prestatie-evaluatie.
scikit-survival is uitstekend geschikt voor taken die verband houden met tijd-tot-gebeurtenisvoorspelling!
#7
+1
oDDsKooL
2013-06-25 20:59:05 UTC
view on stackexchange narkive permalink

Naast het gebruik van R tot en met RPy of gelijkwaardig, zijn er een aantal overlevingsanalyseroutines in de statsmodels (voorheen sicpy. statsmodel ) python-bibliotheek. Ze zitten echter in het "sandbox" -pakket, wat betekent dat ze op dit moment niet klaar moeten zijn voor productie.

Bijv. u heeft het Cox-model van proportioneel gevaar hier gecodeerd.



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 2.0-licentie waaronder het wordt gedistribueerd.
Loading...