【发布时间】: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