如何在MATLAB中找到PCA的投影矩阵?

如何在MATLAB中找到PCA的投影矩阵?,matlab,machine-learning,data-mining,projection,pca,Matlab,Machine Learning,Data Mining,Projection,Pca,我试图用主成分分析法降低数据的维数 所以我调用[COEFF,SCORE]=princomp(数据)根据,我可以用分数*COEFF'+平均值重建我的数据,它可以工作 但是我试图找到投影矩阵p,其中任何给定的向量x都可以转换为它在PCA空间中的投影 我的直觉告诉我,我应该能够通过以下方式投影x: proj = ((x-m) * inv(C)) + m 其中m是我的数据的平均值 因此,我通过选择x作为对数据的第一次观察来测试这一点,我希望proj应该非常接近分数的第一行。但事实并非如此 那么我哪里做

我试图用主成分分析法降低数据的维数

所以我调用
[COEFF,SCORE]=princomp(数据)根据,我可以用
分数*COEFF'+平均值
重建我的数据,它可以工作

但是我试图找到投影矩阵
p
,其中任何给定的向量
x
都可以转换为它在PCA空间中的投影

我的直觉告诉我,我应该能够通过以下方式投影
x

proj = ((x-m) * inv(C)) + m
其中
m
是我的数据的平均值

因此,我通过选择
x
作为对数据的第一次观察来测试这一点,我希望
proj
应该非常接近
分数的第一行。但事实并非如此

那么我哪里做错了?我怎样才能找到投影矩阵呢


谢谢你的帮助

哎呀,现在我明白我的错误了

首先,系数是正交的(不确定),所以
inv(COEFF)=COEFF'

这个投影是由

proj = COEFF' * (x-m)