R解决:system is exactly singular

标签 r optimization solver

我正在解决简单的优化问题。该数据集有 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)

根本没有错误发生。有人可以向我解释一下问题出在哪里以及如何处理。
非常感谢,
亚历克斯

最佳答案

使用 solve带有单个参数的请求是求逆矩阵。错误消息告诉你你的矩阵是奇异的,不能反转。

关于R解决:system is exactly singular,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6572119/

相关文章:

javascript - 寻找一个 js 求解器库,通过改变参数来最小化函数返回值

python-3.x - 使用 SymPy 将符号表达式转换为 Python 函数

r - GNU R是否有任何现有的语法检查器

r - 额外字体包 : problems saving plot as pdf with missing text

c++ - 如何优化矩阵乘法 (matmul) 代码以在单个处理器内核上快速运行

c++ - 常量操作数与任何算术运算符的顺序是否会影响优化?

r - R中的Web爬网:处理WebSites上的选项卡

r - 如何合并动物园对象但使用滞后和变化的列?

php - 在 php 中读取数据的 mysql 或 csv 哪个好

在 Excel 中使用 Solver 进行 VBA 宏优化不返回最佳变量