Ich frage mich, ob es Pakete für Python gibt, die Überlebensanalysen durchführen können. Ich habe das Überlebenspaket in R verwendet, möchte aber meine Arbeit auf Python portieren.
Es ist äußerst zweifelhaft, dass die Python-Entwickler für die Überlebensanalyse in der Nähe dessen gearbeitet haben, was Terry Therneau und andere in den letzten 30 Jahren in das R-Überlebenspaket gesteckt haben, einschließlich umfangreicher Tests. Das Überlebenspaket wird den strengsten Testverfahren unterzogen, die ich in der Statistik gesehen habe.
Frank Harrell
2
Einverstanden. Das survivalPaket von R wird von einer großen Community genauestens geprüft.
Marc Claesen
RPy (2 now) ist meiner Erfahrung nach sehr schmerzhaft zu installieren.
Zhubarb
Antworten:
21
AFAIK, es gibt keine Überlebensanalyse-Pakete in Python. Wie mbq oben ausführt, ist die einzige Route, die verfügbar ist, Rpy .
Selbst wenn ein reines Python-Paket verfügbar wäre, würde ich es sehr vorsichtig verwenden, insbesondere würde ich Folgendes betrachten:
Wie oft wird es aktualisiert?
Hat es eine große Nutzerbasis?
Hat es fortgeschrittene Techniken?
Einer der Vorteile von R ist, dass diese Standardpakete eine enorme Menge an Tests und Benutzerrückmeldungen erhalten. Beim Umgang mit realen Daten können sich unerwartete Randfälle einschleichen.
Schauen Sie sich das Projekt Lifelines¹ an , um eine einfache und übersichtliche Implementierung von Überlebensmodellen in Python zu erhalten, einschließlich
(+1) Ziemlich kluger Name für ein Überlebenspaket.
Marc Claesen
8
python-asurv ist ein Versuch, die asurv- Software für Überlebensmethoden in der Astronomie zu portieren . Es könnte sich lohnen, ein Auge darauf zu werfen, aber cgillespie hat Recht mit den Dingen, auf die man achten muss: Es ist noch ein langer Weg, und die Entwicklung scheint nicht aktiv zu sein. (AFAICT gibt es nur eine Methode, die sogar vollständig ist. Das Paket kann beispielsweise für Biostatisten fehlen.)
Sie sind wahrscheinlich besser dran, das Überlebenspaket in R von Python über RPy oder PypeR zu verwenden . Ich hatte selbst keine Probleme damit.
PyIMSL enthält eine Handvoll Routinen für Überlebensanalysen. Es ist kostenlos wie in Beer für nicht-kommerzielle Zwecke, ansonsten wird es voll unterstützt. Aus der Dokumentation im Statistics User Guide ...
Berechnet Kaplan-Meier-Schätzungen der Überlebenswahrscheinlichkeiten: kaplanMeierEstimates ()
Analysiert Überlebens- und Zuverlässigkeitsdaten mit dem proportionalen Gefährdungsmodell von Cox: propHazardsGenLin ()
Analysiert Überlebensdaten mit dem verallgemeinerten linearen Modell: survivalGlm ()
Schätzungen mit verschiedenen parametrischen Modi: survivalEstimates ()
Schätzt eine Zuverlässigkeitsrisiko-Funktion mithilfe eines nichtparametrischen Ansatzes: nonparamHazardRate ()
Produziert Populations- und Kohorten-Lebenstabellen: lifeTables ()
Können Sie ein Beispiel dafür geben? Ich bin gespannt darauf, es auszuprobieren!
User603
Ich glaube, Sie beziehen sich auf R Magic Interface (welches verwendet rpy2). Auch ich würde gerne ein kurzes Beispiel sehen. (Meines Wissens sind Überlebensmodelle in Statistikmodellen noch nicht vollständig verfügbar .)
chl
Ich bin mir bei den Statistikmodellen nicht sicher, aber Sie können Notebooks von Github mit Beispielen für die Erweiterungen C, Octave und R erhalten . Sie müssen das Notizbuch ausführen, um sie offensichtlich zu verwenden, aber ich bin sicher, dass Sie denselben Code in jeder Schnittstelle verwenden können.
Carl Smith
3
@ user603 Hier ist eine einfache Demo: nbviewer.ipython.org/4383682 ; Ich glaube, dies basiert auf relativ neuem iPython.
Shabbychef
2
Ich möchte auch scikit-survival erwähnen , das Modelle für die Überlebensanalyse bereitstellt, die leicht mit Werkzeugen von scikit-learn kombiniert werden können (z. B. KFold-Kreuzvalidierung).
scikit-survival eignet sich hervorragend für Aufgaben im Zusammenhang mit der Vorhersage von Ereignissen!
Cam.Davidson.Pilon
1
Abgesehen von der Verwendung von RThrough - RPyoder Äquivalenten gibt es in den Statistikmodellen eine Reihe von Überlebensanalyseroutinen (frühersicpy.statsmodel ). Sie befinden sich jedoch im "Sandbox" -Paket, was bedeutet, dass sie derzeit nicht für die Produktion bereit sind.
ZB haben Sie das Cox-Modell der proportionalen Gefahr, das hier kodiert wird .
survival
Paket von R wird von einer großen Community genauestens geprüft.Antworten:
AFAIK, es gibt keine Überlebensanalyse-Pakete in Python. Wie mbq oben ausführt, ist die einzige Route, die verfügbar ist, Rpy .
Selbst wenn ein reines Python-Paket verfügbar wäre, würde ich es sehr vorsichtig verwenden, insbesondere würde ich Folgendes betrachten:
Einer der Vorteile von R ist, dass diese Standardpakete eine enorme Menge an Tests und Benutzerrückmeldungen erhalten. Beim Umgang mit realen Daten können sich unerwartete Randfälle einschleichen.
quelle
Schauen Sie sich das Projekt Lifelines¹ an , um eine einfache und übersichtliche Implementierung von Überlebensmodellen in Python zu erhalten, einschließlich
Leistungen:
Die Dokumentation finden Sie hier: Dokumentation und Beispiele
Anwendungsbeispiel:
Beispieldiagramme aus der integrierten Diagrammbibliothek:
quelle
python-asurv ist ein Versuch, die asurv- Software für Überlebensmethoden in der Astronomie zu portieren . Es könnte sich lohnen, ein Auge darauf zu werfen, aber cgillespie hat Recht mit den Dingen, auf die man achten muss: Es ist noch ein langer Weg, und die Entwicklung scheint nicht aktiv zu sein. (AFAICT gibt es nur eine Methode, die sogar vollständig ist. Das Paket kann beispielsweise für Biostatisten fehlen.)
Sie sind wahrscheinlich besser dran, das Überlebenspaket in R von Python über RPy oder PypeR zu verwenden . Ich hatte selbst keine Probleme damit.
quelle
PyIMSL enthält eine Handvoll Routinen für Überlebensanalysen. Es ist kostenlos wie in Beer für nicht-kommerzielle Zwecke, ansonsten wird es voll unterstützt. Aus der Dokumentation im Statistics User Guide ...
Berechnet Kaplan-Meier-Schätzungen der Überlebenswahrscheinlichkeiten: kaplanMeierEstimates ()
Analysiert Überlebens- und Zuverlässigkeitsdaten mit dem proportionalen Gefährdungsmodell von Cox: propHazardsGenLin ()
Analysiert Überlebensdaten mit dem verallgemeinerten linearen Modell: survivalGlm ()
Schätzungen mit verschiedenen parametrischen Modi: survivalEstimates ()
Schätzt eine Zuverlässigkeitsrisiko-Funktion mithilfe eines nichtparametrischen Ansatzes: nonparamHazardRate ()
Produziert Populations- und Kohorten-Lebenstabellen: lifeTables ()
quelle
Sie können R jetzt in IPython verwenden . Unter Umständen möchten Sie IPython mit der Erweiterung R verwenden.
quelle
rpy2
). Auch ich würde gerne ein kurzes Beispiel sehen. (Meines Wissens sind Überlebensmodelle in Statistikmodellen noch nicht vollständig verfügbar .)Ich möchte auch scikit-survival erwähnen , das Modelle für die Überlebensanalyse bereitstellt, die leicht mit Werkzeugen von scikit-learn kombiniert werden können (z. B. KFold-Kreuzvalidierung).
Zum jetzigen Zeitpunkt umfasst Scikit-Survival Implementierungen von
quelle
Abgesehen von der Verwendung von
R
Through -RPy
oder Äquivalenten gibt es in den Statistikmodellen eine Reihe von Überlebensanalyseroutinen (frühersicpy.statsmodel
). Sie befinden sich jedoch im "Sandbox" -Paket, was bedeutet, dass sie derzeit nicht für die Produktion bereit sind.ZB haben Sie das Cox-Modell der proportionalen Gefahr, das hier kodiert wird .
quelle