ニューロ イメージング アプリケーションでは、R の最小二乗法によって多くの線形モデルを当てはめようとしています (への標準呼び出しlm
)。計画行列 X があるとします。この計画行列は、すべてのモデルで同じになります。適合されるデータ (Y) が変化し、その結果、すべての適合パラメーター (ベータ、p 値、残差など) も変化します。
現在、私はそれを for ループに入れているだけなので、何十万回も呼び出しを行っていlm
ます。もっと良い方法が必要なようです。
最も計算コストの高い部分は逆行列だと思います。これは、lm.fit の Fortran 呼び出しで処理されるようです。
この回帰を手作業で行っていた場合、行列の反転を行い、それをさまざまなデータセットで乗算します。実際、正常に動作する計画行列 (すべての連続値共変量など) がある場合に、それを行う関数をコード化しました。lm
ただし、要素を適切に再コーディングするなど、すべての作業が本当に気に入っており、 の出力lm
も非常に優れています。
とにかく私のケーキを食べて食べることはありますか?つまり、lm の親しみやすさを手に入れながら、その能力を使用して、同一の計画行列を持つ多くのモデルを計算的に効率的に適合させるにはどうすればよいでしょうか?