случайные эффекты модель Кокса - PullRequest
0 голосов
/ 04 сентября 2018

Я пытаюсь построить зависимость доза-ответ между воздействием pm2.5 и частотой гипертонии. Я установил модель Кокса со случайными эффектами, в которой случайный эффект был добавлен для учебных центров. Затем я использовал функцию plotHR для построения зависимости доза-ответ. Но я встретил ошибку. Ниже приведен пример кода R, который я использовал.

library(survival)
library(coxme) 
library(splines)
library(Greg)

data("eortc")
eortc$age<-rnorm(2323,40,10)

efit1 <- coxph(Surv(y, uncens) ~ ns(age) + trt , eortc)
plotHR(efit1,term = 1,xlim = c(30,70))

efit2 <- coxme(Surv(y, uncens) ~ ns(age) + trt + (1|center), eortc)
plotHR(efit2,term = 1,xlim = c(30,70))

Я могу построить efit1 с помощью plotHR, но я обнаружил ошибку при построении efit2, в которой я добавил случайный эффект в модель Кокса. Кто-нибудь знает, как решить эту проблему? Спасибо!

1 Ответ

0 голосов
/ 04 сентября 2018

Это показывает, что predict.coxme может вернуть для такой модели. Я предполагаю, что это не будет полностью удовлетворительным, но я утверждаю, что это полезно, потому что оно демонстрирует, что смешанные модели похожи "под капотом". У каждого центра есть отдельный прогноз, но, поскольку нет никаких утверждений о том, что они имеют какое-то конкретное распределение, усилия по их агрегированию по их средствам считаются статистически подозрительными. Это строит построенные по экспоненте линейные предикторы для модели, включающей «сплайновую» подгонку без узлов (что дает вам кучу линий). Я закрашиваюсь на trt статус: черный для "0" и красный для "1"

plot( eortc$age, exp( predict(efit2)), col=1+(eortc$trt==1) )

efit

«Средняя» разница между группами trt == 0 и trt == 1 действительно обнаруживается и согласуется с измеренным эффектом лечения exp(0.705) -> [1] 2.023847, а эффект "возраста", который в модели не был значительным, равен очень неглубокий линейный рост.

...