Como aplicar a regressão nos componentes principais para prever uma variável de saída?

9

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.

munjal007
fonte
Para executar o PCA, qual software ou programa você usa? Por exemplo, no SPSS, essa análise pode ser feita facilmente e você pode definir o número de componentes principais que deseja extrair e pode ver quais são selecionados na saída. É claro que a aplicação de regressão nesses dados faz algum sentido porque o PCA é usado apenas para redução de dimensão.
precisa saber é o seguinte
11
Se você está apenas interessado em fazer previsões, deve estar ciente de que Hastie, Tibshirani e Friedman recomendam a regressão do LASSO sobre a regressão dos componentes principais, porque o LASSO supostamente faz a mesma coisa (melhore a capacidade preditiva reduzindo o número de variáveis ​​no modelo), mas Melhor. Atualmente, o LASSO também está amplamente disponível em pacotes estatísticos.
shadowtalker
@ssdecontrol: Do Hastie et al. recomendar laço especificamente sobre a regressão de componentes principais? A PCR está muito mais ligada à regressão da cordilheira do que ao laço: não está impondo qualquer escassez (isto é, não está fazendo a seleção de recursos, ao contrário do laço), está penalizando todos os pesos semelhantes à cordilheira. Talvez eles recomendem rede elástica sobre PCR, mas é laço mais cume.
Ameba
11
@amoeba Acabei de verificar o PDF online. O texto mudou ou eu entendi mal a primeira vez que o li. A conclusão não é que "o laço é superior", mas que "a PCR, o PLS e a regressão da crista tendem a se comportar de maneira semelhante", e essa crista pode ser melhor porque é contínua. Obrigado por me manter honesto!
Shadowtalker

Respostas:

7

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.]yX

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.XZ=XWXn×99W99×4040y^=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β^PCyX

Veja também a Wikipedia sobre regressão de componentes principais .

Glen_b -Reinstate Monica
fonte