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

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

4 страниц V  < 1 2 3 4 >  
Добавить ответ в эту темуОткрыть тему
> Как сравнить результаты регрессии Кокса
propedevt
сообщение 8.03.2012 - 21:10
Сообщение #16





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



Просто средние ковариат? тогда вот они:
gal 25,234
cys 3341,777
efmss 0,280

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DrgLena
сообщение 8.03.2012 - 22:27
Сообщение #17





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



...

Сообщение отредактировал DrgLena - 7.11.2022 - 01:15
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
propedevt
сообщение 8.03.2012 - 23:09
Сообщение #18





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



Цитата(DrgLena @ 8.03.2012 - 22:27) *
Н0(t) это базовый риск в момент времени t, а не функция выживаемости.


Да согласен, совершенно неправильно сказал

Цитата(DrgLena @ 8.03.2012 - 22:27) *
Вот по этим средним и полученным коэффициентам и получаете базовый риск, вначале в единицу времени наблюдения


А чем является единица времени наблюдения? У меня максимальный период наблюдения 26 месяцев, а в полученных днях время жизни в днях

Сообщение отредактировал propedevt - 8.03.2012 - 23:52
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DrgLena
сообщение 9.03.2012 - 01:00
Сообщение #19





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



Вы сами выбираете единицу измерения времени, в зависимости от того как вы определяли время наблюдения, если вычитали две даты и преобразовывали разницу в месяцы или сразу вводили месяцы наблюдения за больным, тогда единица будет месяц, в приведенной вами ссылке, по моему, год (умножение на 1 и на 5 при расчете 5 летней выживаемости). Большинство исследователей не используют кокс медели для целей оценки времени жизни. Оцениваются exp(b) для предикторов. Ограничения не столько технические, сколько нравственные.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
propedevt
сообщение 9.03.2012 - 08:15
Сообщение #20





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



Вычитал даты и получал дни жизни (до 805 дней максимум), в месяцы не преобразовывал.

Так, банально подсчитал PI для средних, он равен (-3.75697 х 0,280) + (0.09448 х 25,234) + (0.00019 х 3341,777) = 1,96709435

Как теперь построить график функции риска? (Н0(t) подобный такому:

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
propedevt
сообщение 9.03.2012 - 10:04
Сообщение #21





Группа: Пользователи
Сообщений: 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
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DrgLena
сообщение 9.03.2012 - 10:59
Сообщение #22





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



...

Сообщение отредактировал DrgLena - 7.11.2022 - 01:17
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 9.03.2012 - 11:25
Сообщение #23





Группа: Пользователи
Сообщений: 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
сообщение 9.03.2012 - 11:29
Сообщение #24





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



Да понял, что если риск 0,8 то выживаемость 0,2
График нужен для того чтобы научному руководителю его показать, и потом когда описывать модель его нужно будет наверное показывать:)

Для конкретного больного например подсчитываю:
Pi (-3.75697 х 0,4) + (0.09448 х 8) + (0.00019 х 2400) = 0,290948

Дальше беру риск например на 600 день с графика и подставляю в формулу:


s(t) = exp (-0,25 x 0,290948) = 0,93 (93%)

правильно? или я чего-то не понимаю
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DrgLena
сообщение 9.03.2012 - 11:56
Сообщение #25





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



Цитата(propedevt @ 9.03.2012 - 11:29) *
Да понял, что если риск 0,8 то выживаемость 0,2

Нет, не все так просто, это чтобы график cum функций перевернуть

Сообщение отредактировал DrgLena - 9.03.2012 - 11:57
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DrgLena
сообщение 9.03.2012 - 12:32
Сообщение #26





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



Закат солнца в ручную у меня не получается с такими же значениями.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 9.03.2012 - 13:24
Сообщение #27





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



Цитата(DrgLena @ 9.03.2012 - 12:32) *
Закат солнца в ручную у меня не получается с такими же значениями.


Думаю надо наконец загрузить в тред конкретный датасет, зафитить конкретную модель, и пошагово сравнить все что для неё относительно этого датасета рекомендовано посчитать smile.gif


Signature
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
DrgLena
сообщение 9.03.2012 - 13:41
Сообщение #28





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



...

Сообщение отредактировал DrgLena - 7.11.2022 - 01:18
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
propedevt
сообщение 9.03.2012 - 14:04
Сообщение #29





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



Что-то Вы меня совсем запутали:( перечитал что мне ответили по десять раз.. не знаю что делать дальше..

Давайте начнем с начала по порядку:
Есть формула
в нее я подставляю pi , вычисленный для конкретного больного по его данным.
Далее я должен найти h0(t) базовый риск во время t. его например беру со своего второго графика. Правильно? или Вы хотите сказать можно вычислять риск с помощью функции predict() ?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
p2004r
сообщение 9.03.2012 - 14:14
Сообщение #30





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



Цитата(propedevt @ 9.03.2012 - 14:04) *
Что-то Вы меня совсем запутали:( перечитал что мне ответили по десять раз.. не знаю что делать дальше..

Давайте начнем с начала по порядку:
Есть формула
в нее я подставляю pi , вычисленный для конкретного больного по его данным.
Далее я должен найти h0(t) базовый риск во время t. его например беру со своего второго графика. Правильно? или Вы хотите сказать можно вычислять риск с помощью функции predict() ?


не не не Девид Блейн (С) smile.gif

давайте датасет (можно приатачить csv заархививовав его например rar)

и на какой модели Вы остановились

PS погода хорошая --- схожу в город и вернувшись непременно по шагам датасет посчитаем

Сообщение отредактировал p2004r - 9.03.2012 - 14:16


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

4 страниц V  < 1 2 3 4 >
Добавить ответ в эту темуОткрыть тему