Principle Component Analysis Computation
Show older comments
Hi all I am applying Principle Component Analysis manauall. I have a Dataset let say
Data= [2.5000 2.4000
0.5000 0.7000
2.2000 2.9000
1.9000 2.2000
3.1000 3.0000
2.3000 2.7000
2.0000 1.6000
1.0000 1.1000
1.5000 1.6000
1.1000 0.9000]
when I compute directly by calling the matlab function princomp I get the PC
0.6779 0.7352
0.7352 -0.6779
But when I do manually like that
function [V newX D] = Untitled(X) X = bsxfun(@minus, X, mean(X,1)); %# zero-center C = (X'*X)./(size(X,1)-1); %'# cov(X)
[V D] = eig(C);
[D order] = sort(diag(D), 'descend'); %# sort cols high to low
V = V(:,order);
newX = X*V(:,1:end);
end
0.6779 -0.7352
0.7352 0.6779
I am getting different result just the minis difference why is it/
Thanks in Advance.
Accepted Answer
More Answers (0)
Categories
Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!