Прогнозирование вероятности заболевания в соответствии с непрерывной переменной путем корректировки путаницы переменных - PullRequest
1 голос
/ 15 мая 2019

У меня есть сомнения относительно пакета R "поля". Я оцениваю логистическую модель:

modelo1 <- glm(VD ~ VE12 + VE.cont + VE12:VE.cont + VC1 + VC2 + VC3 + VC4, family="binomial", data=data)

Где:
VD2 - дихотомическая переменная (1 болезнь / 0, а не болезнь)
VE12 - это дихотомическая переменная воздействия (со значениями 0 и 1)
VE.cont переменная непрерывного воздействия
VCx (остальные переменные) являются смешанными переменными.

Моя цель - получить прогнозируемую вероятность заболевания (VD2) для вектора значений VE.cont и для каждой группы VE12, но с учетом VCx переменных. Другими словами, я хотел бы получить линию доза-ответ между VD2 и VE.cont группой VE12, но предполагая одинаковое распределение VCx для каждой линии доза-ответ (т.е. без смешения).

Следуя номенклатуре этой статьи (https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4052139/) Я думаю, что мне следует выполнить «предельную стандартизацию» (метод 1), которую можно выполнить с помощью stata, но я не уверен, как я могу это сделать с Р. Я использую этот синтаксис (с R):

cdat0 <- cplot(modelo1, x="VE.cont", what="prediction", data = data[data[["VE12"]] == 0,], draw=T, ylim=c(0,0.3))

cdat1 <- cplot(modelo1, x="VE.cont", what="prediction", data = data[data[["VE12"]] == 1,], draw=marg"add", col="blue")

но я не уверен, правильно ли я это делаю, потому что этот подход дает результаты, аналогичные использованию модели без смешения переменных и функции predict.glm.

       modelo0 <- glm(VD2 ~ VE12 + VE.cont + VE12:VE.cont, family="binomial", data=data)

Возможно, мне следует использовать параметр поля, но я не понимаю результатов, потому что значения, полученные в столбце VE.cont, не находятся в шкале вероятности (от 0 до 1).

x <- c(1,2,3,4,5)
margins::margins(modelo1, at=list("VE.cont"=x, "VE12"=c(0,1)), type="response")

Это пример рисунка, который я хотел бы получить:

...