我正在解决简单的优化问题。该数据集有 26 列和 3000 多行。源代码看起来像
Means <- colMeans(Returns)
Sigma <- cov(Returns)
invSigma1 <- solve(Sigma)
一切都很完美 - 但我想在更短的时间内做同样的事情(只有 261 行),并且求解函数写入以下错误:
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)
根本没有发生错误。有人可以解释一下问题出在哪里以及如何治疗。非常感谢,亚历克斯