what does pc1 and pc2 represent?
30 views (last 30 days)
Show older comments
Hello, I have a plot of pca 3d plot and the axes are pc1, pc2 and pc3. How do i determine what each pc component represents?
Also how can i establish the variance that each pc plot contributes? I attached an example for reference.
How can i determine this?
0 Comments
Accepted Answer
Image Analyst
on 8 Feb 2023
The pca function will tell you what each PC is composed of. It gives you the weights of the original independent variables, right? You can think of a 3-D PCA as a rotation of a coordinate system.
6 Comments
Image Analyst
on 12 Feb 2023
Edited: Image Analyst
on 12 Feb 2023
Once you know what class numbers are you can take, for example, the mean distance from the centroid. I'm sure you've figured it out by now, but anyway here's how I'd do it. The class assignments (indexes) and centroids are both returned from kmeans. Something like (untested)
numClasses = 3;
[assignedClasses, centroids] = kmeans(xy, numClasses);
for k = 1 : numClasses
% Get points assigned to the k'th class
thisxy = xy(assignedClasses == k, :);
x = thisxy(:, 1);
y = thisxy(:, 2);
% Get distances from every point in this class to the centroid of this class.
distances = sqrt((x - centroids(k, 1)) .^ 2 + (y - centroids(k, 2)) .^ 2);
% Get mean and standard deviation of those distances.
meanDistances(k) = mean(distances);
stDevDistances(k) = std(distances);
end
If you want to reorder the class numbers, see the attached demo.
More Answers (1)
John D'Errico
on 10 Feb 2023
For example...
load fisheriris
whos
[COEFF, SCORE, LATENT] = pca(meas);
So the first component is huge compared to the others, in terms of the total variance explained. The total variance in that system is:
sum(var(meas))
And the
LATENT
So most of the variability lies in the first component.
But what do the components mean, physically? This is eomthing very difficult to know at times.
COEFF(:,1)
Those coefficients represent the linear combination chosen of the various original variables. But trying to say what the linear combination means can be difficult. A biologist might try to infer some sort of meaning to those various weights. And I suppose you might decide that variables like {sepal length, sepal width, petal length, petal width} might all be related in some way, and in combination might tell you something about the plant. But don't go out of your way to try to assign some meaning here.
3 Comments
Image Analyst
on 10 Feb 2023
What about kmeans? That is unsupervised classification where you tell it the number of clusters you think the data should have and it assigns each data point to a cluster. You can certainly run it but you need to have many points. For example if you have a bunch of images that have 3 clusters that it's working well with and now pass it data with only 2 clusters but you force it to find three, it will take one of the clusters and split it up into two clusters so you will have 3 but some of those points will not be assiend to the the right cluster.
John D'Errico
on 10 Feb 2023
kmeans will work on 3d data. But kmeans is not the only clustering tool in existence. And yes, it helps if you have more data. The more data, the better is always the rule in anything. (Only once in a long career as a consultant did I ever tell a client they gave me more data than I really needed.) It also helps if you know how many clusters are to be found. I'm not a true statistician though, (I only play one in the movies) so I won't suggest if a better method is available for the clustering. That would surely depend on the actual data anyway.
See Also
Categories
Find more on Dimensionality Reduction and Feature Extraction 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!