Аналіз виживаності в Python
Shae Wang
Senior Data Scientist
Математична функція, що описує ймовірність різних наслідків події.

Математична функція, що описує ймовірність різних наслідків події.

Неперервний розподіл, що добре моделює час до події (первісно застосовувався для розподілу розміру частинок).
$$f(x;\lambda,k)=\frac{k}{\lambda}\bigg(\frac{x}{\lambda}\bigg)^{k-1}e^{-(x/\lambda)^k}$$ $$x\geq0,k>0,\lambda>0$$
Визначає форму

Визначає масштаб

Компанія обслуговує парк машин, схильних до відмов...

Компанія обслуговує парк машин, схильних до відмов...

$$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$ те саме, що 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(), щоб підігнати оцінювач до данихwb.fit(durations, event_observed)
.survival_function_, .lambda_, .rho_, .summary, .predict()Назва 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
Аналіз виживаності в Python