Форум врачей-аспирантов

Здравствуйте, гость ( Вход | Регистрация )

> Как сравнить результаты регрессии Кокса
propedevt
сообщение 21.02.2012 - 23:27
Сообщение #1





Группа: Пользователи
Сообщений: 27
Регистрация: 5.02.2012
Пользователь №: 23464



Уважаемые форумчане!
Для анализа выживаемости строю модель Кокса, с разными независимыми переменными. И появилась необходимость сравнить модели.
И собственно вопрос у меня к Вам - как сравнить что одна полученная модель лучше чем другая?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
 
Открыть тему
Ответов
propedevt
сообщение 9.03.2012 - 10:04
Сообщение #2





Группа: Пользователи
Сообщений: 27
Регистрация: 5.02.2012
Пользователь №: 23464



Уважаемый p2004r, прошу меня извинить, но не сразу заметил в Вашем сообщении кроме кода, который привели, Вы указали функцию basehaz.

Написал такой простой код:
baseline <- basehaz(model4, centered=FALSE)
plot(baseline$time,baseline$hazard,xlab="Time",ylab="Hazard",col="red",type="l")

и получил в итоге график:


и для средних:
baseline1 <- basehaz(model4, centered=TRUE)
plot(baseline1$time,baseline1$hazard,xlab="Time",ylab="Hazard",col="red",type="l")

Уважаемая DrgLena, скажите пожалуйста это и есть нужный мне график H0(t) ?

Сообщение отредактировал propedevt - 9.03.2012 - 10:45
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 9.03.2012 - 11:25
Сообщение #3





Группа: Пользователи
Сообщений: 1091
Регистрация: 26.08.2010
Пользователь №: 22699



Цитата(propedevt @ 9.03.2012 - 10:04) *
Уважаемый p2004r, прошу меня извинить, но не сразу заметил в Вашем сообщении кроме кода, который привели, Вы указали функцию basehaz.

Написал такой простой код:
baseline <- basehaz(model4, centered=FALSE)
plot(baseline$time,baseline$hazard,xlab="Time",ylab="Hazard",col="red",type="l")

и получил в итоге график:


Уважаемая DrgLena, скажите пожалуйста это и есть нужный мне график H0(t) ?

Код
> basehaz
function (fit, centered = TRUE)
{
    if (!inherits(fit, "coxph"))
        stop("must be a coxph object")
    sfit <- survfit(fit)
    H <- -log(sfit$surv)
    strata <- sfit$strata
    if (!is.null(strata))
        strata <- factor(rep(names(strata), strata), levels = names(strata))
    if (!centered) {
        z0 <- fit$means
        bz0 <- sum(z0 * coef(fit))
        H <- H * exp(-bz0)
    }
    if (is.null(strata))
        return(data.frame(hazard = H, time = sfit$time))
    else return(data.frame(hazard = H, time = sfit$time, strata = strata))
}
<environment: namespace:survival>


В Вашем случае срабатывает

Код
sfit <- survfit(fit)
H <- -log(sfit$surv)
z0 <- fit$means
bz0 <- sum(z0 * coef(fit))
H <- H * exp(-bz0)


Именно hazard у одиночного случая по времени
h(t)=h0(t)*exp(sum(z_случая*coef(fit)))

h0(t) hazard для случая когда z<-0, и его считают как -log(sfit$surv)

Как показывает код функция считает именно то что Вы хотели. Подставляет средние всех ковариант.

Цитата
Finally, the program lists the baseline cumulative hazard H0(t), with the cumulative hazard and survival at mean of all covariates in the model.


Вообще то для расчетов проще использовать predict(), весь этот закат солнца в ручную признаться утомителен. Если конечно это не самоцель smile.gif

http://stat.ethz.ch/R-manual/R-devel/libra...dict.coxph.html

Цитата
The Cox model is a relative risk model; predictions of type "linear predictor", "risk", and "terms" are all relative to the sample from which they came. By default, the reference value for each of these is the mean covariate within strata. The primary underlying reason is statistical: a Cox model only predicts relative risks between pairs of subjects within the same strata, and hence the addition of a constant to any covariate, either overall or only within a particular stratum, has no effect on the fitted results. Using the reference="strata" option causes this to be true for predictions as well.

When the results of predict are used in further calculations it may be desirable to use a fixed reference level. Use of reference="sample" will use the overall means, and agrees with the linear.predictors component of the coxph object (which uses the overall mean for backwards compatability with older code).

Predictions of type "expected" incorportate the baseline hazard and are thus absolute instead of relative; the reference option has no effect on these.


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 

Сообщений в этой теме
- propedevt   Как сравнить результаты регрессии Кокса   21.02.2012 - 23:27
- - propedevt   Никто не знает как сравнить?   23.02.2012 - 08:14
- - DrgLena   У вас была проблема, вы не знали формулу, хотя в д...   23.02.2012 - 11:24
|- - propedevt   Цитата(DrgLena @ 23.02.2012 - 11:24)...   23.02.2012 - 22:29
- - p2004r   Цитата(propedevt @ 21.02.2012 - 23:2...   23.02.2012 - 17:50
|- - propedevt   Цитата(p2004r @ 23.02.2012 - 17:50) ...   23.02.2012 - 22:33
- - p2004r   дубль   23.02.2012 - 18:01
- - propedevt   Уважаемый p2004r! Последовал Вашему совету и н...   3.03.2012 - 21:40
|- - p2004r   Цитата(propedevt @ 3.03.2012 - 21:40...   4.03.2012 - 12:54
- - propedevt   Посмотрел, нашел что AIC ? информационный критерий...   4.03.2012 - 14:24
|- - p2004r   Цитата(propedevt @ 4.03.2012 - 14:24...   4.03.2012 - 18:31
- - propedevt   Доброго времени суток, настали выходные и добрался...   8.03.2012 - 11:49
|- - p2004r   Вот приличный мануал http://cran.r-project.org/do...   8.03.2012 - 14:44
|- - propedevt   Цитата(p2004r @ 8.03.2012 - 14:44) В...   8.03.2012 - 15:24
- - DrgLena   ...   8.03.2012 - 18:13
- - propedevt   Просто средние ковариат? тогда вот они: gal 25,234...   8.03.2012 - 21:10
- - DrgLena   ...   8.03.2012 - 22:27
|- - propedevt   Цитата(DrgLena @ 8.03.2012 - 22:27) ...   8.03.2012 - 23:09
- - DrgLena   Вы сами выбираете единицу измерения времени, в зав...   9.03.2012 - 01:00
- - propedevt   Вычитал даты и получал дни жизни (до 805 дней макс...   9.03.2012 - 08:15
- - propedevt   Уважаемый p2004r, прошу меня извинить, но не сразу...   9.03.2012 - 10:04
|- - p2004r   Цитата(propedevt @ 9.03.2012 - 10:04...   9.03.2012 - 11:25
- - DrgLena   ...   9.03.2012 - 10:59
- - propedevt   Да понял, что если риск 0,8 то выживаемость 0,2 Гр...   9.03.2012 - 11:29
- - DrgLena   Цитата(propedevt @ 9.03.2012 - 11:29...   9.03.2012 - 11:56
- - DrgLena   Закат солнца в ручную у меня не получается с таким...   9.03.2012 - 12:32
|- - p2004r   Цитата(DrgLena @ 9.03.2012 - 12:32) ...   9.03.2012 - 13:24
- - DrgLena   ...   9.03.2012 - 13:41
- - propedevt   Что-то Вы меня совсем запутали:( перечитал что мне...   9.03.2012 - 14:04
|- - p2004r   Цитата(propedevt @ 9.03.2012 - 14:04...   9.03.2012 - 14:14
- - propedevt   Хорошо, файл прикрепил. В последней модели использ...   9.03.2012 - 14:40
|- - p2004r   Цитата(propedevt @ 9.03.2012 - 14:40...   9.03.2012 - 17:15
- - propedevt   Да, до predict все делал точно также   9.03.2012 - 17:18
- - p2004r   Теперь basehazard и счет на прямую. Центрированная...   9.03.2012 - 17:43
|- - p2004r   Код> exp(model5$linear.predictors...   9.03.2012 - 18:36
|- - propedevt   Цитата(p2004r @ 9.03.2012 - 18:36) К...   9.03.2012 - 18:49
|- - p2004r   Линейный предиктор он считает в момент фита name...   9.03.2012 - 19:19
|- - p2004r   Конкретно в этой модели первая переменная похоже н...   9.03.2012 - 19:42
||- - propedevt   Цитата(p2004r @ 9.03.2012 - 19:42) К...   9.03.2012 - 20:35
||- - p2004r   Цитата(propedevt @ 9.03.2012 - 20:35...   9.03.2012 - 21:59
|- - propedevt   Цитата(p2004r @ 9.03.2012 - 19:19) Л...   9.03.2012 - 20:26
|- - p2004r   Цитата(propedevt @ 9.03.2012 - 20:26...   9.03.2012 - 22:33
- - propedevt   Действия математические понятны. Но каков смысл pr...   9.03.2012 - 17:58
- - propedevt   давайте уберем ее из модели, построим только на ga...   9.03.2012 - 22:01
- - propedevt   Так понятно, но я вижу predict не используется же ...   9.03.2012 - 22:39
- - propedevt   Итак хочу написать в математических операциях. нач...   9.03.2012 - 23:23
|- - p2004r   Цитата(propedevt @ 9.03.2012 - 23:23...   10.03.2012 - 11:17
- - propedevt   Т.к. убрал из модели efmss, добавил в нее возраст....   10.03.2012 - 13:43
- - p2004r   Цитата(propedevt @ 10.03.2012 - 13:4...   10.03.2012 - 21:06


Добавить ответ в эту темуОткрыть тему