вычисление индекса соответствия с рейнджером (пакет R) - PullRequest
0 голосов
/ 02 июня 2018

Я пытаюсь использовать прогнозы из случайного леса выживания, рассчитанного с помощью Ranger, для вычисления индекса c в определенные моменты времени.Я знаю, что это легко сделать для модели coxph со следующим кодом:

  cox_model = coxph(Surv(time, status == 1) ~ ., data = train)
  c_index_test  <- pec::cindex(cox_model, formula = Cox_model$formula, data=test, eval.times= c(30, 90, 730)) 
#want to evaluate at 1 month, 3 months, and 2 years

Однако, хотя я могу легко вычислить c-индекс в эти моменты времени с помощью случайного леса, сгенерированного с использованием rfsrc(),Я не смог сделать это, используя ranger.

В дополнение к функции pec cindex() (которая не работает с объектами класса " ranger ", у меня естьтакже пробовал функцию concordance.index (часть пакета SurvComp) и пробовал различные комбинации использования функции pregnet.ranger для генерации прогнозов вероятности выживания, но ничего не помогло.

Если кто-то может предоставить код относительно того, какчтобы вычислить c-индекс рейнджера RSF ( в определенные моменты времени и на внешнем наборе проверки ), я был бы очень признателен !!! Я смог сделать это с randomforestSRC, но это простоЭто занимает столько времени, что часто мой R-сеанс истекает, и я фактически не смог получить ЛЮБЫЕ результаты с прогонами, имеющими> 10 деревьев ...

1 Ответ

0 голосов
/ 25 июля 2018

Рейнджер-пакеты вычисляют c-индекс Харрелла, который похож на статистику соответствия.Если у вас установлена ​​модель rf, атрибут prediction.error эквивалентен 1 - Harrell's c-index.Взгляните на следующую ссылку для получения более подробной информации.

...