簡體   English   中英

有沒有人嘗試在“小鼠”包中並行化多重插補?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM