Eu li sobre o básico da análise de componentes principais no tutorial1 , link1 e link2 .
Eu tenho um conjunto de dados de 100 variáveis (incluindo a variável de saída Y), quero reduzir as variáveis para 40 pelo PCA e prever a variável Y usando essas 40 variáveis.
Problema 1: Após obter os componentes principais e escolher os primeiros 40 componentes, se eu aplicar a regressão, recebo alguma função que se ajusta aos dados. Mas como prever alguma variável Y a partir dos dados originais? Para prever a variável Y, tenho (100-1) variáveis na entrada e como sei quais 40 variáveis escolher entre minhas 100-1 variáveis originais?
Problema 2: faço a reversão do PCA e recupero os dados desses 40 componentes principais. Mas os dados foram alterados porque escolhi apenas os 40 primeiros componentes. A aplicação de regressão a esses dados faz algum sentido?
Eu uso o Matlab / Octave.
fonte
Respostas:
Você não escolhe um subconjunto de suas 99 (100-1) variáveis originais.
Cada um dos componentes principais são combinações lineares de todas as 99 variáveis preditoras (variáveis x, IVs, ...). Se você usar os 40 primeiros componentes principais, cada um deles será uma função de todas as 99 variáveis preditoras originais. (Pelo menos no PCA comum - existem versões esparsas / regularizadas, como o SPCA de Zou, Hastie e Tibshirani, que produzirão componentes com base em menos variáveis.)
Considere o caso simples de duas variáveis positivamente correlacionadas, as quais, por simplicidade, assumiremos que são igualmente variáveis. Então o primeiro componente principal será um múltiplo (fracionário) da soma de ambas as variáveis e o segundo será um múltiplo (fracionário) da diferença das duas variáveis; se os dois não forem igualmente variáveis, o primeiro componente principal pesará mais pesadamente o mais variável, mas ainda envolverá ambos.
Então você começa com suas 99 variáveis x, a partir das quais calcula seus 40 componentes principais aplicando os pesos correspondentes em cada uma das variáveis originais. [NB em minha discussão, assumo que e os já estão centralizados.]y X
Em seguida, você usa suas 40 novas variáveis como se fossem preditores por si só, assim como faria com qualquer problema de regressão múltipla. (Na prática, existem maneiras mais eficientes de obter as estimativas, mas vamos deixar de lado os aspectos computacionais e lidar apenas com uma ideia básica)
Em relação à sua segunda pergunta, não está claro o que você quer dizer com "reversão do PCA".
Seus PCs são combinações lineares das variáveis originais. Digamos que suas variáveis originais estejam em e você calcule (onde é e é a matriz que contém os pesos dos componentes principais para os componentes que você está usando), então você estimar por meio de regressão.X Z=XW X n×99 W 99×40 40 y^=Zβ^PC
Em seguida, você pode escrever dizer (em que , obviamente), para que você possa escrevê-lo em função dos preditores originais; Eu não sei se é isso que você quer dizer com 'reverter', mas é uma forma significativa de olhar para a relação original entre e . Não é o mesmo que os coeficientes que você obtém estimando uma regressão nos X originais, é claro - é regularizada fazendo o PCA; mesmo que você obtenha coeficientes para cada um dos seus X originais dessa maneira, eles têm apenas o df do número de componentes que você ajustou.y^=Zβ^PC=XWβ^PC=Xβ^∗ β^∗=Wβ^PC y X
Veja também a Wikipedia sobre regressão de componentes principais .
fonte