我正在解决简单的优化问题。该数据集有 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)
根本不会发生错误。有人可以向我解释一下问题出在哪里以及如何治疗吗?
非常感谢,
亚历克斯
Using solve
使用单个参数是求逆矩阵的请求。错误消息告诉您您的矩阵是奇异的并且无法反转。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)