Случайный анализ выживания леса падает - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь запустить RFSRC на фрейме данных 6500 записей с 59 переменными:

rfsrc_test <- rfsrc(Surv(TIME, DIED) ~ ., data=test, nsplit=10, na.action = "na.impute")

Кажется, это работает, когда я запускаю его на 1500 записей, но вылетает во всем наборе данных.
Вылетает R без какой-либо конкретной ошибки - иногда это дает "исключительную ошибку обработки".
Есть мысли, как отладить эту?Я просмотрел базу данных на странные строки без какой-либо удачи.

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Одна вещь, которую вы можете проверить, это переменная времени - сколько существует различных значений?Лес выживания сохранит функцию кумулятивного риска для каждого узла.Если количество уникальных временных точек в наборе данных велико, то и CHFS также становятся большими ... пришлось округлить мою временную переменную, и это значительно сократило время выполнения.

0 голосов
/ 28 ноября 2018

Мы не знаем ни размера каждой записи, ни сложности переменных.

Я сталкивался с подобными ситуациями, когда сталкивался с накладными расходами ОЗУ.R не предназначен для массивных наборов данных.Параллельная обработка решит эту проблему, однако R не предназначен для этого, следующим предложением является покупка большего объема ОЗУ.

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

...