Прогнозування в регресії Кокса


38

Я роблю багатоваріантну регресію Кокса, у мене є значні незалежні змінні та бета-значення. Модель дуже добре підходить до моїх даних.

Тепер я хотів би використати свою модель і передбачити виживання нового спостереження. Мені незрозуміло, як це зробити з моделлю Кокса. У лінійній чи логістичній регресії було б просто, просто покладіть значення регресу в регресію і помножте їх на бета-версії, і тому я маю передбачення свого результату.

Як я можу визначити свою базову небезпеку? Мені це потрібно додатково для обчислення прогнозу.

Як це робиться в моделі Кокса?

Відповіді:


30

Дотримуючись модель Кокси, передбачувана небезпека для індивідуального з коваріатівних вектором х я маю вигляд ч я ( т ) = ч 0 ( т ) ехр ( х ' я β ) , де β визначається шляхом максимізації ймовірності часткової , в той час як ч 0 випливає з оцінки Нельсона-Aalen, ч 0 ( т я ) = d яixi

h^i(t)=h^0(t)exp(xiβ^),
β^h^0 зт1,т2,...різні моменти часу іdячисло смертей втя (дивись, наприклад,розділ 3.6).
h^0(ti)=dij:tjtiexp(xjβ^)
t1t2,diti

S^i(t)=S^0(t)exp(xiβ^)
S^0(t)=exp(Λ^0(t))
Λ^0(t)=j:tjth^0(tj).

EDIT: Це також може зацікавити :-)


1
Це саме моє запитання ... Мені потрібна оцінка базової функції небезпеки, щоб мати можливість прогнозувати, правильно? Чи знаєте ви якийсь метод його оцінки?
Мар’я

2
@Marjan the jackknife може неправильно відображати невизначеність, викликану змінним вибором. Завантажувальна програма належним чином показує більшу мінливість, у якій змінні позначаються "значущими". Якщо ви хочете зробити "відносну валідацію", ви можете показати, що передбачувальна дискримінація є доброю після виправлення надмірної перевірки. Це не вимагає боротьби з базовою небезпекою, але перевіряє відносні оцінки небезпеки журналу. validateФункція в R rmsпакет в поєднанні з cphфункцією буде робити. Єдиний поетапний алгоритм, реалізований у, validate- це відступ назад.
Френк Харрелл

1
Отримати прогнозовані відносні небезпеки (тобто лінійний предиктор) досить просто. Але я кинув користуватися SAS в 1991 році.
Френк Харрелл

8
Посилання загинула :-(.
gung - Відновити Моніку

2
Чи є спосіб передбачити Час виживання T для конкретної людини? Я маю на увазі, що з урахуванням переліку значень для коваріатів, який спосіб з’ясувати час, через який індивід, швидше за все, помре?
statBeginner

14

Функція predictSurvProbв pecпакеті може дати вам абсолютні оцінки ризику для нових даних на основі існуючої моделі Кокса, якщо ви використовуєте R.

Математичні подробиці я не можу пояснити.

EDIT: Функція забезпечує ймовірність виживання, яку я досі сприймав як 1- (Імовірність події).

EDIT 2:

Можна обійтися без пакету pec. Використовуючи лише пакет виживання, наступна функція повертає абсолютний ризик на основі моделі Кокса

risk = function(model, newdata, time) {
  as.numeric(1-summary(survfit(model, newdata = newdata, se.fit = F, conf.int = F), times = time)$surv)
}

1-ймовірність виживання є сукупною небезпекою. Я думаю, що ОП вимагає функції миттєвої небезпеки (базової лінії) або якоїсь згладженої оцінки її ( muhazпакети в R).
ECII

1
1-ймовірність виживання не є сукупною небезпекою. За відсутності конкуруючих ризиків, вони з'єднуються як детально на en.wikipedia.org/wiki/… .
miura

1-ймовірність виживання = коефіцієнт відмови (якщо припустити лише 1x метод відмови). Співвідношення ймовірності виживання та накопичувальної небезпеки окреслено у прийнятій відповіді: S(t)=exp(−Λ(t))де Λ(t)накопичувальна небезпека.
NickBraunagel

11

Можливо, ви також хотіли б спробувати щось подібне? Встановіть модель пропорційної небезпеки Кокса та використовуйте її, щоб отримати прогнозовану криву виживання для нового випадку.

Витягнуто з довідкового файлу для survfit.coxph у R (я щойно додав рядки)

# fit a Cox proportional hazards model and plot the  
# predicted survival for a 60 year old 
fit <- coxph(Surv(futime, fustat) ~ age, data=ovarian) 
plot(survfit(fit, newdata=data.frame(age=60)),
     xscale=365.25, xlab="Years", ylab="Survival", conf.int=F) 
# also plot the predicted survival for a 70 year old
lines(survfit(fit, newdata=data.frame(age=70)),
     xscale=365.25, xlab="Years", ylab="Survival") 

Ви повинні пам’ятати, що, якщо припущення про пропорційну небезпеку як і раніше зберігається для вашого прогнозу, пацієнт, для якого ви прогнозуєте, повинен бути з групи, яка якісно така, як та, яка використовується для отримання пропорційної моделі Кокса, пропорційної небезпеки, яку ви використовували для передбачення


6

basehazФункція survivalпакетів забезпечує базовий ризик в моменти часу подій. З цього ви можете пропрацювати математику, яку забезпечує окрам, і включити АБО ваших кокс-оцінок.


2

Вся суть моделі Кокса - пропорційне припущення про небезпеку та використання часткової ймовірності. Часткова ймовірність усуває функцію базової небезпеки. Тож вам не потрібно вказувати. Ось у цьому краса!


2
Якщо ви хочете отримати оцінку небезпеки або виживання для певного значення коваріатного вектора, тоді вам знадобиться оцінка базової небезпеки або виживання. Оцінка Нельсона-Аалена зазвичай робить роботу ...
ocram

1
Часто з моделлю Кокса ви порівнюєте дві функції виживання, ключовим є коефіцієнт небезпеки, а не функція небезпеки. Базова небезпека - це параметр неприємності, який Кокс настільки хитро усунув із проблеми, використовуючи пропорційне припущення про небезпеку. Який би метод ви не хотіли використовувати для оцінки функції небезпеки та / або базової небезпеки в контексті моделі, зажадає використання форми моделі Кокса, яка зумовлює пропорційність.
Майкл Р. Черник

Дякую вам велике, було б чудово, якби ви побачили мій коментар на відповідь ocram. Може, ти міг би мені також допомогти?
Мар’я

3
Ви також можете розшаруватися на фактори, які не є пропорційними небезпеками. Але в будь-якому випадку модель Кокса та його оцінювач базової небезпеки може бути використана для отримання прогнозованих квантів часу виживання, різних ймовірностей виживання та прогнозованого середнього часу виживання, якщо у вас буде тривале спостереження. Всі ці величини легко отримати в пакеті R rms.
Френк Харрелл

Вказувати її не потрібно, але вона розрахована.
DWin
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.