[R-br] Emprego da PCA para seleção de variáveis mais correlacionadas no primeiro componente principal

Cesar Rabak cesar.rabak em gmail.com
Quinta Maio 3 00:57:12 -03 2018


E uma observação que pode ajudá-lo a entender melhor o problema (ou a
solução):

Você escreveu: «  Gostaria de selecionar as 5 variáveis resposta  no
primeiro componente principal mais correlacionadas  . . . », mas o que o
procedimento descrito no link faz é "Selecionar as cinco variáveis mais
correlacionadas *com* a primeira [coordenada] componente principal."

Ou seja: dado que a PCA foi realizada, por convenção a 1ª componente da PCA
é combinação linear das suas variáveis que mais apresenta a variabilidade
dos seus dados.  Você então via o procedimento descrito no link do SO
escolhe cinco variáveis (a PCA não faz distinção se são resposta ou não)
que têm maior projeção nessa componente da PCA.

HTH
--
Cesar Rabak


2018-05-03 0:47 GMT-03:00 Cesar Rabak <cesar.rabak em gmail.com>:

> Você viu o resumo na primeira resposta no link do SO que você postou?
>
>
>
> On Wed, May 2, 2018 at 6:02 PM, ASANTOS via R-br <r-br em listas.c3sl.ufpr.br
> > wrote:
>
>> Prezados Membros,
>>
>>     Gostaria de selecionar as 5 variáveis resposta  no primeiro
>> componente principal mais correlacionadas usando a PCA, através da função
>> prcomp(), conforme o post https://stats.stackexchange.co
>> m/questions/115032/how-to-find-which-variables-are-most-corr
>> elated-with-the-first-principal-compone, sendo o meu CRM:
>>
>> ##Banco de dados
>>
>> set.seed(12345)
>> mat <- matrix(rnorm(120,0,0.5),nrow=6,byrow=TRUE)
>> rownames(mat) <- paste("s",1:6,sep="")
>> colnames(mat) <- paste("g",1:20,sep="")
>> head(mat)
>>
>> ## Espectros com maior correlação
>> pca.object <- prcomp(mat,center=TRUE,scale.=FALSE)
>> plot(pca.object)
>>
>> #Quero os cinco mais correlacionados
>> topN <- 5
>> load.rot <- scale(pca.object$rotation)
>> names(load.rot[,1][order(abs(load.rot[,1]),decreasing=TRUE)][1:topN])
>>
>>     Então cheguei as variáveis resposta, mas gostaria que alguém me
>> explicasse o por que disso fazendo um favor, pois quando utilizo os meus
>> dados originais, são sempre as variáveis resposta com maior valor numérico
>> que são selecionadas, mesmo utilizando a função scale().
>>
>> Obrigado,
>>
>> Alexandre
>>
>>
>> --
>> ======================================================================
>> Alexandre dos Santos
>> Proteção Florestal
>> IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
>> Campus Cáceres
>> Caixa Postal 244
>> Avenida dos Ramires, s/n
>> Bairro: Distrito Industrial
>> Cáceres - MT                      CEP: 78.200-000
>> Fone: (+55) 65 99686-6970 (VIVO) (+55) 65 3221-2674 (FIXO)
>> e-mails:alexandresantosbr em yahoo.com.br
>>         alexandre.santos em cas.ifmt.edu.br
>> Lattes: http://lattes.cnpq.br/1360403201088680
>> OrcID: orcid.org/0000-0001-8232-6722   -   ResearcherID: A-5790-2016
>> Researchgate: www.researchgate.net/profile/Alexandre_Santos10
>> LinkedIn: br.linkedin.com/in/alexandre-dos-santos-87961635
>> Mendeley:www.mendeley.com/profiles/alexandre-dos-santos6/
>> ======================================================================
>>
>> _______________________________________________
>> R-br mailing list
>> R-br em listas.c3sl.ufpr.br
>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e fornea
>> cdigo mnimo reproduzvel.
>
>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20180503/976719f9/attachment.html>


Mais detalhes sobre a lista de discussão R-br