Нужно ли мне использовать future_map или map для распараллеливания прогноза fable?

#forecasting #fable-r #r-future

#прогнозирование #fable-r #r-будущее

Вопрос:

Я создал tsibble из ~ 75 ТЫС. временных рядов в R Studio на своем локальном компьютере.

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

Обрабатывает ли Fable всю параллельную обработку в фоновом режиме или есть больше возможностей для повышения эффективности кода?

Вот пример моего кода

 plan(multisession, gc= TRUE)
tic()
results <- train %>%
  group_by_key() %>%  
  model(my_dcmp_spec) %>% 
  forecast(h="10 weeks") %>% 
  ungroup()
toc()
 

Заранее благодарю вас!

Ответ №1:

В настоящее время fable будет моделировать каждую из серий параллельно ( model() ) в соответствии с вашим plan() . Прогнозы пока не будут выполняться параллельно, но это запланировано для предстоящего выпуска: https://github.com/tidyverts/fabletools/issues/268

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

1. Мне понадобится спецификация. Когда model() работает параллельно, разделяются ли данные, модель или оба? Предполагая, что у нас есть tsibble с ключом, который включает три уровня и готов протестировать ModelA и ModelB, будет ли распараллеливание разделено на шесть, три или два потока?

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

3. Спасибо, Митч. Ваша поддержка всегда чрезвычайно ценна