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

10 vues (au cours des 30 derniers jours)
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?

Réponse acceptée

the cyclist
the cyclist le 15 Nov 2018
Modifié(e) : the cyclist le 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?
  1 commentaire
Nikitas Provatakis
Nikitas Provatakis le 19 Nov 2018
Thanks for your input. It turns out I was de-meaning along dimension 2 and that didn't exactly help!

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by