Анализ выживаемости в Python
Shae Wang
Senior Data Scientist
Имя DataFrame: battery_df
| Battery ID | Duration | Dead | Brand | Truck |
|---|---|---|---|---|
| 1 | 2.5 yrs | No | Brand A | Long |
| 2 | 6 yrs | Yes | Brand B | Short |
| 3 | 5 yrs | No | Brand B | Long |
| ... | ... | ... | ... | ... |
| 1000 | 4.5 yrs | Yes | Brand A | Short |
Каков средний срок службы батареи?
np.average(battery_df["Duration"])


Когда время выживания известно лишь частично.
Как возникает цензурирование?

Агрегированные статистики
np.average(), max(), min().Регрессия
$$S(t)=Pr(T>t)$$


Можно ли определить, какие наблюдения цензурированы?
Шаг 1. Найдите столбцы с признаком цензурирования (часто уже предобработаны).
Не слишком ли много цензурированных данных?
Шаг 2. Проверьте долю цензурированных наблюдений (ориентир — 50%).
Является ли цензурирование неинформативным и случайным?
Шаг 3. Изучите причины цензурирования, чтобы убедиться, что факт цензурирования не влияет на выживаемость.
Анализ выживаемости в Python