Je me demande s’il existe des packages pour Python capables d’effectuer une analyse de survie. J'utilisais le paquet de survie dans R mais j'aimerais porter mon travail en python.
Il est extrêmement douteux que les développeurs Python pour l'analyse de la survie aient déployé des efforts similaires à ce que Terry Therneau et d'autres ont mis dans le programme de survie de R au cours des 30 dernières années, y compris des tests approfondis. Le paquet de survie subit les procédures de test les plus rigoureuses que j'ai vues dans les statistiques.
Frank Harrell
2
D'accord. Le survivalpaquet de R est examiné de près par une grande communauté.
Marc Claesen
RPy (2 maintenant) est très pénible à installer dans mon expérience.
Zhubarb
Réponses:
21
Autant que je sache, il n’existe aucun logiciel d’analyse de survie en python. Comme le commente mbq ci-dessus, le seul itinéraire disponible serait celui de Rpy .
Même si un paquet pur en python était disponible, je le ferais avec une grande prudence, en particulier:
À quelle fréquence est-il mis à jour?
At-il une base d'utilisateurs importante?
At-il des techniques avancées?
L'un des avantages de R est que ces packages standard font l'objet de nombreux tests et commentaires de la part des utilisateurs. Lorsqu’il s’agit de données réelles, des cas inattendus peuvent se glisser.
Exemples de graphiques de la bibliothèque de graphiques intégrée:
Disclaimer: Je suis l'auteur principal. Envoyez-moi une requête ping (email dans le profil) pour des questions ou des commentaires sur les lignes de vie .
(+1) Nom assez astucieux pour un paquet de survie.
Marc Claesen
8
python-asurv est un effort pour porter le logiciel asurv pour les méthodes de survie en astronomie. Cgillespie a raison sur tous les points à surveiller: le chemin à parcourir est long et le développement ne semble pas être actif. (AFAICT n’existe qu’une seule méthode, elle est même terminée, l’ensemble peut manquer pour les biostatisticiens.)
Vous feriez probablement mieux d'utiliser le package de survie en R de Python via quelque chose comme RPy ou PypeR . Je n'ai eu aucun problème à le faire moi-même.
PyIMSL contient une poignée de routines pour les analyses de survie. C'est gratuit comme dans la bière pour une utilisation non commerciale, entièrement pris en charge autrement. De la documentation dans le Guide de l'utilisateur de la statistique ...
Calcule des estimations de Kaplan-Meier des probabilités de survie: kaplanMeierEstimates ()
Analyse les données de survie et de fiabilité à l'aide du modèle des risques proportionnels de Cox: propHazardsGenLin ()
Analyse les données de survie à l'aide du modèle linéaire généralisé: survivalGlm ()
Estimations à l'aide de divers modes paramétriques: survivalEstimates ()
Estime une fonction de risque de fiabilité utilisant une approche non paramétrique: nonparamHazardRate ()
Produit des tables de mortalité des populations et des cohortes: lifeTables ()
Pouvez-vous donner un exemple de cela? Je suis curieux de l'essayer!
user603
Je crois que vous faites référence à l' interface magique R (qui utilise rpy2). Moi aussi j'aimerais voir un exemple rapide. (D'après ce que j'ai compris, les modèles de survie ne sont pas encore totalement disponibles dans les modèles de statistiques .)
chl
Je ne suis pas trop sûr des statsmodels, mais vous pouvez obtenir des cahiers de github avec des exemples d' extensions C, Octave et R. Vous devez évidemment utiliser le Bloc-notes pour les utiliser, mais je suis sûr que vous pouvez utiliser le même code dans n'importe quelle interface.
Carl Smith
3
@ user603 Voici une démonstration simple: nbviewer.ipython.org/4383682 ; cela repose sur un iPython assez récent, je crois.
Shabbychef
2
Je souhaite également mentionner scikit-survival , qui fournit des modèles d'analyse de survie pouvant être facilement combinés avec des outils de scikit-learn (par exemple, la validation croisée KFold).
À la date de rédaction de ce document, scikit-survival inclut des implémentations de
Estimateur Nelson-Aalen de la fonction de risque cumulatif.
Estimateur de Kaplan-Meier de la fonction de survie.
Modèle de risque proportionnel de Cox avec et sans pénalité nette élastique.
Modèle de temps de défaillance accéléré.
Machine à vecteurs de soutien à la survie.
Modèle de Cox renforcé par gradient.
indice de concordance pour l'évaluation de la performance.
La survie de scikit est excellente pour les tâches liées à la prévision du temps avant événement!
Cam.Davidson.Pilon
1
Outre l'utilisation de Rthrough RPyou l'équivalent, il existe un certain nombre de routines d'analyse de survie dans la bibliothèque statsmodels (anciennement sicpy.statsmodel) python. Ils sont cependant dans le paquet "sandbox", ce qui signifie qu'ils ne sont pas censés être prêts pour la production pour le moment.
Par exemple, vous avez le modèle de Cox du risque proportionnel codé ici .
survival
paquet de R est examiné de près par une grande communauté.Réponses:
Autant que je sache, il n’existe aucun logiciel d’analyse de survie en python. Comme le commente mbq ci-dessus, le seul itinéraire disponible serait celui de Rpy .
Même si un paquet pur en python était disponible, je le ferais avec une grande prudence, en particulier:
L'un des avantages de R est que ces packages standard font l'objet de nombreux tests et commentaires de la part des utilisateurs. Lorsqu’il s’agit de données réelles, des cas inattendus peuvent se glisser.
la source
Découvrez le projet Llines ¹ pour une implémentation simple et propre des modèles de survie en Python, y compris
Avantages:
La documentation est disponible ici: documentation et exemples
Exemple d'utilisation:
Exemples de graphiques de la bibliothèque de graphiques intégrée:
la source
python-asurv est un effort pour porter le logiciel asurv pour les méthodes de survie en astronomie. Cgillespie a raison sur tous les points à surveiller: le chemin à parcourir est long et le développement ne semble pas être actif. (AFAICT n’existe qu’une seule méthode, elle est même terminée, l’ensemble peut manquer pour les biostatisticiens.)
Vous feriez probablement mieux d'utiliser le package de survie en R de Python via quelque chose comme RPy ou PypeR . Je n'ai eu aucun problème à le faire moi-même.
la source
PyIMSL contient une poignée de routines pour les analyses de survie. C'est gratuit comme dans la bière pour une utilisation non commerciale, entièrement pris en charge autrement. De la documentation dans le Guide de l'utilisateur de la statistique ...
Calcule des estimations de Kaplan-Meier des probabilités de survie: kaplanMeierEstimates ()
Analyse les données de survie et de fiabilité à l'aide du modèle des risques proportionnels de Cox: propHazardsGenLin ()
Analyse les données de survie à l'aide du modèle linéaire généralisé: survivalGlm ()
Estimations à l'aide de divers modes paramétriques: survivalEstimates ()
Estime une fonction de risque de fiabilité utilisant une approche non paramétrique: nonparamHazardRate ()
Produit des tables de mortalité des populations et des cohortes: lifeTables ()
la source
Vous pouvez maintenant utiliser R depuis IPython . Vous voudrez peut-être utiliser IPython avec l'extension R.
la source
rpy2
). Moi aussi j'aimerais voir un exemple rapide. (D'après ce que j'ai compris, les modèles de survie ne sont pas encore totalement disponibles dans les modèles de statistiques .)Je souhaite également mentionner scikit-survival , qui fournit des modèles d'analyse de survie pouvant être facilement combinés avec des outils de scikit-learn (par exemple, la validation croisée KFold).
À la date de rédaction de ce document, scikit-survival inclut des implémentations de
la source
Outre l'utilisation de
R
throughRPy
ou l'équivalent, il existe un certain nombre de routines d'analyse de survie dans la bibliothèque statsmodels (anciennementsicpy.statsmodel
) python. Ils sont cependant dans le paquet "sandbox", ce qui signifie qu'ils ne sont pas censés être prêts pour la production pour le moment.Par exemple, vous avez le modèle de Cox du risque proportionnel codé ici .
la source