【问题标题】:Python eigenvalues and eigenvectorsPython特征值和特征向量
【发布时间】:2014-05-11 09:02:31
【问题描述】:

我有一个 336x336 的共同保险矩阵,我使用 numpy 计算了特征值和特征向量,如下所示。

evals, evecs = np.linalg.eig(cov)
idx = evals.argsort()   
evals = evals[idx] 
evecs = evecs[:,idx]

问题是 evals 中的最后一个值与其他值相比很奇怪。 像这样的:

    evals[:3]
    [ -6.11117191e-19  -6.11117191e-19  -1.08420217e-19]
    evals[-3:]
    [  4.29345466e-19   7.08196415e-19   1.69419875e-02]

最高特征值 1.69419875e-02 与其他值相比非常高。我检查了所有 336 个特征值,除此之外的所有特征值或多或少都在同一范围内。

谁能告诉我为什么会这样。

嗨,先生, 感谢你的回复。我使用您建议的精度生成了 8x8 协方差矩阵。现在看起来像这样:

[[  0.00e+00   0.00e+00   0.00e+00   0.00e+00   0.00e+00   0.00e+00   0.00e+00   0.00e+00]
  [  0.00e+00   4.62e-05   9.25e-05   4.62e-05   0.00e+00  -9.25e-05  -4.62e-05  -4.62e-05]
  [  0.00e+00   9.25e-05   1.85e-04   9.25e-05   0.00e+00  -1.85e-04  -9.25e-05  -9.25e-05]
  [  0.00e+00   4.62e-05   9.25e-05   4.62e-05   0.00e+00  -9.25e-05  -4.62e-05  -4.62e-05]
  [  0.00e+00   0.00e+00   0.00e+00   0.00e+00   0.00e+00   0.00e+00   0.00e+00   0.00e+00]
  [  0.00e+00  -9.25e-05  -1.85e-04  -9.25e-05   0.00e+00   1.85e-04   9.25e-05   9.25e-05]
  [  0.00e+00  -4.62e-05  -9.25e-05  -4.62e-05   0.00e+00   9.25e-05   4.62e-05   4.62e-05]
  [  0.00e+00  -4.62e-05  -9.25e-05  -4.62e-05   0.00e+00   9.25e-05   4.62e-05   4.62e-05]]

对于第 1 列和第 1 行,我不确定为什么全部为零,我还手动计算了这些列和行的协方差,并且它只是零,可能原始值没有太大变化,原始值是:

0.06  0.05  0.05  0.08  0.05  0.06  0.06  0.02

0.06  0.04  0.03  0.07  0.05  0.08  0.07  0.03

谢谢!

【问题讨论】:

  • 什么是“共同保险矩阵”?
  • 这是一道数学题,不是编程题。我已将其标记并建议将其移至math.stackexchange.com。
  • 还有np.diag(cov)的样子?
  • 这可能是除了一个特征值之外的所有特征值都是 0,而您看到的是数字噪声。 cov是如何生成的?

标签: python numpy eigenvalue


【解决方案1】:

@新手

基于 8x8 矩阵,我注意到一个零行和零列的模式,每行重复一次 第四列或行。每当矩阵的一列或一行充满零时,这会使行列式为零并且矩阵是奇异的,因此您的 cov 矩阵没有逆矩阵。在这种情况下,返回的特征值与奇异值分解(SVD)中的奇异值相同。

我建议您仔细检查协方差矩阵的计算导致行和列全为零的原因,即使在主对角线上也是如此。

希望对你有帮助。

【讨论】:

  • 其实我是通过计算一个序列中二三、四核苷酸词频的频率来生成协方差矩阵的。
  • 前:seq = AATGCGTAGCGTGCAGTAGCAG'
  • and difreq = AA,AT etc tri = AAA,ATG etc and tetra = AAAA, TGAT etc. 这样我生成频率矩阵,从而生成协方差矩阵。所以,我的协方差矩阵不是那么均匀。
  • 您能否发送一个带有 10x10 矩阵的示例,您可以在此处复制并粘贴结果。它会帮助别人帮助你。
  • 嗨,先生!这是协方差矩阵:
【解决方案2】:

这意味着你所有的特征值都是零,除了一个。我认为您的矩阵可能不是满秩矩阵。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-16
    • 2018-12-30
    • 2020-07-31
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-11
    相关资源
    最近更新 更多