Інтерпретація моделі Cox PH

Аналіз виживаності в Python

Shae Wang

Senior Data Scientist

Базові ризики

  • Відношення ризиків (hazard ratio): наскільки ризик зростає або зменшується відносно базового ризику.
  • Базові ризики: ризик для осіб на базових рівнях коваріат.
    • База $\neq$ встановити коваріати у 0
    • База означає встановити коваріати на їхні середні (медіану для lifelines)
Аналіз виживаності в Python

Базові функції

Функція базового ризику
model.baseline_hazard_.plot()
plt.show()

baseline_hazard

Функція базового виживання
model.baseline_survival_.plot()
plt.show()

baseline_survival

Аналіз виживаності в Python

Інтерпретуйте відношення ризиків

  • Відношення ризиків: $e^{coef}$ — наскільки змінюється ризик відносно середнього індивіда за зміни коваріат.
Обчислення Приклад
Коефіцієнт $x$ $0.405$
Відношення ризиків $e^x$ $e^{0.405}=1.5$
Інтерпретація ризиків $e^x-1$ $1.5-1 = 0.5$ -> зростання ризику на 50%
Інтерпретація часу виживання $\frac{1}{e^x}-1$ $\frac{1}{1.5}-1 = 0.67-1 = -0.23$ -> зменшення часу виживання на 23%
Аналіз виживаності в Python

Візуалізація відношення ризиків

.plot_partial_effects_on_outcome()

  • covariates (рядок або список): назви коваріат у вихідному наборі даних, які потрібно варіювати.
    • Якщо коваріат кілька, передайте їх як список.
  • values (1D або 2D iterable): значення, яких мають набувати коваріати.
    • Якщо коваріат кілька, передавайте значення парами/кортежами значень.
Аналіз виживаності в Python

Візуалізація відношення ризиків

Модель має коваріати A, B, C, і ми хочемо варіювати

  • A по 1, 2
  • B по 3, 4
    model.plot_partial_effects_on_outcome(
        covariates=["A","B"],
        values=[[1,2],
                [3,4]]
    )
    plt.show()
    

wrong_plot_partial_effects_on_outcome

Неправильно...

Аналіз виживаності в Python

Візуалізація відношення ризиків

Модель має коваріати A, B, C, і ми хочемо варіювати

  • A по 1, 2
  • B по 3, 4
    model.plot_partial_effects_on_outcome(
        covariates=["A","B"],
        values=[[1,3],
                [1,4],
                [2,3],
                [2,4]]
    )
    plt.show()
    

correct_plot_partial_effects_on_outcome

Правильно!

Аналіз виживаності в Python

Давайте потренуємось!

Аналіз виживаності в Python

Preparing Video For Download...