【问题标题】:Negative and complex number eigenvalues for PCAPCA 的负数和复数特征值
【发布时间】:2019-12-31 06:18:06
【问题描述】:

我已经生成了一个相关矩阵my_corr = rtn.corr(method = 'pearson'),并且我从 scipy 对该矩阵进行了 PCA 组合:eig_vals, eig_vecs = linalg.eig(my_corr)。但是,对于特征值,我得到负数和复数,例如 -4.33309269e-16+2.336829340-16j。如果我use linalg.eigh 而不是linalg.eig,我会得到真正的价值,但也会有很多负值。为什么会这样?感谢您的帮助

【问题讨论】:

  • -4.33309269e-16+2.336829340-16j 可能是零特征值的数值近似。当您使用eigh 时,负特征值是否与此一样小(即全部在 1e-16 的数量级上)?

标签: python scipy pca eigenvalue eigenvector


【解决方案1】:

如果没有更多信息,例如 linalg.eiglinalg.eigh 的 sn-p 输出或 rtn 数据框,可能有多种原因。一方面,eigh 自动对您的特征值进行排序,而不是 eigEigh 还假设您有一个对称的my_corr。更多相关信息:Difference between linalg.eigh and linalg.eig

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-30
    • 2012-05-12
    • 2019-11-04
    • 2022-07-05
    • 2015-11-01
    • 2014-05-02
    • 1970-01-01
    相关资源
    最近更新 更多