регрессия Кокса |
Здравствуйте, гость ( Вход | Регистрация )
регрессия Кокса |
29.03.2012 - 16:00
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 49 Регистрация: 7.04.2010 Пользователь №: 15366 |
Добрый день! Помогите разобраться. Имеются данные для анализа выживаемости:
время (месяцы), событие (рецидив или нет), независимые ковариаты 3 переменных - 1. дифференцировка - бинарная (низкодифференированныя и умеренно+высокодифференцированная) 2. уровень РЭА до операции 3. количество метастазов Они остались в результате применения регрессионного анализа Кокса в СПСС. Т.е. я понимаю что можно сделать выводы, что такие то факторы значимо влияют на продолжительность безрецидивной жизни, какой из них более значим. Могу ли я применить это как-то в плане прогнозирования продолжительности безрецидивной жизни? (как например в логистической регрессии). Это пожалуй основной вопрос. Цель исследования не только выявить исходные факторы, влияющие на продолжительность безрецидивного течения, но и иметь возможность прогнозировать это время для любого конкретного больного. Привожу формулу h(t)=h0(t) *exp(b1z1+...+bmzm) В СПСС есть функция сохранить: функция риска - это h(t)? Для 2 больных проживших 1 мес у одного 2,1 а другого 0,6. О чем это говорит? Максимум 4,3 минимум 0,2 - это много или мало. Как мне найти h0(t) - базовая функция риска при нулевых ковариатах (нулевые это равные 0?) и нужно ли это? С экспоненциальной регрессией более понятно, но у меня время жизни распределено не экспоненциально. В Attestat сделала подгонку распределения: получилось логлогистическое. Что мне с ним делать?! |
|
29.03.2012 - 17:05
Сообщение
#2
|
|
Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 |
[вдруг пригодится] вот целая ветка как в R проводить анализ и для конкретных параметров рассчитывать (в том числе в ручную) http://forum.disser.ru/index.php?showtopic=2989 |
|
2.04.2012 - 10:30
Сообщение
#3
|
|
Группа: Пользователи Сообщений: 49 Регистрация: 7.04.2010 Пользователь №: 15366 |
Добрый день! Спасибо большое за указанное направление. Попытки освоить R пока ни к чему не ведут, срубаюсь на этапе загрузки данных, но буду пытаться. Тут на форуме рекомендовали новую книжку. Может она поможет. Сразу приношу извинения за глупые вопросы.
Как я поняла из ветки: для нахождения h(o) строится график функции риска для средних значений ковариат в определенные точки времени и по графику находится h(0)? Но формула то должна быть. В результате построения регрессии Кокса у меня получилось 4 значимых переменных: 1. дифференцировка (0 - умеренная+высокая, 1-низкая) коэффициент - 0,62 среднее 0,61 2. уровень РЭА до операции коэффициент 0,006 среднее 149,78 3. кол-во образований малого диаметра 0,66 среднее 1,58 4. кол-во образований большого диаметра 0,70 среднее 0,67 нахожу p(i)=2,03 h(0)(t=1)=exp(-2,03)=0,13 это для единицы времени т.е. на 1 месяц, а дальше как например для 3, 6 месяцев и так далее? Еще вопрос S(t)=1-h(t), т.е. если выживаемость рассчитана для конкретного больного по нашим данным вычесть из единицы мы получим риск? Но я где-то читала что риск может быть больше 1, я неправильно поняла? Что мы прогнозируем с помощью модели Кокса предполагаемое время жизни определенного больного или вероятность умереть ( в нашем случае иметь МТС) в определенный момент времени, как я понимаю второй вариант. А нельзя ли как-то предсказывать время жизни? Например больной Н. имеет низкодифференцированную опухоль уровень РЭА 20, по 1 большому и маленькому мтс, подставляем в формулу данные и получаем что только через 12 месяцев мы имеем высокую вероятность получить прогрессию. В СПСС сохраняет параметры Функция риска, функция выживаемости. Они в сумме не должны равняться 1? В посте я столкнулась с тем что модели Кокса не применяются для прогнозирования по нравственным соображениям почему? |
|
2.04.2012 - 11:15
Сообщение
#4
|
|
Группа: Пользователи Сообщений: 49 Регистрация: 7.04.2010 Пользователь №: 15366 |
Извиняюсь, данные загрузились, дальше двигалась по образцу, но программа выдает ошибку: не могу найти функцию "coxph" . Подсакажите что делать дальше.
|
|
2.04.2012 - 12:51
Сообщение
#5
|
|
Группа: Пользователи Сообщений: 116 Регистрация: 20.02.2011 Пользователь №: 23251 |
Извиняюсь, данные загрузились, дальше двигалась по образцу, но программа выдает ошибку: не могу найти функцию "coxph" . Подсакажите что делать дальше. Вам нужно сначала загрузить библиотеку, в которой содержится функция coxph. Библиотека называется "survival" library(survival) # загрузка пакета args(coxph) # показать аргументы функции |
|
2.04.2012 - 16:02
Сообщение
#6
|
|
Группа: Пользователи Сообщений: 49 Регистрация: 7.04.2010 Пользователь №: 15366 |
Спасибо! Дело пошло дальше. Тупо повторяю команды из поста, выдает какие-то результаты. До понимания процесса еще ооочень далеко! Уважаемый p2004r отзовитесь!
Вопрос: 1. как сохранить то что получилось 2. что мы получаем после команды predict(model5, type="lp", se.fit=FALSE) 3. predict(model5, type="risk") 4. predict(model5, type="expected") 5. predict(model5, type="terms") 6. hazard time - два стобца - риск и время для этого риска? 7. -log((survfit(model5))$surv) - после этой команды выдает +который не стирается. что делать? |
|
2.04.2012 - 20:31
Сообщение
#7
|
|
Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 |
Спасибо! Дело пошло дальше. Тупо повторяю команды из поста, выдает какие-то результаты. До понимания процесса еще ооочень далеко! Уважаемый p2004r отзовитесь! Вопрос: 1. как сохранить то что получилось 2. что мы получаем после команды predict(model5, type="lp", se.fit=FALSE) 3. predict(model5, type="risk") 4. predict(model5, type="expected") 5. predict(model5, type="terms") 6. hazard time - два стобца - риск и время для этого риска? 7. -log((survfit(model5))$surv) - после этой команды выдает +который не стирается. что делать? 1. смотря что понимается по "сохранить". Если вектор или таблицу чисел в файл на диск, то например ?write.table 2-6. Код type: the type of predicted value. Choices are the linear predictor (?"lp"?), the risk score exp(lp) (?"risk"?), the expected number of events given the covariates and follow-up time (?"expected"?), and the terms of the linear predictor (?"terms"?). 7. наверное пара скобок лишняя "затесалась" при копипасте -log(survfit(model5)$surv) |
|
2.04.2012 - 21:32
Сообщение
#8
|
|
Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 |
У Кокса
plot(survfit(model)) - shows the survivorship curve for the average individual with the covariates held at their average values Что касается прогноза --- Кокс только в пределах данных эксперимента позволяет проводить оценки. Если много пациентов ушли за пределы эксперимента, то на вопрос ?What proportion of patients will die in 2 years based on data from an experiment that ran for just 4 months?? может ответить только параметрическая модель. А что как прогноз подходит? Можно среднее время дожития считать, у экспоненциальной модели оно обратно пропорционально риску. В predict() считать время как predict(model,type="response") на выходе время жизни (только данные нового случая подставить) для survreg. exp(coef) у Кокс относительно средних группы показывает "во сколько раз дольше-меньше". |
|
3.04.2012 - 10:50
Сообщение
#9
|
|
Группа: Пользователи Сообщений: 49 Регистрация: 7.04.2010 Пользователь №: 15366 |
У меня новая проблема технического характера: все что делала до этого случайно стерла так и не сохранив. Теперь начала заново, выдает ошибку - surv(v9,v8): объект v9 не найден. Может исходные ячейки должны быть в определенном формате а пока я туда сюда сохраняла все сбилось. Может быть можно сделать в других программах более мне понятных? (Хотя к освоению R буду прилагать все усилия).
Что касается прогноза у меня из 93 выбывают только 3 (цензуированных). Для регрессии Кокса Х2=92,8 р=0,000, для экспоненциальной регрессии Х2=37,9 р=0,000 но распределение то отличается от экспоненциального (хотя AIC самое маленькое для него 66,5) подходит только логлогистическое р=0,12 AIC=69,3. Для экспоненциальной регрессии S(z) = exp(a + b1*z1 + b2*z2 + ... + bm*zm) Я нашла коэффициенты подставила, получила предсказанные времена. Прекрасно. В каких-то случаях и наблюдаемое и предсказанное время 1 месяц, а гдето 9 и 13, 9 и 18. Как трактовать где правильно узнано время где нет (может в пределах 1 ст.откл. - или это мои фантазии) [Что касается прогноза --- Кокс только в пределах данных эксперимента позволяет проводить оценки. Если много пациентов ушли за пределы эксперимента, то на вопрос ?What proportion of patients will die in 2 years based on data from an experiment that ran for just 4 months?? может ответить только параметрическая модель. ] А какая параметрическая модель? Спасибо большое за терпение. |
|
3.04.2012 - 13:05
Сообщение
#10
|
|
Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 |
[Что касается прогноза --- Кокс только в пределах данных эксперимента позволяет проводить оценки. Если много пациентов ушли за пределы эксперимента, то на вопрос ?What proportion of patients will die in 2 years based on data from an experiment that ran for just 4 months?? может ответить только параметрическая модель. ] А какая параметрическая модель? Спасибо большое за терпение. С R, поскольку Вы работаете в виндовс, лучше установить rstudio и команды писать в его редакторе, тогда полный протокол всегда будет под рукой. Надо просто найти где вычислялся v9 и вычислить. Обычно R сохраняет файл с образом всей памяти и только команды library() приходится повторять заново. Параметрическую модель Вы фактически и посчитали в виде экспоненциальной регресии. survreg() подгоняет параметрическую модель. survreg(формула,dist="exponential") для того варианта что Вы посчитали. survreg(формула) для распредления Weibull с риском не равным константе. Сообщение отредактировал p2004r - 3.04.2012 - 13:06 |
|
4.04.2012 - 08:50
Сообщение
#11
|
|
Группа: Пользователи Сообщений: 49 Регистрация: 7.04.2010 Пользователь №: 15366 |
Надо просто найти где вычислялся v9 и вычислить. Обычно R сохраняет файл с образом всей памяти и только команды library() приходится повторять заново.
Так никакие переменные не вычислялись. Я попробовала другие подставить, тоже не распознает. |
|
4.04.2012 - 09:31
Сообщение
#12
|
|
Группа: Пользователи Сообщений: 116 Регистрация: 20.02.2011 Пользователь №: 23251 |
Надо просто найти где вычислялся v9 и вычислить. Обычно R сохраняет файл с образом всей памяти и только команды library() приходится повторять заново. Так никакие переменные не вычислялись. Я попробовала другие подставить, тоже не распознает. Если Вы дружите с английским, попробуйте посмотреть вот эти 3 видео: http://www.youtube.com/watch?v=YQ9538U8cPc...ture=plpp_video http://www.youtube.com/watch?v=CNYOWZmwOIA...ture=plpp_video http://www.youtube.com/watch?v=wTLsw-Ckfvw...ture=plpp_video Довольно хороший объем информации, все примеры идут сначала в SPSS, а затем в R. Вам нужно постараться побыстрее вникнуть в специфику работы с R, потому как жалко, если некая часть проделанной работа будет бесследно исчезать. Многие вопросы должны пропасть после просмотра этих видео. |
|
4.04.2012 - 10:42
Сообщение
#13
|
|
Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 |
Надо просто найти где вычислялся v9 и вычислить. Обычно R сохраняет файл с образом всей памяти и только команды library() приходится повторять заново. Так никакие переменные не вычислялись. Я попробовала другие подставить, тоже не распознает. шаг 1--- установить http://rstudio.org/ шаг 2 --- писать все команды в его редакторе и сохранять их в файл. шаг 3 --- постить сюда все последовательности команд приводящие к затруднениям |
|
12.04.2012 - 14:06
Сообщение
#14
|
|
Группа: Пользователи Сообщений: 49 Регистрация: 7.04.2010 Пользователь №: 15366 |
С английским дружо плохо, но посмотрю, просто руки не доходят.
Установила R-studio по ссылке, программа почему-то выдает ошибку. Ну собственно сделала все из ветки в R, нажала сохранить рабочее пространство - вродебы сохранило. Только через q не вышла, вышла через закрыть. Вопрос такой: basehaz (model, centred=FALSE) hazard time - это h0? А если пишешь просто basehaz (model) получаются другие цифры? В чем разница? Не могли бы вы мне на моих данных объяснить что к чему, я лучше понимаю на кокретных примерах. Спасибо |
|
12.04.2012 - 14:20
Сообщение
#15
|
|
Группа: Пользователи Сообщений: 63 Регистрация: 20.03.2012 Из: Ташкент Пользователь №: 23582 |
Не могли бы вы мне на моих данных объяснить что к чему, я лучше понимаю на кокретных примерах. Спасибо Для этого необходимо: Выложить эти самые данные, прикрепив архив к сообщению. Либо обратиться на форум телепатов, чтобы они считали Ваши данные на расстоянии Сообщение отредактировал YVR - 12.04.2012 - 14:21 Yury V. Reshetov |
|