pca: missing first pc

6 views (last 30 days)
Raphael
Raphael on 9 Aug 2015
Edited: Raphael on 9 Aug 2015
Hello community,
using the pca function i face the following problem: i have a data set X of 1000 observations (rows) and a little less variables (columns). The data consists of linear combinations of only two vectors.
if i compute pca(X) i find the coordinates of the second pc in coeff(:,1). The first one is missing.
if i compute pca(X') if find the coordinates of both in coeff(:,1) and coeff(:,2), where coeff(:,2) is equal to coeff(:,1) of pca(X).
best regards and thanks in advance Raphael
  2 Comments
Image Analyst
Image Analyst on 9 Aug 2015
Show us. Make up a 2D matrix X and demonstrate what you say. It's hard to give you a specific fix for your problem when your problem statement is not specific.
Raphael
Raphael on 9 Aug 2015
Thanks for your answer. I wrote a comment to Sagars post which is roughly the same as yours.

Sign in to comment.

Accepted Answer

Sagar
Sagar on 9 Aug 2015
Your question is not clear, pca(X) will give coefficient matrix whose first column represents coefficients of the first principal component and so on. You cannot do pca(X') because pca understands rows as observations and columns as variables.
  3 Comments
Sagar
Sagar on 9 Aug 2015
First be sure to put variables in the columns and observations in the rows. After this, if you do pca, the first column of the COEFF matrix represents the first principal component and so on. The no. of principal components will be equal to the number of variables. I don't understand what you mean by "why i found the the second pc as the first column of the scores if i use my data in the wrong way".
Raphael
Raphael on 9 Aug 2015
Edited: Raphael on 9 Aug 2015
was i ment is this: lets say x is the data matrix where columns are variables and rows are observations. That is when I interpret spectra as variables and its values (all spectra are made with the sample points) as observables.
[pc1 score1] = pca(x)
will give me the expected results. What i computed first was
[pc2 score2] = pca(x')
which was apparently wrong. The thing i'm still wondering about is why i found score2(:,1) = pc1(:,2) moreover i cant find an equivalent for pc1(:,2) in score2. maybe this is just a curios coincident and as i can now compute the right pcs its not that important. But i would like to understand this anyway :D

Sign in to comment.

More Answers (0)

Tags

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!