прогнозировать по тестовым данным в анализе случайной выживаемости леса

#r #random-forest #survival-analysis

#r #случайный лес #анализ выживания

Вопрос:

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

 pred_cohort <- predict(model, cohort,na.action = "na.impute")
  

Поскольку когорта представляет собой небольшой набор (всего 8 наблюдений), количество уровней факторов меньше, чем в обучающем наборе, созданном моделью. Теперь я понимаю, по случайному совпадению, что если я установлю уровни реальной когорты данных как уровни модели (пример кода se ниже) Я получаю другие ответы на предсказание, чем если бы я этого не делал. почему это так?

 levels(cohort$var1)<levels(model$xvar$var1)
  

Я также понимаю, что условное значение для отсутствующих ячеек будет другим, если я заставлю уровни реальных данных быть уровнями модели (в соответствии с приведенным выше кодом), а затем, если я оставлю уровни как есть.

Вопрос в том, является ли это ошибкой? если нет, то какой способ предпочесть? И почему стоит предпочесть именно этот вариант?

Комментарии:

1. Пожалуйста, добавьте воспроизводимый пример и более подробно остановитесь на проблеме. Что вы подразумеваете под разными ответами? Насколько велик обучающий набор данных и т.д.?

2. Я обнаружил проблему, при изменении уровней в соответствии с вышеизложенным меняются не только уровни, но и значения внутри фрейма данных. Вот почему я получил разные результаты. Вместо этого, чтобы просто зафиксировать уровни, следует ввести «когорта [,’var1′] <- фактор (когорта[,’var1′], уровни=уровни(модель $xvar[,’var1′]))