系统在计算上是奇异的:R中的倒数条件数

系统在计算上是奇异的:R中的倒数条件数,r,matrix,solver,R,Matrix,Solver,我收到错误消息: solve.defaultc中出错:系统在计算上是奇异的: 互惠条件编号=6.57889e-18 我一直在试图找出问题背后的原因,堆栈溢出处的其他线程认为问题可能是由于奇异矩阵、高度相关变量、线性组合等造成的。但是,我假设rnorm可以避免上述问题 对于我正在使用的另一个矩阵,det给出了8.313969e-95,但它仍然是可逆的,使用solve。两个基本线性代数性质: 奇异方阵是不可逆的方阵。 如果矩阵的行列式等于零,则矩阵是不可逆的。 如果你查一下 x <- matr

我收到错误消息:

solve.defaultc中出错:系统在计算上是奇异的: 互惠条件编号=6.57889e-18

我一直在试图找出问题背后的原因,堆栈溢出处的其他线程认为问题可能是由于奇异矩阵、高度相关变量、线性组合等造成的。但是,我假设rnorm可以避免上述问题


对于我正在使用的另一个矩阵,det给出了8.313969e-95,但它仍然是可逆的,使用solve。

两个基本线性代数性质:

奇异方阵是不可逆的方阵。 如果矩阵的行列式等于零,则矩阵是不可逆的。 如果你查一下

x <- matrix(rnorm(80, mean = 0, sd = 0.1), 8, 8)
c <- cov(x)
solve(c)
因此,事实上,detc在机器精度范围内为零;因此c是不可逆的,这正是solvec所要做的

PS 1:看一看?solve,看看solvea将返回a的倒数。
PS 2:对协方差矩阵行列式的解释存在交叉验证。看一看,了解你为什么看到你看到的东西。

线性代数的两个基本性质:

奇异方阵是不可逆的方阵。 如果矩阵的行列式等于零,则矩阵是不可逆的。 如果你查一下

x <- matrix(rnorm(80, mean = 0, sd = 0.1), 8, 8)
c <- cov(x)
solve(c)
因此,事实上,detc在机器精度范围内为零;因此c是不可逆的,这正是solvec所要做的

PS 1:看一看?solve,看看solvea将返回a的倒数。
PS 2:对协方差矩阵行列式的解释存在交叉验证。看一看,了解你为什么看到你看到的东西。

此外,你可以查看qrc$rankThanks以了解解释。对于我正在使用的另一个矩阵,det给出了8.313969e-95,但它仍然是可逆的。@Mataunited17听起来像是与浮点算术/精度有关;在机器精度范围内,8.313969e-95的行列式为零,因此不存在反比。解算返回的矩阵在数值上可能不稳定。也许可以编辑你的文章来包含这个例子;可能会对未来的读者有所启发。我不明白为什么金融时间收益率序列的行列式为零。这有意义吗?我假设金融时间序列的协方差矩阵是正定的,这将假设非零行列式。此外,您可以查看qrc$rankThanks以了解解释。对于我正在使用的另一个矩阵,det给出了8.313969e-95,但它仍然是可逆的。@Mataunited17听起来像是与浮点算术/精度有关;在机器精度范围内,8.313969e-95的行列式为零,因此不存在反比。解算返回的矩阵在数值上可能不稳定。也许可以编辑你的文章来包含这个例子;可能会对未来的读者有所启发。我不明白为什么金融时间收益率序列的行列式为零。这有意义吗?我假设金融时间序列的协方差矩阵是正定的,它假设非零行列式。