巷では何かと分散処理が流行っています。 特にHadoop+Mahoutで大規模データに対して機械学習や統計モデルを高速分散処理することで、データマイニングがより盛んになるのではないかと期待がされています。 分散処理するためには、最後に足し合わせることができればいいわけで、考えてみるとそんなに難しいことじゃないんですよね。 試しにRを使って、線形単回帰を分散処理っぽく計算します。 大規模データで試しているじゃないですし、パフォーマンスを比較しているわけではありませんのであしからず、、 結局、分散処理は データを分割 それぞれのデータでパラメータ計算 計算結果を足す の3つをやっているだけだと、私は理解しています。 ですので、その3つの手順をRで100サンプル発生させて書いてみます。 まずは全体データで回帰係数を計算。 set.seed(1) x <- rnorm(100) set.seed(