Cómo hacer un gráfico PCA con R

El análisis de componentes principales (PCA) en la programación R es el análisis de los componentes lineales de todos los atributos existentes. Los componentes principales son combinaciones lineales (transformación ortogonal) del predictor original en el conjunto de datos. Es una técnica útil para EDA (análisis exploratorio de datos) y le permite visualizar mejor las variaciones presentes en un conjunto de datos con muchas variables.

Los componentes de los datos se calculan y se utilizan para realizar un cambio de base en los datos, a veces utilizando solo los primeros componentes principales e ignorando el resto. Uno puede tomar PCA como un tipo de transformación lineal de los datos sobre la base de ciertos espacios de datos. Esta transformación ajusta los datos en un sistema de coordenadas donde la varianza más significativa se encuentra en la primera coordenada, y cada coordenada subsiguiente es ortogonal a la última y tiene una varianza menor que la anterior. 

Parcela PCA en R 

Vamos a trabajar en el conjunto de datos ‘Iris’, que está integrado en R. Es un conjunto de datos multivariado que consta de datos de 50 muestras de cada una de las tres especies de Iris (Iris setosa, Iris virginica e Iris versicolor).

R

# structure of the iris
# dataset
str(iris)
  
# print the iris dataset
head(iris)

Producción:

Como se mencionó, PCA funciona mejor con datos numéricos, descuidaremos la variable categórica Species. Ahora nos queda una array de 4 columnas y 150 filas que pasaremos a través de la función prcomp() para el análisis de componentes principales. Esta función devuelve los resultados como un objeto de la clase ‘prcomp’. Asignaremos la salida a una variable llamada iris.pca.

R

iris.pca <- prcomp(iris[,c(1:4)],
                   center = TRUE,
                   scale. = TRUE)
  
# summary of the 
# prcomp object
summary(iris.pca)

Producción:

Aquí tenemos cuatro componentes principales llamados PC1-4. Cada uno de estos explica un porcentaje de la variación total en el conjunto de datos. Por ejemplo, PC1 explica casi el 72 % de la varianza total, es decir, alrededor de las tres cuartas partes de la información del conjunto de datos puede encapsularse solo en ese componente principal. PC2 explica el 22% y así sucesivamente. 

Echemos un vistazo a la estructura del objeto PCA así formado.

R

# structure of the pca object
str(iris.pca)

Producción:

Trazado PCA

Cuando hablamos de trazar un PCA, generalmente nos referimos a un diagrama de dispersión de los dos primeros componentes principales PC1 y PC2. Estos gráficos revelan las características de los datos, como la no linealidad y la desviación de la normalidad. PC1 y PC2 se evalúan para cada vector de muestra y se grafican. 

La función autoplot() del ‘paquete ggfortify’ facilita el trazado de PCA en R.

R

# loading library
library(ggfortify)
iris.pca.plot <- autoplot(iris.pca,
                          data = iris,
                          colour = 'Species')
  
iris.pca.plot

Producción:

Para una mejor comprensión de la transformación lineal de características, también se puede usar la función biplot() para trazar PCA.

R

biplot.iris.pca <- biplot(iris.pca)
biplot.iris.pca

Producción:

El eje X del biplot representa el primer componente principal donde la longitud y el ancho del pétalo se combinan y se transforman en PC1 con algunas partes de la longitud y el ancho del sépalo. Mientras que la parte vertical de la longitud del sépalo y el ancho del sépalo forman el segundo componente principal.

Para determinar las características ideales que se pueden justificar después de realizar PCA, se puede usar la función plot( ) para trazar el objeto precomp.

R

plot.iris.pca <- plot(iris.pca, type="l")
plot.iris.pca

Producción:

En un screeplot, el ‘brazo doblado’ representa una disminución en la contribución acumulativa. El gráfico anterior muestra la curva en el segundo componente principal.

Publicación traducida automáticamente

Artículo escrito por misraaakash1998 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *