Я хотел бы рассчитать 10 миллионов реплик bootstrap в R, но на моей машине не хватает памяти как есть (128 ГБ).bootstrapping с 10 миллионами реплик - недостаточно памяти
Прямо сейчас, я делал это с помощью boot
над несколькими ядрами:
boot_data <- boot(data=data, statistic=correlation_fn, R=10^7,
parallel="multicore", ncpus=10)
Даже до того, как дочерние процессы даже начать расчет (путем мониторинга с htop
, расчет выполняется из памяти:
Ошибка в mcfork():
смог вилке, возможная причина: не может выделить память
вызовы: cor_boot_wrap -> загрузки -> -> lapply -> FUN -> mcfork
Выполнение остановлено
Предупреждение Сообщение:
системный вызов не удалось: Невозможно выделить память
Есть ли другой способ сделать это с помощью картографирования памяти (возможно, с bigmemory
или ff
)? Я понимаю, что эту проблему можно легко решить, используя другую машину с большим объемом памяти, но это не вариант для меня.
В конце я использую boot.ci(boot_data, type="bca")
для расчета доверительных интервалов, поэтому любой промежуточный метод должен быть совместим с этим.
Какой анализ вы делаете, что вам действительно нужно 10 миллионов образцов? –
Возможно, это будет возможно сделать, но без воспроизводимого примера мы не сможем сделать, чтобы помочь вам. Однако сначала вы должны проверить это без распараллеливания и попробуйте с меньшим увеличением числа n, чтобы экстраполировать потребность в памяти. – Roland
Хорошая идея, я буду работать над воспроизводимым анализом и пересмотреть вопрос. –