Аналіз виживаності в Python
Shae Wang
Senior Data Scientist
Назва 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: тип житла, що фінансується іпотекою (house або apartment)
Часто потрібно оцінити, чи відрізняється виживаність (або ймовірності події/виживання) між різними групами об'єктів.
Підігнати функцію виживання Каплана — Мейєра для кожної групи й показати криві поряд.
Переваги:
Назва 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 |
Створіть булеву маску для кожної групи.
house = (mortgage_df["property_type"]=="house")
apt = (mortgage_df["property_type"]=="apartment")
Якщо є лише 2 групи, достатньо 1 маски. Іншу групу можна задати запереченням.
Створіть одну фігуру та створіть екземпляр класу KaplanMeierFitter.
ax = plt.subplot(111)
mortgage_kmf = KaplanMeierFitter()
Підіженіть mortgage_kmf для групи будинків і побудуйте графік на фігурі 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)
Підіженіть mortgage_kmf для групи квартир і побудуйте графік на фігурі 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()


Примітка: якщо довірчі інтервали місцями перекриваються, імовірність реальної різниці між кривими менша.
Аналіз виживаності в Python