Matlab: como encontrar quais variáveis do conjunto de dados podem ser descartadas usando o PCA no matla

Estou usando o PCA para descobrir quais variáveis no meu conjunto de dados são redundantes devido à alta correlação com outras variáveis. Estou usando a função princomp matlab nos dados anteriormente normalizados usando zscore:

[coeff, PC, eigenvalues] = princomp(zscore(x))

Eu sei dissoautovalore diga-me quanta variação do conjunto de dados cobre todos os componentes principais e que coeff me diz quanto da i-ésima variável original está no j-ésimo componente principal (onde i - linhas, j - colunas

Assim assumi que, para descobrir quais variáveis do conjunto de dados original são as mais importantes e quais são as menores, devo multiplicar o coeff matriz porautovalore - coeff valores representam quanto de cada variável cada componente possui eautovalore diga a importância desse componente. Portanto, este é o meu código completo:

[coeff, PC, eigenvalues] = princomp(zscore(x));
e = eigenvalues./sum(eigenvalues);
abs(coeff)/e

Mas isso realmente não mostra nada - tentei no seguinte conjunto, em que a variável 1 está totalmente correlacionada com a variável 2 (v2 = v1 + 2):

     v1    v2    v3
     1     3     4
     2     4    -1
     4     6     9
     3     5    -2

mas os resultados dos meus cálculos foram os seguintes:

v1 0.5525
v2 0.5525
v3 0.5264

e isso realmente não mostra nada. Eu esperaria que o resultado da variável 2 mostre que é muito menos importante que v1 ou v3. Qual das minhas suposições está errada?

questionAnswers(1)

yourAnswerToTheQuestion