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 temps jusqu'à événement (initialement utilisée pour les distributions de taille de 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 gère une flotte de machines sujettes aux pannes…

Une entreprise gère 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