有没有人试图在'鼠标'包中并行化多重插补?

时间:2014-09-29 08:04:19

标签: r parallel-processing

我意识到Amelia R包为并行 多重插补(MI)提供了一些支持。但是,对我研究数据的初步分析显示,数据 多元正常,所以,遗憾的是,我无法使用{{1} }。因此,我已切换到使用Amelia mice包用于MI,因为此程序包可以对非多变量正常的数据执行MI。

由于R的MI流程非常慢(目前我正在使用AWS mice 2核实例),我开始怀疑是否可以并行化程序以节省处理时间。根据我对m3.large文档和相应JSS文章以及mice源代码的评论,看来目前该软件包不支持并行操作。这很难过,因为恕我直言,MICE算法自然并行,因此,它的并行实现应该相对容易,并且会在时间和资源方面带来显着的经济效益。

问题有没有人尝试在mice包中并行化MI,无论是在外部(通过mice并行设施),还是在内部(通过修改源代码)和什么是结果,如果有的话?谢谢!

1 个答案:

答案 0 :(得分:2)

最近,我尝试在外部通过mice软件包并行化多重插补(MI),即使用R多处理工具,特别是{ {1}}包,标配parallel基本分发。基本上,解决方案是使用R函数来分配所需MI迭代总数的预先计算的份额,然后将得到的估算数据组合到单个对象中。 性能方面,这种方法的结果超出了我最乐观的预期:处理时间从1.5小时减少到 7分钟以下(! )。那只是在两个核心上。我删除了一个多级因素,但它不会产生太大影响。无论如何,结果令人难以置信!