Analyse de survie en Python
Shae Wang
Senior Data Scientist
Une fonction mathématique qui décrit la probabilité des différents résultats d'un événement.

Une fonction mathématique qui décrit la probabilité des différents résultats d'un événement.

Une loi de probabilité continue qui modélise très bien les durées avant événement (initialement pour la taille des particules).
$$f(x;\lambda,k)=\frac{k}{\lambda}\bigg(\frac{x}{\lambda}\bigg)^{k-1}e^{-(x/\lambda)^k}$$ $$x\geq0,k>0,\lambda>0$$
Détermine la forme

Détermine l'échelle

Une entreprise entretient une flotte de machines sujettes aux pannes…

Une entreprise entretient une flotte de machines sujettes aux pannes…

$$f(x;\lambda,k)=\frac{k}{\lambda}\bigg(\frac{x}{\lambda}\bigg)^{k-1}e^{-(x/\lambda)^k} \quad\rightarrow\quad\qquad\qquad S(t)=e^{-(t/\lambda)^\rho}$$

$\rho$ est identique à k
$$f(x;\lambda,k)=\frac{k}{\lambda}\bigg(\frac{x}{\lambda}\bigg)^{k-1}e^{-(x/\lambda)^k} \quad\rightarrow\quad f(x;\lambda,k=3)=\frac{3}{\lambda}\bigg(\frac{x}{\lambda}\bigg)^2e^{-(x/\lambda)^3}$$



WeibullFitterfrom lifelines import WeibullFitter
WeibullFitterwb = WeibullFitter()
.fit() pour ajuster l'estimateur aux donnéeswb.fit(durations, event_observed)
.survival_function_, .lambda_, .rho_, .summary, .predict()Nom du DataFrame : mortgage_df
| id | duration | paid_off |
|---|---|---|
| 1 | 25 | 0 |
| 2 | 17 | 1 |
| 3 | 5 | 0 |
| ... | ... | ... |
| 1000 | 30 | 1 |
from lifelines import WeibullFitter
wb = WeibullFitter()
wb.fit(durations=mortgage_df["duration"],
event_observed=mortgage_df["paid_off"])
wb.survival_function_.plot()
plt.show()

print(wb.lambda_, wb.rho_)
6.11 0.94
print(wb.predict(20))
0.05
Analyse de survie en Python