Phân tích sống sót bằng Python
Shae Wang
Senior Data Scientist
Tên DataFrame: mortgage_df
| id | property type | duration | paid_off |
|---|---|---|---|
| 1 | house | 25 | 0 |
| 2 | apartment | 17 | 1 |
| 3 | apartment | 5 | 0 |
| ... | ... | ... | ... |
| 100 | house | 30 | 1 |
Property type: loại bất động sản được thế chấp (house hoặc apartment)
Ta thường muốn đánh giá liệu có khác biệt về sống sót (hoặc xác suất sự kiện/sống sót) giữa các nhóm đối tượng.
Ước lượng hàm sống sót Kaplan–Meier cho từng nhóm và vẽ các đường cong cạnh nhau.
Lợi ích:
Tên DataFrame: mortgage_df
| id | property type | duration | paid_off |
|---|---|---|---|
| 1 | house | 25 | 0 |
| 2 | apartment | 17 | 1 |
| 3 | apartment | 5 | 0 |
| ... | ... | ... | ... |
| 100 | house | 30 | 1 |
Tạo mặt nạ Boolean cho từng nhóm.
house = (mortgage_df["property_type"]=="house")
apt = (mortgage_df["property_type"]=="apartment")
Nếu chỉ có 2 nhóm, chỉ cần 1 mặt nạ. Nhóm còn lại có thể tham chiếu bằng phủ định.
Tạo một hình và khởi tạo lớp KaplanMeierFitter.
ax = plt.subplot(111)
mortgage_kmf = KaplanMeierFitter()
Fit mortgage_kmf cho nhóm nhà riêng và vẽ lên hình ax.
mortgage_kmf.fit(duration=mortgage_df[house]["duration"],
event_observed=mortgage_df[house]["paid_off"],
label="Houses")
mortgage_kmf.plot_survival_function(ax=ax)
Fit mortgage_kmf cho nhóm căn hộ và vẽ lên hình ax.
mortgage_kmf.fit(duration=mortgage_df[apt]["duration"],
event_observed=mortgage_df[apt]["paid_off"],
label="Apartments")
mortgage_kmf.plot_survival_function(ax=ax)
plt.show()


Lưu ý: nếu khoảng tin cậy chồng lấn tại một số điểm, khả năng có khác biệt thực giữa các đường cong sẽ thấp hơn.
Phân tích sống sót bằng Python