単純な最適化問題を解いています。データセットには26列と3000行以上があります。ソースコードは次のようになります
Means <- colMeans(Returns)
Sigma <- cov(Returns)
invSigma1 <- solve(Sigma)
そして、すべてが完璧に機能しますが、同じことをより短い期間(261行のみ)で実行したいので、solve関数は次のエラーを書き込みます。
solve(Sigma)
Error in solve.default(Sigma) :
Lapack routine dgesv: system is exactly singular
私がいくつかの乱数で同じことをするとき、それは奇妙です:
Returns<-matrix(runif(6786,-1,1), nrow=261)
Means <- colMeans(Returns)
Sigma <- cov(Returns)
invSigma <- solve(Sigma)
エラーはまったく発生しません。誰かが私に問題がどこにあるのか、そしてそれをどのように扱うのか説明してもらえますか?どうもありがとう、アレックス