Analisis Survival dengan Python
Shae Wang
Senior Data Scientist
Fungsi matematis yang menjelaskan probabilitas berbagai hasil kejadian.

Fungsi matematis yang menjelaskan probabilitas berbagai hasil kejadian.

Distribusi probabilitas kontinu yang sangat baik untuk memodelkan waktu-kejadian (awalnya untuk sebaran ukuran partikel).
$$f(x;\lambda,k)=\frac{k}{\lambda}\bigg(\frac{x}{\lambda}\bigg)^{k-1}e^{-(x/\lambda)^k}$$ $$x\geq0,k>0,\lambda>0$$
Menentukan bentuk

Menentukan skala

Sebuah perusahaan mengelola armada mesin yang rentan gagal...

Sebuah perusahaan mengelola armada mesin yang rentan gagal...

$$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$ sama dengan 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() untuk menyesuaikan estimator ke datawb.fit(durations, event_observed)
.survival_function_, .lambda_, .rho_, .summary, .predict()Nama 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
Analisis Survival dengan Python