Ale*_*lex 21 optimization r solver
我正在解决简单的优化问题.该数据集有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)
完全没有错误.有人可以解释我哪里可能是问题以及如何对待它.非常感谢,Alex
bor*_*ble 19
使用solve单个参数是反转矩阵的请求.错误消息告诉您矩阵是单数的,不能反转.
dro*_*lex 10
我猜你的代码在第二种情况下使用某个奇异矩阵(即不可逆),而求解函数需要将其反转.这与尺寸无关,但事实上你的一些矢量(可能)是共线的.