O "Aprendizado de Máquina para Hackers" de O'Reilly diz que cada componente principal representa uma porcentagem da variação. Citei a parte relevante da página abaixo (capítulo 8, p.207). Falando com outro especialista, eles concordaram que é a porcentagem.
No entanto, os 24 componentes somam 133,2095%. Como pode ser?
Tendo nos convencido de que podemos usar o PCA, como fazemos isso no R? Novamente, este é um local em que R brilha: a totalidade do PCA pode ser feita em uma linha de código. Usamos a função princomp para executar o PCA:
pca <- princomp(date.stock.matrix[,2:ncol(date.stock.matrix)])Se digitarmos pca em R, veremos um resumo rápido dos principais componentes:
Call: princomp(x = date.stock.matrix[, 2:ncol(date.stock.matrix)]) Standard deviations: Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 29.1001249 20.4403404 12.6726924 11.4636450 8.4963820 8.1969345 5.5438308 Comp.8 Comp.9 Comp.10 Comp.11 Comp.12 Comp.13 Comp.14 5.1300931 4.7786752 4.2575099 3.3050931 2.6197715 2.4986181 2.1746125 Comp.15 Comp.16 Comp.17 Comp.18 Comp.19 Comp.20 Comp.21 1.9469475 1.8706240 1.6984043 1.6344116 1.2327471 1.1280913 0.9877634 Comp.22 Comp.23 Comp.24 0.8583681 0.7390626 0.4347983 24 variables and 2366 observations.Neste resumo, os desvios padrão nos dizem quanto da variação no conjunto de dados é explicada pelos diferentes componentes principais. O primeiro componente, chamado Comp.1, responde por 29% da variação, enquanto o próximo componente responde por 20%. No final, o último componente, Comp.24, responde por menos de 1% da variação. Isso sugere que podemos aprender muito sobre nossos dados apenas olhando para o primeiro componente principal.
[Código e dados podem ser encontrados no github .]
Rpróprio software. Encontrar esse erro foi uma boa solução (espero que você tenha achado gratificante descobrir o que realmente está acontecendo com o PCA)!
Standard deviationsé um pouco errada. Como os desvios-padrão são de fato desvios-padrão, devemos quadrá-los para ver quanto da variação cada componente representa. O primeiro componente representaria % da variação total.