Visualisation et prédiction avec le modèle de Weibull

Analyse de survie en Python

Shae Wang

Senior Data Scientist

.plot()

Renvoie un graphique des coefficients et de leurs étendues selon les intervalles de confiance à 95 %.

aft.plot()
plt.show()

Exemple de graphique :

exemple_de_graphique_des_covariables

Analyse de survie en Python

.plot_partial_effects_on_outcome()

Renvoie un graphique comparant la courbe de survie de base à celles obtenues lorsque les covariables varient.

aft.plot_partial_effects_on_outcome(covariates, values)
plt.show()

exemple_de_graphique_des_effets_partiels

Analyse de survie en Python

Comment tracer les effets partiels ?

.plot_partial_effects_on_outcome()

  • covariates (chaîne ou liste) : covariable(s) du jeu de données d'origine à faire varier.
  • values (itérable 1d ou 2d) : valeurs à donner à la ou aux covariables.

  • Courbe de survie de base : courbe prédite aux valeurs moyennes du jeu de données d'origine.

aft.plot_partial_effects_on_outcome(
  covariates='var', 
  values=[0, 3, 6, 9, 12, 15]
)
plt.show()

graphique des effets partiels pour le modèle de Weibull

Analyse de survie en Python

Comment tracer les effets partiels ?

  • Valeurs codées en dur :
    aft.plot_partial_effects_on_outcome(
      covariates='a', 
      values=[0, 3, 6]
    )
    
  • Utiliser une fonction d'intervalle :
    aft.plot_partial_effects_on_outcome(
      covariates='a', 
      values=np.arange(10)
    )
    
  • Covariables multiples :
    aft.plot_partial_effects_on_outcome(
      covariates=['a','b'], 
      values=[[1,2],[1,3],[2,3]]
    )
    
  • Formule personnalisée :
    • Les transformations nécessaires (interactions, one-hot encoding, etc.) sont effectuées en interne automatiquement.
Analyse de survie en Python

Exemple : prêt immobilier

Exemple de DataFrame : mortgage_df

id house principal interest property_tax credit score duration paid_off
1 1 1275 0.035 0.019 780 25 0
2 0 756 0.028 0.020 695 17 1
3 0 968 0.029 0.017 810 5 0
... ... ... ... ... ... ... ...
1000 1 1505 0.041 0.023 750 30 1
Analyse de survie en Python

Exemple : prêt immobilier

aft.plot_partial_effects_on_outcome(
    covariates='credit score',
    values=np.arange(700, 860, 30)
)
plt.show()

graphique des effets partiels pour mortgage_df

Analyse de survie en Python

Prédire des fonctions de survie

  • Les courbes de survie varient selon les valeurs des covariables. organigramme_de_prédiction
Analyse de survie en Python

Prédire des fonctions de survie

Prédire les fonctions de survie d'individus à partir des covariables.

.predict_survival_function()

Arguments :

  • X (tableau np ou DataFrame) : covariables. Si DataFrame, l'ordre des colonnes est indifférent.

Prédire les durées médianes de survie d'individus à partir des covariables.

.predict_median()

Arguments :

  • df (tableau np ou DataFrame) : covariables. Si DataFrame, l'ordre des colonnes est indifférent.
Analyse de survie en Python

Conditionner après les durées courantes

Prédire la fonction de survie ou la durée médiane conditionnellement après la durée courante.

  • .predict_survival_function(X, conditional_after)
  • .predict_median(df, conditional_after)

Exemple :

aft.predict_median(new_subject)
4.0
aft.predict_median(new_subject, conditional_after=[2])
2.0
Analyse de survie en Python

Passons à la pratique !

Analyse de survie en Python

Preparing Video For Download...