Is it Necessary to De-Mean my Data before Applying PCA, or does pca(X) do that Automatically?

6 views (last 30 days)
I am aware that a first step in performing PCA for dimensionality reduction is de-meaning the data.
I have performed PCA after de-meaning manually with X=X-mean(X) and compared with plainly applying [COEFF,score,latent,~,explained]=pca(X) on my data.
By inspecting the eigenvalues and the percentage of variability described by each PC on both cases (i.e. latent and explained in the above case), I can see that I get two different results. Is manual de-meaning doing too much in this case?

Accepted Answer

the cyclist
the cyclist on 15 Nov 2018
Edited: the cyclist on 15 Nov 2018
MATLAB's pca functions definitely de-means. It should make no meaningful difference if you de-mean ahead.
Are you sure you are de-meaning along the correct dimension? You should only de-mean along dimension 1 of your input.
Are you sure you're getting different output, beyond perhaps some floating-point differences (on the order of 1e-15) smaller than the results?

More Answers (0)

Categories

Find more on Dimensionality Reduction and Feature Extraction in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!