2 番目の質問については、試してみてください。一般に、1200 倍の 9000 データセットはそれほど大きくありませんが、それが機能するかどうかは、内部で何regsubsets
が行われているかによっても異なります。
一般に、ここでのアプローチは、問題を細かく分割し、それぞれの部分を 1 つのコア (この場合は 4 コア) で実行することです。並列化は、コアで実行するプロセスに時間がかかる場合 (たとえば 10 分) に最も効果的です。時間がかからない場合、並列化のオーバーヘッドは、全体の分析にかかる時間を増やすだけです。サーバー上にクラスターを作成するのは、たとえばSNOW
(CRAN で入手可能) を使用して非常に簡単です。私がよく使用するアプローチは、doSNOW
パッケージを使用してクラスターを作成し、パッケージの関数を使用することplyr
です。私が最近書いたブログ投稿では、いくつかの背景とサンプル コードを提供しています。
特定のケースregsubsets
で、すぐに使用できる並列化をサポートしていない場合は、自分でコーディングを行う必要があります。などの変数選択方法でregsubsets
は、データセット全体を使用する必要があると思います。そのため、複数の regsubsets を並行して実行して並列化を解決することは現実的ではないと思います。したがって、関数を調整して並列化を含める必要があると思います。関数内のどこかで、さまざまな変数の選択が評価され、そこでそれらの評価をさまざまなコアに送信できます。このような評価にほとんど時間がかからない場合、並列化のオーバーヘッドによって分析が遅くなるだけであることに注意してください。その場合、各ノードで費やされる時間を増やし、並列化によるオーバーヘッドの量を減らすために、評価のグループを各コアに送信する必要があります。