MCMCglmm
R のパッケージを使用して混合効果モデルを実行すると、パフォーマンスの問題が発生します。コードは次のようになります。
MC1<-MCMCglmm(bull~1,random=~school,data=dt,family="categorical"
, prior=list(R=list(V=1,fix=1), G=list(G1=list(V=1, nu=0)))
, slice=T, nitt=iter, ,burnin=burn, verbose=F)
データには約20,000の観測があり、それらは約200の学校に集中しています。実行する前に、未使用の変数をすべてデータフレームから削除し、他のすべてのオブジェクトをメモリから削除しました。私が抱えている問題は、反復を許容できないほど小さな数に減らしない限り、実行に非常に長い時間がかかることです。50,000回の反復により、5時間かかり、実行する多くの異なるモデルがあります。したがって、コードの実行を高速化する方法、または使用できる他のパッケージがあるかどうかを知りたいと思います。MCMCglmm
ランダム効果の信頼区間が必要なため、使用しています。
一方で、私は今年後半に新しいPCを手に入れたいと思っていましたが、少し運が良ければそれを前に出すことができるかもしれないので、新しいハードウェアに限られた金額を使うにはどうすればいいですか? 、CPUの高速化など。タスクマネージャーを見ると、RAMが問題であるとは思いません(物理的な使用量の50%を超えることはありません)。 。私の現在のセットアップは、Intel Core i5 2.66GHz、4GB RAM、7200rpm HDDです。追加のRAMを犠牲にして、できるだけ高速なCPUを取得することは合理的ですか?また、このような統計計算の問題に対するレベル3のCPUキャッシュサイズの影響についても疑問に思いましたか?
アップデート:たSOメタに尋ねた私は、スーパーユーザーの質問およびポストを修正してくださいすることをお勧めされています。そのためには、MCMCglmmで「内部」で何が行われているかについて、より詳細に説明する必要があります。計算時間の大部分が最適化に費やされていると考えるのは正しいですか?つまり、いくつかの複雑な関数の最大値を見つけるということですか?行列の反転や他の線形代数演算もボトルネックの原因となる一般的な演算ですか?私がスーパーユーザーコミュニティに提供できるその他の情報は、最もありがたいことに受信されます。
lmer()
、特に何度も行う必要がある場合、モデルを大きなデータセットに適合させるのにかなり時間がかかることもわかりました。他のユーザー(@DirkEddelbuettelなど)が私よりもはるかに役立つでしょうが、あなたの質問に対する答えは並列コンピューティングにあるかもしれません。また、stackoverflowでより良い回答が得られる可能性もあります。
glmer
(他の投稿からわかるように)約20秒かかりますが、問題は信頼区間や標準エラーを与えないことと、メーリングリストのアーカイブからlme4
パッケージには、ランダム効果のサンプリング分布が非常に歪んでいる可能性があるため、これらの統計は報告されていません。実際、私はMCMCglmm
これまでのところ、私の場合は正常に近づいていることを発見しました(これはあまり役に立たないということではありません。SOに移行するようにリクエストした方が良いでしょうか?