![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 27 Регистрация: 5.02.2012 Пользователь №: 23464 ![]() |
Уважаемые форумчане!
Для анализа выживаемости строю модель Кокса, с разными независимыми переменными. И появилась необходимость сравнить модели. И собственно вопрос у меня к Вам - как сравнить что одна полученная модель лучше чем другая? |
|
![]() |
![]() |
![]() |
![]()
Сообщение
#2
|
|
Группа: Пользователи Сообщений: 27 Регистрация: 5.02.2012 Пользователь №: 23464 ![]() |
Посмотрел, нашел что AIC ? информационный критерий Акаике (первый раз слышу про такой
![]() Почитал про step ( http://stat.ethz.ch/R-manual/R-devel/libra.../html/step.html ) , и не совсем понял его рекомендуют применять для линейных моделей? насколько оправданно и возможно его применение для регресии кокса? Дальше попробовал его применить - мне нужно сравнить модель1, включающую proBNP + efmss, и модель2, включающую proBNP + efmss + gal + cys. Получилось это в два действия, из 2 модели программа выбирает 3 предиктора, до двух она не доходит. Поэтому вторым действием вручную сделал модель proBNP + efmss: Код > step(coxph(Surv(day,event)~ proBNP + efmss + gal + cys, data), direction = "backward") Start: AIC=865.02 Surv(day, event) ~ proBNP + efmss + gal + cys Df AIC - proBNP 1 864.48 <none> 865.02 - cys 1 865.74 - efmss 1 869.86 - gal 1 932.18 Step: AIC=864.48 Surv(day, event) ~ efmss + gal + cys Df AIC <none> 864.48 - cys 1 867.13 - efmss 1 874.56 - gal 1 930.86 Call: coxph(formula = Surv(day, event) ~ efmss + gal + cys, data = data) coef exp(coef) se(coef) z p efmss -3.75697 0.0234 1.13e+00 -3.32 0.00089 gal 0.09448 1.0991 1.05e-02 8.99 0.00000 cys 0.00019 1.0002 8.61e-05 2.20 0.02800 Likelihood ratio test=209 on 3 df, p=0 n= 197, number of events= 108 > step(coxph(Surv(day,event)~ proBNP + efmss, data), direction = "backward") Start: AIC=971.42 Surv(day, event) ~ proBNP + efmss Df AIC <none> 971.42 - proBNP 1 982.64 - efmss 1 999.83 Call: coxph(formula = Surv(day, event) ~ proBNP + efmss, data = data) coef exp(coef) se(coef) z p proBNP 0.00031 1.00031 8.15e-05 3.81 1.4e-04 efmss -6.32391 0.00179 1.23e+00 -5.13 2.9e-07 Likelihood ratio test=100 on 2 df, p=0 n= 197, number of events= 108 Посоветуйте пожалуйста как нарисовать AIC, тут я не понял ![]() |
|
![]() |
![]() |
![]()
Сообщение
#3
|
|
![]() Группа: Пользователи Сообщений: 1091 Регистрация: 26.08.2010 Пользователь №: 22699 ![]() |
Посмотрел, нашел что AIC ? информационный критерий Акаике (первый раз слышу про такой ![]() Почитал про step ( http://stat.ethz.ch/R-manual/R-devel/libra.../html/step.html ) , и не совсем понял его рекомендуют применять для линейных моделей? насколько оправданно и возможно его применение для регресии кокса? Дальше попробовал его применить - мне нужно сравнить модель1, включающую proBNP + efmss, и модель2, включающую proBNP + efmss + gal + cys. Получилось это в два действия, из 2 модели программа выбирает 3 предиктора, до двух она не доходит. Поэтому вторым действием вручную сделал модель proBNP + efmss: Код > step(coxph(Surv(day,event)~ proBNP + efmss + gal + cys, data), direction = "backward") Start: AIC=865.02 Surv(day, event) ~ proBNP + efmss + gal + cys Df AIC - proBNP 1 864.48 <none> 865.02 - cys 1 865.74 - efmss 1 869.86 - gal 1 932.18 Step: AIC=864.48 Surv(day, event) ~ efmss + gal + cys Df AIC <none> 864.48 - cys 1 867.13 - efmss 1 874.56 - gal 1 930.86 Call: coxph(formula = Surv(day, event) ~ efmss + gal + cys, data = data) coef exp(coef) se(coef) z p efmss -3.75697 0.0234 1.13e+00 -3.32 0.00089 gal 0.09448 1.0991 1.05e-02 8.99 0.00000 cys 0.00019 1.0002 8.61e-05 2.20 0.02800 Likelihood ratio test=209 on 3 df, p=0 n= 197, number of events= 108 > step(coxph(Surv(day,event)~ proBNP + efmss, data), direction = "backward") Start: AIC=971.42 Surv(day, event) ~ proBNP + efmss Df AIC <none> 971.42 - proBNP 1 982.64 - efmss 1 999.83 Call: coxph(formula = Surv(day, event) ~ proBNP + efmss, data = data) coef exp(coef) se(coef) z p proBNP 0.00031 1.00031 8.15e-05 3.81 1.4e-04 efmss -6.32391 0.00179 1.23e+00 -5.13 2.9e-07 Likelihood ratio test=100 on 2 df, p=0 n= 197, number of events= 108 Посоветуйте пожалуйста как нарисовать AIC, тут я не понял ![]() AIC нужен чтобы выбрать правильно модель которая сочетает оптимально и сложность своей структуры и точность подгонки к данным. Такая модель имеет наибольшую прогностическую ценность для новых данных. step() можно применять, модель чем бы она не была описана сводится к своему предсказанию для экспериментальной точки. По остаткам и проводится сравнение моделей. Вот степ пишет как уменьшается AIC упрощаемой модели, достигает минимума и потом растет. Модель с минимальным AIC должна обладать наилучшими способностями прогноза. Да, для трех параметров пожалуй достаточно перечислить в порядке убывания. Обычно параметров очень много и получается последовательность которую лучше увидеть графически. Правильно все рисовали, только вот такое замечание есть ?survival::survfit.coxph Users are strongly advised to use the newdata argument. Note that this data set needs to contain values for the main effects but not for any interaction terms. Еще можно протестировать выполнены ли предположения о пропорциональности cox.zph Вот еще графики диагностические для таких моделей http://stats.stackexchange.com/questions/2...xph-and-rms-cph Вот для визуализации самой модели plot.coxph {flexCrossHaz} Plot the estimated time varying log hazard ratio along with pointwise confidence intervals ![]() |
|
![]() |
![]() |
![]() ![]() |