Войдите в систему

Для просмотра этого контента требуется подписка на Jove Войдите в систему или начните бесплатную пробную версию.

В этой статье

  • Резюме
  • Аннотация
  • Введение
  • протокол
  • Результаты
  • Обсуждение
  • Раскрытие информации
  • Благодарности
  • Материалы
  • Ссылки
  • Перепечатки и разрешения

Резюме

В настоящем протоколе описываются коды в R для оценки различающих и калибровочных способностей конкурирующей модели риска, а также коды для ее внутренней и внешней проверки.

Аннотация

Модель пропорционального риска Кокса широко применяется для анализа выживаемости в клинических условиях, но она не способна справиться с множественными исходами выживаемости. В отличие от традиционной модели пропорциональной опасности Кокса, конкурирующие модели риска учитывают наличие конкурирующих событий и их комбинацию с номограммой, графическим вычислительным устройством, которое является полезным инструментом для клиницистов для проведения точного прогностического прогнозирования. В этом исследовании мы сообщаем о методе установления номограммы конкурирующего риска, то есть оценки его способности к дискриминации (т. е. индексу соответствия и площади под кривой) и калибровочной (т. е. калибровочные кривые), а также чистой выгоды (т. е. анализ кривой принятия решений). Кроме того, была выполнена внутренняя валидация с использованием начальной выборки исходного набора данных и внешняя валидация с использованием внешнего набора данных установленной номограммы конкурирующего риска, чтобы продемонстрировать его экстраполяционную способность. Номограмма конкурирующего риска должна служить полезным инструментом для клиницистов для прогнозирования прогноза с учетом конкурирующих рисков.

Введение

В последние годы с развитием прецизионной медицины были выявлены новые прогностические факторы, и прогностические модели, сочетающие молекулярные и клинико-патологические факторы, привлекают все большее внимание в клинических условиях. Однако неграфические модели, такие как модель пропорциональной опасности Кокса, с результатами значений коэффициентов, трудно понятьклиницистам 1. Для сравнения, номограмма — это инструмент визуализации регрессионных моделей (включая регрессионную модель Кокса, конкурирующую модель риска и т. д.), двумерную диаграмму, предназначенную для приближенного графического вычисления математической функции2. Это позволяет оценивать различные уровни переменных в клинической модели и рассчитывать оценки риска (RS) для прогнозирования прогноза.

Оценка модели имеет важное значение при построении модели, и для оценки обычно принимаются две характеристики: дискриминация и калибровка. В клинических моделях дискриминация относится к способности модели отделять людей, у которых развиваются события, от тех, у кого их нет, таких как пациенты, которые умирают, и те, кто остается в живых, и индекс соответствия (C-индекс) или площадь под кривой рабочих характеристик приемника (AUC) обычно используются для его характеристики 3,4. Калибровка — это процесс сравнения предсказанных вероятностей модели с фактическими вероятностями, и для его представления широко используются калибровочные кривые. Кроме того, валидация модели (внутренняя и внешняя валидация) является важным этапом в построении модели, и только проверенные модели могут быть дополнительно экстраполированы5.

Модель пропорциональной опасности Кокса — это регрессионная модель, используемая в медицинских исследованиях для изучения связей между прогностическими факторами и статусом выживаемости. Однако модель пропорционального риска Кокса учитывает только два статуса исхода [Y (0, 1)], в то время как испытуемые часто сталкиваются с более чем двумя статусами, и возникают конкурирующие риски [Y (0, 1, 2)]1. Общая выживаемость (ОВ), которая определяется как время от даты происхождения (например, лечения) до даты смерти по любой причине, является наиболее важной конечной точкой в анализе выживаемости. Тем не менее, ОВ не может дифференцировать смерть, специфичную для рака, от смерти, не связанной с раком (например, сердечно-сосудистые события и другие несвязанные причины), тем самым игнорируя конкурирующие риски6. В этих ситуациях модель конкурирующего риска является предпочтительной для прогнозирования состояния выживания с учетом конкурирующих рисков7. Методология построения и проверки моделей пропорциональной опасности Кокса хорошо зарекомендовала себя, в то время как было мало сообщений о проверке конкурирующих моделей риска.

В нашем предыдущем исследовании была установлена специфическая номограмма конкурирующего риска, комбинация номограммы и модели конкурирующего риска, а также оценка оценки риска на основе модели конкурирующего риска8. Это исследование направлено на то, чтобы представить различные методы оценки и валидации установленной номограммы конкурирующего риска, которые должны служить полезным инструментом для клиницистов для прогнозирования прогноза с учетом конкурирующих рисков.

протокол

База данных эпиднадзора, эпидемиологии и конечных результатов (SEER) представляет собой базу данных о раке с открытым доступом, которая содержит только обезличенные данные пациентов (SEER ID: 12296-Nov2018). Таким образом, это исследование было освобождено от одобрения наблюдательного совета аффилированной больницы Цзиньхуа Медицинской школы Чжэцзянского университета.

1. Подготовка данных и подготовка пакетов R

  1. Подготовьте и импортируйте данные.
    > Набор данных <- чтение.csv(".../Данные о раке молочной железы.xlsx") #Import данные.
    ПРИМЕЧАНИЕ: Данные загружены в дополнительный файл 1.
  2. Установите и загрузите пакеты R.
    > пакеты <- c("rms","cmprsk","mstate","survival","riskRegression","
    продлим»)
    > req.pcg <- function(pcg){
    Новый <- PCG[!( pcg %in% installed.packages()[, "Package"])]
    if (length(new)) install.packages(new, dependencies = T)
    sapply(pcg, требовать, ch = T)
    }
    > req.pcg(пакеты)

    ПРИМЕЧАНИЕ: Выполните следующие процедуры на основе программного обеспечения R (версия 3.6.2), используя пакеты rms, cmprsk, mstate, survival, riskRegression и prodlim (http://www.r-projectrg/).

2. Установите конкурирующие номограммы риска двумя различными методами

  1. Установите номограмму конкурирующего риска прямым методом.
    > mod_cph <- cph(Surv(Месяцы выживания, статус) ~ фактор1+ фактор2+...,
    x=T, y=T, surv=T, data=Dataset)
    > nom <- номограмма(mod_cph, fun=list(function(x) 1-surv_cph(36, x)...),
    funlabel=c("3-year event1 Prob." ...), lp=F)
    #Take 36-й месяц в качестве примера.
    > mod_crr <- crr(Survivalmonths, fstatus, failcode=1, cov1=cov)
    > оценка <- log(log((1-real.3y),(1-cif.min36)))/(maxbeta/100)
    > сюжет(ном)
  2. Установите номограмму конкурирующего риска взвешенным методом.
    > df.w <- crprep("Survivalmonths"," fstatus",
    data=Набор данных, trans=c(1,2), cens=0,
    keep=c("factor1",factor2"...))
    > mod.w <- cph(Surv(Tstart, Tstop, status==1) ~ factor1+factor2+...,
    data=df.w, weight=weight.cens, subset=failcode==1, surv=T)
    > nom.w <- номограмма (mod.w...)

3. Дискриминационная способность номограммы конкурирующего риска

  1. С-индекс дискриминации
    1. Вписать матричный cov в конкурирующую модель риска mod_crr. и получить прогнозируемый матричный внедорожник.
      > внедорожник <- predict.crr(mod_crr, cov)
    2. Получите кумулятивные случаи за определенный месяц из внедорожника и рассчитайте C-индекс с помощью функции rcorr.cens.
      > CIF36 <- SUV[which(suv[,1]==36),][-1]
      > rcorr <- rcorr.cens(1-cif36,Surv(Dataset$Survivalmonths,Dataset$tumordeath))
      > cindex <- rcorr[1]
  2. AUC за дискриминацию
    1. Оцените прогностическую эффективность конкурирующей модели риска с помощью функции Score (пакет riskRegression).
      > fgr.w <- FGR(Hist(Survivalmonths, fstatus) ~ factor1+ factor2+..., data=Dataset, cause=1)
      > оценка <- Score(list("Fine-Gray" = fgr.w),
    2. Извлеките AUC из «партитуры».
      > оценка$AUC

4. Калибровочная способность конкурирующих моделей риска

  1. Калибровочные кривые с 95% доверительным интервалом конкурирующей модели риска
    1. Получите кадр данных с совокупными случаями каждого человека за определенное время отказа.
      > CIF36 <- data.frame(cif36) #Take 36-м месяце в качестве примера.
      > colnames(cif36.36_o)<-c("36m")
    2. Разделите когорту в соответствии с предполагаемой кумулятивной заболеваемостью на пять подгрупп и рассчитайте среднее прогнозируемое кумулятивное число случаев каждой подгруппы.
      > group36 <- cut(CIF36$'36m',
      quantile(CIF36$'36M', seq(0, 1, 0.2)),
      include.low = ИСТИНА, метки = 1:5)
      > mean36 <- as.vector(by(cif36 $'36m', group36, mean))
    3. Рассчитайте наблюдаемые кумулятивные случаи, то есть фактические кумулятивные случаи, используя функцию cuminc, а затем получите наблюдаемые кумулятивные случаи с 95% доверительным интервалом в определенное время отказа.
      > cum36 <- cuminc(Dataset$Survivalmonths,Dataset$fstatus,group36)
      > obs36 <- timepoints(cum36,Dataset$Survivalmonths)$est[c(1:5),36]
      > obs36var <- timepoints(cum36,Dataset$Survivalmonths)$var[c(1:5),36]
      > df <- data.frame(mean36; obs36; obs36var)
    4. Построите калибровочную кривую с прогнозируемыми кумулятивными случаями в качестве оси x и наблюдаемыми кумулятивными случаями в качестве оси Y, используя функцию ggplot.
      > ggplot(df)+ geom_point(aes(x=mean36,y=obs36),col="red")+
      geom_point(aes(x=mean36,y=obs36),col="red",pch=4)+
      geom_line(col="red",aes(x=mean36,y=obs36))+
      geom_errorbar(col="red",aes(x=mean36,y=obs36+1.96
      *sqrt(obs36var)),
      ymin = obs36-1,96 * sqrt (obs36var), ymax = obs36 + 1,96
      *sqrt(obs36var))
      geom_abline(lty=3,lwd=2,col=c(rgb(0,118,192;
      maxColorValue=255)))
  2. Калибровочная кривая с оценками риска конкурирующей модели риска
    1. Оцените каждый уровень всех переменных и получите общий RS.
      > Dataset$factor1[Dataset$factor1==1] <- factor1.scale["Factor1_level1"]
      >
      ... #For примере, Dataset$histology[Dataset$histology==1]<-histology.scale["Histology1"]
      > Dataset$rs <- Dataset$factor1+Dataset$factor2+Dataset$factor3+...
      ПРИМЕЧАНИЕ: Получите общий RS для каждого пациента, суммируя баллы каждой переменной.
    2. Подсчитайте частоты и рассчитайте наблюдаемые кумулятивные случаи различных общих оценок риска.
      > rs.freq <- as.data.frame(table(Dataset$rs))
      > obs.36 <- vector(mode="numeric", length=nrow(rs.freq))
      > for (i in 1: nrow(rs.freq)) {
      набор данных <- подмножество(Dataset,Dataset$rs== rs.freq [i,1])
      cif.dataset <- cuminc(dataset$Survivalmonths,dataset$death3)
      CIF36.DataSet <- TimePoints(CIF.Dataset,36)
      obs.36[i] <- cif36.dataset$est[1]}
    3. Установите диапазон оси X и рассчитайте прогнозируемую кумулятивную частоту общих оценок риска.
      > RS <- диапазон(nom$total.points)
      > x.36 <- seq(min(RS),max(RS),0.01)
      > pre.36 <- 1-(1-cif.min36)^exp(x.36*maxbeta/100)
    4. Постройте калибровочную кривую с оценками риска.
      > plot(x.36, pre.36, type='l'...)
      > par(new=TRUE)
      > plot(as.vector(rs.freq[,1]), obs.36... )

5. Анализ кривой принятия решений конкурирующих моделей риска

  1. Источник функции stdca для выполнения анализа кривой принятия решений.
    > source("stdca. R")
  2. Извлеките полиномиальные уравнения из номограммы, чтобы вычислить вероятность выживания.
    > номограммаEx(nomo = nom)
    > Набор данных$предикторы <- A * (Dataset$rs ^3) + B * (Dataset$rs ^2) + C * Dataset$rs + D #predictors -
    прогнозируемые вероятности смерти от рака, рассчитанные по установленной номограмме
  3. Выполните анализ кривой принятия решений.
    > stdca(data = Dataset, result = "status", ttresult = "Survivalmonths", timepoint = 36,
    предикторы = "предикторы", cmprsk = ИСТИНА, гладкий = ЛОЖЬ, вероятность = ЛОЖЬ)

    ПРИМЕЧАНИЕ: Для оценки результата при наличии конкурирующего риска для cmprsk следует выбирать TRUE.

6. Внутренняя проверка с использованием метода bootstrap

  1. Получите среднее прогнозируемое кумулятивное число случаев с помощью метода начальной загрузки.
    1. Выполните интерполяцию исходного набора данных (Dataset) с помощью replace для создания набора данных начальной загрузки (Dataset_in). Создайте конкурирующую модель риска (mod.in_crr) с помощью набора данных начальной загрузки. Используйте функцию predict.crr для прогнозирования mod.in_crr и цикла b раз для генерации suvall.in.
      B=b
      suvall.in <- list()
      for(j in 1:B){
      Dataset_in <- Dataset[sample(c(1:nrow(Dataset)),nrow(Dataset),
      replace = TRUE),]
      Прикрепить(Dataset_ дюйма)
      cov. в <- model.matrix(~factor1+ factor2+...) [,-1]
      модуль. в _crr <- crr(Survivalmonths, fstatus, failcode=1, cov1=cov.in)
      detach(Dataset. inner)
      Внедорожник. в <- predict.crr(мод. в _crr, cov)
      suvall.in[[j]] <- suv.in}
    2. Получите среднее прогнозируемое кумулятивное число случаев за определенный месяц.
      CIF36All. внутренний <- vector(mode="numeric", length=nrow(Dataset))
      for (k in 1:B) {
      CIF36All. внутренний<- cif36all. Внутренний+ Сувалл. inner[[k]][which(suvall. inner[[k]][,1]==36),][-1]
      }
      cif36.in <- cif36all.in/B
  2. Вычислите C-индекс с помощью внутренней перекрестной проверки с помощью функции rcorr.cens.
    РКОРР. внутренний <- rcorr.cens(1-cif36.in,Surv(Dataset$Survivalmonths,Dataset$tumordeath))
    cindex. Внутренний <- rcorr. внутренний[1]
  3. Калибровка с помощью перекрестной внутренней проверки.
    ПРИМЕЧАНИЕ: Коды калибровочной кривой конкурирующей модели риска с внутренней валидацией аналогичны кодам в разделе 4, в то время как внедорожник был заменен на suv.in.

7. Внешняя валидация конкурирующей модели риска

  1. Получите прогнозируемую кумулятивную заболеваемость, используя внешние данные. Получите прогнозируемые кумулятивные случаи с матрицей переменных внешних данных (cov.ex).
    suv.ex <- predict.crr(mod_crr,cov.ex)
    cif36.ex <- suv.ex [which(suv.ex $time=="36"),][-1]
  2. Рассчитайте C-индекс с помощью внешней проверки.
    rcorr.ex <- rcorr.cens(1-cif36.ex,Surv(Dataset.ex$Survivalmonths,Dataset.ex$tumordeath))
    cindex.ex <- rcorr.ex[1]
  3. Калибровка с помощью внешней проверки.
    ПРИМЕЧАНИЕ: Коды калибровочной кривой конкурирующей модели риска с внутренней валидацией аналогичны кодам в разделе 4, в то время как suv заменен на suv.ex.

Результаты

В этом исследовании данные пациентов с раком молочной железы были извлечены из базы данных SEER и послужили примерными данными. База данных SEER предоставляет данные о раке, представляющем около 34,6% населения Соединенных Штатов, и было получено разрешение на доступ к базе данных (ссылочный...

Обсуждение

В этом исследовании сравнивали конкурирующие номограммы риска, установленные двумя различными методами, и проводили оценку и валидацию установленных номограмм. В частности, это исследование предоставило пошаговое руководство по установлению номограммы на основе прямого метода, а та...

Раскрытие информации

Авторы заявляют, что у них нет конкурирующих интересов.

Благодарности

Исследование было поддержано грантами Проекта плана медицинской науки и технологий провинции Чжэцзян (номера грантов 2013KYA212), общей программы Фонда естественных наук провинции Чжэцзян (грант No Y19H160126) и ключевой программы Муниципального научно-технического бюро Цзиньхуа (номера грантов 2016-3-005, 2018-3-001d и 2019-3-013).

Материалы

NameCompanyCatalog NumberComments
R softwareNoneNot ApplicableVersion 3.6.2 or higher 
Computer systemMicrosoft Windows 10 Windows 10 or higher

Ссылки

  1. Andersen, P. K., Gill, R. D. Cox's regression model for counting processes: A large sample study. The Annals of Statistics. 10 (4), 1100-1120 (1982).
  2. Lubsen, J., Pool, J., vander Does, E. A practical device for the application of a diagnostic or prognostic function. Methods of Information in Medicine. 17 (2), 127-129 (1978).
  3. Harrell, F. E., Lee, K. L., Mark, D. B. Multivariable prognostic models: Issues in developing models, evaluating assumptions and adequacy, and measuring and reducing errors. Statistics In Medicine. 15 (4), 361-387 (1996).
  4. Hung, H., Chiang, C. -. T. Estimation methods for time-dependent AUC models with survival data. The Canadian Journal of Statistics / La Revue Canadienne de Statistique. 38 (1), 8-26 (2010).
  5. Moons, K. G. M., et al. Risk prediction models: I. Development, internal validation, and assessing the incremental value of a new (bio)marker. Heart. 98 (9), 683-690 (2012).
  6. Fu, J., et al. Real-world impact of non-breast cancer-specific death on overall survival in resectable breast cancer. Cancer. 123 (13), 2432-2443 (2017).
  7. Fine, J. P., Gray, R. J. A proportional hazards model for the subdistribution of a competing risk. Journal of the American Statistical Association. 94 (446), 496-509 (1999).
  8. Wu, L., et al. Establishing a competing risk regression nomogram model for survival data. Journal of Visualized Experiments. (164), e60684 (2020).
  9. Zhang, Z., Geskus, R. B., Kattan, M. W., Zhang, H., Liu, T. Nomogram for survival analysis in the presence of competing risks. Annals of Translational Medicine. 5 (20), 403 (2017).
  10. Zhang, Z. H., et al. Overview of model validation for survival regression model with competing risks using melanoma study data. Annals Of Translational Medicine. 6 (16), 325 (2018).
  11. Newson, R. Confidence intervals for rank statistics: Somers' D and extensions. Stata Journal. 6 (3), 309-334 (2006).
  12. Davison, A. C., Hinkley, D. V., Schechtman, E. Efficient bootstrap simulation. Biometrika. 73 (3), 555-566 (1986).
  13. Roecker, E. B. Prediction error and its estimation for subset-selected models. Technometrics. 33 (4), 459-468 (1991).
  14. Steyerberg, E. W., Harrell, F. E. Prediction models need appropriate internal, internal-external, and external validation. Journal of Clinical Epidemiology. 69, 245-247 (2016).
  15. Zhang, Z., Chen, L., Xu, P., Hong, Y. Predictive analytics with ensemble modeling in laparoscopic surgery: A technical note. Laparoscopic, Endoscopic and Robotic Surgery. 5 (1), 25-34 (2022).

Перепечатки и разрешения

Запросить разрешение на использование текста или рисунков этого JoVE статьи

Запросить разрешение

Смотреть дополнительные статьи

187

This article has been published

Video Coming Soon

JoVE Logo

Исследования

Образование

О JoVE

Авторские права © 2025 MyJoVE Corporation. Все права защищены