Как запустить параллельную модель mhurdle на нескольких ядрах с помощью future.apply - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь запустить модель mhurdle для большой модели с 35 переменными и 4,5M строками данных. У меня есть виртуальная машина на GCP с 16 процессорами и 60 ГБ оперативной памяти, но модель использует только 1 ядро, и для ее запуска требуется много времени.

Я искал пакет future.apply, чтобы модель работала параллельно на всех процессорах для повышения производительности. Я не уверен, как переписать свой код для модели для работы с пакетом future.apply, поскольку я новичок в параллельном кодировании.

Краткое описание модели препятствий: Mhurdle - это функция для оценки моделей с нулевыми цензурированными переменными слева (например, модель двойного препятствия, предложенная Крэггом) , Функция должна определять формулу, описывающую модель, которая должна быть подогнана, фрейм данных с переменными в формуле, должны ли коррелироваться препятствия и распределение члена ошибки.

Вот код для построения модели:

library("mhurdle")    
idhm_log_normal <- mhurdle(transactionRevenue ~ uniquePageviews + productDetailViews + timeOnPage + searchUniques + revisitedPages +
                             device_tablet + device_mobile + Faroe_Islands + Greenland + Iceland + other_countries + paid_search + organic_search + display_ads + other_traffic_sources +
                             night + morning + evening + rural + other_cities + Average_temp + Hours_of_sun + Precipitation + One_week_till_christmas + Two_weeks_till_christmas +
                              Three_weeks_till_christmas + Holiday + Weekend + Black_Friday + pay_day_effect + spring + summer + fall |
                             uniquePageviews + productDetailViews + timeOnPage + searchUniques + revisitedPages +
                             device_tablet + device_mobile + Faroe_Islands + Greenland + Iceland + other_countries + paid_search + organic_search + display_ads + other_traffic_sources +
                             night + morning + evening + rural + other_cities + Average_temp + Hours_of_sun + Precipitation + One_week_till_christmas + Two_weeks_till_christmas +
                              Three_weeks_till_christmas + Holiday + Weekend + Black_Friday + pay_day_effect + spring + summer + fall|
                             0, data = data_modelling, dist = "ln", h2 = TRUE, corr = FALSE)
summary(idhm_normal)

Большая часть кода - это переменные из дейтаграммы.

Если есть пакет, отличный от future.apply для запуска этой модели на нескольких ядрах, я также открыт для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...