我正在阅读 Abdi & Williams (2010) 的 "主成分分析",并尝试重新使用SVD来获得进一步PCA的值。
文章指出以下SVD:
X = P D Q^t
我将我的数据加载到 np.array X 中。
X = np.array(data)
P, D, Q = np.linalg.svd(X, full_matrices=False)
D = np.diag(D)
但是当我检查时,无法得到上述相等的结果。
X_a = np.dot(np.dot(P, D), Q.T)
X_a和X具有相同的维数,但值不相同。我是否遗漏了什么,或者是np.linalg.svd函数的功能与论文中的方程式不兼容?
np.matmul
。 - Rodrigo Laguna