3

パッケージが並列多重代入 (MI) のAmelia Rサポートを提供するという事実を認識しています。ただし、私の研究データの予備分析により、データが多変量正規分布ではないことが明らかになったため、残念ながら を使用できません。したがって、このパッケージは多変量正規ではないデータに対して MI を実行できるため、MI 用パッケージの使用に切り替えました。 Ameliamice R

経由の MI プロセスmice非常に遅いため(現在、AWS m3.large2 コア インスタンスを使用しています)、処理時間を節約するために手順を並列化できないか考え始めました。miceドキュメントと対応する JSS ペーパー、およびのソース コードを確認miceしたところ、現在、このパッケージは並列操作をサポートしていないようです。これは悲しいことです。なぜなら、MICE アルゴリズムは自然に並列であるため、その並列実装は比較的簡単であり、時間とリソースの両方を大幅に節約できるからです。

質問:mice外部 (並列機能を介して) または内部 (ソース コードを変更することによって) のいずれかでパッケージ内のMI を並列化しようとした人はいRますか? また、もしあればその結果は何ですか? ありがとうございました!

4

1 に答える 1

2

最近、パッケージを介して外部で多重代入 (MI)を並列化しようとしました。つまり、マルチプロセッシング機能、特にベース ディストリビューションに標準で付属しているパッケージを使用することです。基本的に、解決策は、関数を使用して、必要な MI 反復の総数の事前に計算されたシェアを分配し、結果の帰属データを 1 つのオブジェクトに結合することです。パフォーマンスに関しては、このアプローチの結果は私の最も楽観的な期待を超えています。処理時間は 1.5 時間から7 分未満に短縮されました。miceRparallelRmclapply()(!)。それは2つのコアだけです。マルチレベル因子を 1 つ削除しましたが、あまり効果がないはずです。とにかく、結果は信じられないほどです!

于 2014-10-02T03:44:29.243 に答える