1
複雑なモデルを大きなデータセットに繰り返し当てはめるときに計算効率を最適化するにはどうすればよいですか?
MCMCglmmR のパッケージを使用して混合効果モデルを実行すると、パフォーマンスの問題が発生します。コードは次のようになります。 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で「内部」で何が行われているかについて、より詳細に説明する必要があります。計算時間の大部分が最適化に費やされていると考えるのは正しいですか?つまり、いくつかの複雑な関数の最大値を見つけるということですか?行列の反転や他の線形代数演算もボトルネックの原因となる一般的な演算ですか?私がスーパーユーザーコミュニティに提供できるその他の情報は、最もありがたいことに受信されます。