[英]Has anyone tried to parallelize multiple imputation in 'mice' package?
我知道Amelia
R
包為並行多重插補 (MI)提供了一些支持。 但是,對我的研究數據的初步分析顯示數據不是多元正態的,因此,不幸的是,我不能使用Amelia
。 因此,我改用針對 MI 的mice
R
包,因為該包可以對非多元正態數據執行 MI。
由於通過mice
的 MI 過程非常緩慢(目前我使用的是 AWS m3.large
2 m3.large
例),我開始懷疑是否可以並行化該過程以節省處理時間。 根據我的檢討mice
文件和相應的JSS文件,以及mice
的源代碼,看來目前包不支持並行操作。 這是可悲的,因為恕我直言,MICE 算法自然是並行的,因此,它的並行實現應該相對容易,並且會在時間和資源上產生顯着的經濟性。
問題:有沒有人嘗試在mice
包中並行化 MI,無論是在外部(通過R
並行工具)還是在內部(通過修改源代碼),結果是什么(如果有的話)? 謝謝!
最近,我嘗試通過外部的mice
包來並行化多重插補 (MI) ,也就是說,通過使用R
多處理設施,特別是R
基礎發行版標配的parallel
包。 基本上,解決方案是使用mclapply()
函數來分配所需 MI 迭代總數的預先計算份額,然后將結果估算數據合並到單個對象中。 在性能方面,這種方法的結果超出了我最樂觀的預期:處理時間從 1.5 小時減少到7 分鍾以下(!)。 那只是在兩個內核上。 我已經刪除了一個多級因素,但它應該沒有太大影響。 無論如何,結果令人難以置信!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.