Я хотел бы восстановить зависящие от времени ковариатные коэффициенты с помощью модели пропорциональной опасности Кокса.
Это мой код для моделирования данных. X.3 - изменяющийся во времени ковариат здесь.
n = 500
zFun <- function(time) {cbind(runif(1, min = 0, max = 1),
runif(1, min = -1, max = 0),
pmin((1/time + 1)/10, 1),
rnorm(1, 0, .25))}
my_data = simEventData(n,
z = zFun,
zCoef = c(1, -1, -.5, 1),
rho = .5,
endTime = 5)
da2 = my_data %>%
group_by(ID) %>%
mutate(start = ifelse(time ==min(time), 0, lag(time)),
X.1 = ifelse(event == 0, lag(X.1), X.1),
X.2 = ifelse(event == 0, lag(X.2), X.2),
X.3 = ifelse(event == 0, lag(X.3), X.3),
X.4 = ifelse(event == 0, lag(X.4), X.4)) %>%
filter(n() > 1)
Теперь я хотел восстановить истинные коэффициенты 1, -1, -0,5 и 1. Это моя бесполезная попытка восстановить их:
mod2 = coxph(Surv(start, time, event) ~ X.1 + X.2 + X.3 + X.4 , data = da2)
summary(mod2)
Коэффициенты, которые я получаю из этой модели, далеки от коэффициентов, которые я смоделировал.