AULA 02: Análise de componentes principais em R

Análise de componentes principais em R

  • A técnica de PCA é realizada em R por meio da função prcomp().

  • A função tem como argumentos: o conjunto de dados e os indicadores de normalização pela média (center) e pelo desvio-padrão (scale.).

pca <- prcomp( x = dados, center = TRUE, scale. = TRUE)
  • No exemplo acima, o conjunto de dados é normalizado para ter média nula (center = TRUE), mas não para ter variância unitária (scale. = FALSE).

Banco de dados iris

  • Para ilustar o uso do PCA em R, usaremos o banco de dados iris. Este consiste de medições taxonômicas de três diferentes espécies de lírios (setosa, versicolor e virgínica).
head(iris)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa

O que procuramos aplicando o PCA?

  • Representar nosso conjunto de dados com um menor número de variáveis;

  • Clusterizar observações e realizar predições;

Visualizando o PCA

Extraindo informações do PCA

dados <- iris[, 1:4]

pca <- prcomp(x = dados, center = TRUE, scale. = FALSE)

print(pca)
## Standard deviations:
## [1] 2.0562689 0.4926162 0.2796596 0.1543862
## 
## Rotation:
##                      PC1         PC2         PC3        PC4
## Sepal.Length  0.36138659 -0.65658877  0.58202985  0.3154872
## Sepal.Width  -0.08452251 -0.73016143 -0.59791083 -0.3197231
## Petal.Length  0.85667061  0.17337266 -0.07623608 -0.4798390
## Petal.Width   0.35828920  0.07548102 -0.54583143  0.7536574

Extraindo informações do PCA

plot(pca, type = "l", pch = 16, main = "Scree plot")

Extraindo informações do PCA

summary(pca)
## Importance of components:
##                           PC1     PC2    PC3     PC4
## Standard deviation     2.0563 0.49262 0.2797 0.15439
## Proportion of Variance 0.9246 0.05307 0.0171 0.00521
## Cumulative Proportion  0.9246 0.97769 0.9948 1.00000
pca$center
## Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
##     5.843333     3.057333     3.758000     1.199333

Extraindo informações do PCA

par(bg=NA) ; biplot(pca)

Conclusões

  • O conjunto de dados de quatro variáveis pode ser simplificado para uma única (PCA1, eigenvalue > 4);

  • Foi possível melhor visualizar o conjunto de dados, permitindo verificar visualmente dois grupos de lirios;

  • Foi possível construir um modelo preditivo, onde baseado nas medições de tamanho e comprimento das sépalas e pétalas, informa-se qual espécie de lírio determinada planta pertence.