1
私は時間の経過とともに従属変数である行列(5,000 x 5,000)を持ち、時間の経過とともに同じ形式でいくつかの行列を持ちます。両方のマトリックスには時々NAが含まれているので、これらはna.exclude
で処理する必要があります。多くの回帰を行ごとに実行します
私は私の問題を説明するためにいくつかのサンプルデータを作っ:
y <- matrix(rnorm(25000),5000,5000)
x1 <- matrix(rnorm(25000),5000,5000)
x2 <- matrix(rnorm(25000),5000,5000)
x3 <- matrix(rnorm(25000),5000,5000)
x4 <- matrix(rnorm(25000),5000,5000)
x5 <- matrix(rnorm(25000),5000,5000)
x6 <- matrix(rnorm(25000),5000,5000)
lx <- list()
test <- lapply(1:nrow(y), function(i){lm(y[i,]~x1[i,]+x2[i,]+x3[i,]+x4[i,]+x5[i,]+x6[i,],na.action="na.exclude")})
しかし、私は(私は私もNAのデータをサンプリングすることができます方法がわからない?)ここで任意のNASに必要はありません。実際のデータで回帰を実行すると、最大10分かかります。このデータはここでははるかに速く、たぶんNAsが存在しないためです。 10分は長くなるわけではありませんが、何度もやらなければならないので、スピードを最適化したいと思います。
Q:回帰をより迅速に実行する方法はありますか?結局、私は特にすべての回帰の係数を必要としますが、R^2は後でもっと多くの情報を必要とします。回帰分析を行ごとに実行したい場合は、ループを避けることはできないと私は思います。私が読んだところでは、ここで高価な部分は、オブジェクトそのものの生成であるようです。何かヒントありがとう!
感謝つもりの試験! – user3032689