ESTADÍSTICA DESCRIPTIVA MULTIVARIADA | MULTIVARIATE DESCRIPTIVE STATISTICS
1 PRELIMINARES
1.1 Preparación de los Datos para el Análisis
De acuerdo con (Pardo 2020) en la versión descriptiva de los métodos multivariados las variables juegan dos papeles complementarios: se denominan activas las que se seleccionan para la construcción de ejes factoriales y clases e ilustrativas las que juegan el papel de explicar o ilustrar los ejes o clases obtenidos. El analista de datos debe prestar atención especial en la preparación de las variables activas para el análisis multivariado porque son estas las que estructuran ejes y clases. Por ejemplo, una variable cualitativa con muchas categorías, comparada con las demás, influirá más en un análisis de correspondencias múltiples.
El dataset admi{FactoClass}, contiene información de \(445\) admitidos a las siete carreras de la Facultad de Ciencias, de la Universidad Nacional de Colombia: Biología, Estadística, Farmacia, Física, Geología, Matemáticas y Química; para el primer semestre de 2013 y contiene dicha información en 15 columnas. Los nombres abreviados de las variables cualitativas y sus categorías se muestran en las tortas y los de las variables continuas con sus histogramas.
Las variables estrato socioeconómico (estr) y origen geográfico (orig), se recodificaron con menos categorías de las originales; y la edad se convirtió en ordinal con cuatro clases. La columna 14, stra, tiene el estrato original y la columna 15, age, la edad en años, como estaban en los datos originales. La variable stra se utiliza para análisis univariados, por ejemplo, la torta que muestra su distribución de frecuencias y la variable estr en los análisis bivariados y multivariados.
A continuación, se muestran los diagramas de tortas mostrando la distribución de las categorías de las variables cualitativas de los admitidos a la Facultad de Ciencias.
par(mfrow=c(2,3))
for (i in c(1,8,10,12,13,14)) {
Categoria <- attributes(admi[,i])$levels
Porcentaje <- tabulate(admi[,i])/nrow(admi)*100
Etiquetas <- paste(Categoria, round(Porcentaje,1),"%")
pie3D(summary(admi[,i]), labels = Etiquetas, explode = 0.1, labelcex = 1, radius = 1)
}Seguidamente se presentan los histogramas de los puntajes obtenidos en el examen de los admitidos a la Facultad de Ciencias y los diagramas de caja y bigotes para edad y puntaje total del examen.
par(col.lab="#A32062", col.main="#FF4D00", fg="#8B0000",
mfrow=c(3,3), mai=c(0.35,0.4,0.3,0.4), las=1) # Abajo, Izquierda, Arriba y Derecha
for (i in c(2:6)) {
hist(admi[,i], col = rainbow(8), density = 60, prob = T, xlim = c(8,18), main = names(admi)[i])
lines(density(admi[,i]), lwd = 2, lty = 3, col = "darkviolet")
}
for (i in c(7,15)) { hist(admi[,i], col = rainbow(8), density = 60, main = names(admi)[i]) }
par(col.axis="#A32062", fg="#F67500")
for (i in c(7,15)) {
boxplot(admi[,i], main = names(admi)[i], col = "#15D8B5", medcol = "#D81538",
staplecol = "#D81538", boxcol = "#D81538", outcol = "#FFC425",
pch = 18, cex = 1, horizontal = T, boxwex = 0.5)
}1.2 Ejercicios Capítulo I
1). Realice y verifique con \(\texttt{R}\) los ejercicios 1, 2, 4, 5, 6, 7, 12 y 13, del capítulo 2 de Morrison (1990).
2). Instale \(\texttt{R}\) y a partir del manual de introducción conteste:
2.1 ¿En \(\texttt{R}\) hay diferencia entre mayúsculas y minúsculas?
Rpta/. \(\texttt{R}\) distingue entre MAYÚSCULAS y minúsculas, de tal modo que \(\texttt{A}\) y \(\texttt{a}\) son símbolos distintos y se referirán, por tanto, a objetos distintos.
2.2 ¿Con qué se separan las instrucciones de \(\texttt{R}\)?
Rpta/. Las órdenes se separan mediante punto y coma, \(\texttt{";"}\), o mediante un cambio de línea.
2.3 ¿Cómo se escriben comentarios en \(\texttt{R}\)?
Rpta/. Los comentarios se realizan mediante el hashtag o numeral \(\texttt{"#"}\).
2.4 ¿Qué significa cuando aparece \(\texttt{+}\) luego de teclear \(\texttt{Enter}\)?
Rpta/. Si al terminar una línea, la orden no está sintácticamente completa, mostrará un signo de continuación \(\texttt{+}\) en la línea siguiente y las sucesivas y continuará leyendo hasta que la orden esté sintácticamente completa.
2.5 ¿Cómo se recuerdan comandos tecleados previamente en \(\texttt{R}\)?
Rpta/. Las flechas verticales del teclado pueden utilizarse para recorrer el \(\textit{historial de órdenes}\).
2.6 ¿Qué es el \(\texttt{workspace}\)?
Rpta/. La colección de objetos almacenados en cada momento se denomina espacio de trabajo (workspace).
2.7 ¿Qué se almacena en \(\texttt{.RData}\)?, ¿qué en \(\texttt{.Rhistory}\)?
Rpta/. Los objetos creados durante una sesión de pueden almacenarse en un archivo para su uso posterior llamado \(\texttt{.RData}\), en cuanto \(\texttt{.Rhistory}\) conserva un historial de las órdenes que se teclean, incluyendo las líneas erróneas.
2.8 ¿Cómo se obtiene ayuda en \(\texttt{R}\) para una función especificada?
Rpta/. Para obtener información sobre una función concreta se usa la orden \(\texttt{help(function)}\) ó \(\texttt{?(function)}\).
2.9 ¿Cuáles son los símbolos de comparación en \(\texttt{R}\): menor que, menor o igual, mayor, mayor o igual, igual y diferente?
Rpta/. \(\texttt{<}\) (menor), \(\texttt{<=}\) (menor o igual), \(\texttt{>}\) (mayor), \(\texttt{>=}\) (mayor o igual), \(\texttt{==}\) (igual), y \(\texttt{!=}\) (distinto).
2.10 ¿Cuáles son los operadores lógicos: OR, AND y negación?
Rpta/. Los operadores \(\texttt{&&}\) y \(\texttt{||}\) se aplican a vectores de longitud uno y sólo evalúan el segundo argumento si es necesario. En tanto que \(\texttt{&}\) y \(\texttt{|}\) se aplican a todos los elementos de un vector.
x <- c(-4:4)
y <- c(5:13)
x>=0 && y<15
# [1] FALSE
x>=0 & y<15
# [1] FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE TRUE
x==0 || y==15
# [1] FALSE
x==0 | y==15
# [1] FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE2.11 ¿Qué efecto tienen \(\texttt{\n \t \b }\) al imprimir una cadena de caracteres?
Rpta/. \(\texttt{\n}\) realiza un salto de línea, \(\texttt{\t}\) realiza una tabulación y finalmente \(\texttt{\b}\) crea un estilo de cuadrado \(\texttt{[]}\) entre las cadenas de texto.
2.12 ¿Cuáles son los principales objetos de \(\texttt{R}\)?
Rpta/. Los vectores son el tipo básico de objeto en \(\texttt{R}\).
2.13 ¿Cómo se define un escalar en \(\texttt{R}\)?
Rpta/. Un escalar se define como un vector numérico de longitud \(1\).
2.14 ¿Qué es un factor y qué atributos tiene?
Rpta/. Un factor es un vector utilizado para especificar una clasificación discreta de los elementos de otro vector de igual longitud. En R existen factores nominales y factores ordinales.
Los factores creados por la función \(\texttt{factor()}\) los denominaremos nominales o simplemente factores y los creados por la función \(\texttt{ordered()}\) los denominaremos ordinales.
2.15 ¿Qué hace la función \(\texttt{tapply}\)?
Rpta/. Aplica una función, a cada grupo de componentes del primer argumento, definidos por los niveles del segundo argumento.
3). Escriba para cada instrucción un comentario resumiendo lo que hace cada función.
- \(> \texttt{help.start()}\) Muestra la ayuda interactiva, que está escrita en formato HTML, utilizando el lector WEB disponible en el ordenador.
- \(> \texttt{sink("record.lis")}\) Enviará el resto de la salida, en vez de a la pantalla, al archivo del sistema operativo, \(\texttt{resultado.lis}\), dentro del directorio de trabajo.
- \(> \texttt{misdatos <- read.table('data.dat')}\) Leemos un data frame directamente, los datos del fichero “data.dat” se guardan en el data frame
misdatos. El archivo externo debe reunir las condiciones adecuadas. - \(> \texttt{L2 <- list(A=x, B=y)}\) Guardamos en una lista llamada L2 los objetos almacenados en x en la variable A, igualmete con y/B.
- \(> \texttt{ts(1:47, frequency = 12, start = c(1959, 2))}\) Creamos un objeto de serie temporal, en este caso, que inicie en el año 1959 e inicie en el mes 2 (Feb), con
frequencyespecificamos el número de observaciones por tiempo, ejemplo, 4=trimestral, 12=mensual, y con1:47especificamos las observaciones de la serie temporal. - \(> \texttt{exp1 <- expression(x/(y + exp(z)))}\) Almacenamos en la variable exp1 la expresión matemática o formula \(x/(y+exp(z))\) para ser añadida posteriormente a un gráfico, NO \(\frac{x}{y+e^z}\) para obtener esta última debíamos definir exp1 como
expression(frac(x,y+e^z)). - \(> \texttt{x <- rpois(40, lambda = 5)}\) Genera un vector que contiene 40 valores pseudoaleatorios de una v.a. con distribución \(X \overset{d}{=} \textrm{P}(\lambda=5)\).
- \(> \texttt{x[x%%2 == 0]}\) Nos arroja los valores (NO las posiciones) de la variable x que al aplicarles la operación modulo 2 es igual a 0.
- \(> \texttt{x <- rnorm(50)}\) Reasignamos a la variable x, ahora con 50 valores aleatorios de una v.a. \(X \overset{d}{=} \textrm{Z}(0,1)\).
- \(> \texttt{mean(x)}\) Nos arroja la media de la variable x, la cual debe ser cercana a 0, por la proveniencia de sus valores.
4). Suponga que usted es la consola de \(\texttt{R}\), responda al frente a cada uno de los comandos la salida pertinente.
0/0
# NaN
labs <- paste(c('X','Y'), 1:10, sep=''); labs
# "X1" "Y2" "X3" "Y4" "X5" "Y6" "X7" "Y8" "X9" "Y10"
c("x","y")[rep(c(1,2,2,1), times = 4)]
# rep(c(1,2,2,1), times = 4)
# 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2 1
# "x" "y" "y" "x" "x" "y" "y" "x" "x" "y" "y" "x" "x" "y" "y" "x"
ls()
# Lista los objetos en el espacio de trabajo
apropos("dim")
# Busca objetos, incluidas funciones, accesibles en la sesión R actual que tienen nombres que incluyen una cadena de caracteres especificada. Por defecto, la coincidencia de cadenas por apropos () no distingue entre mayúsculas y minúsculas.
x <- symbols(); mode(x)
# "numeric"
# Modes tiene el mismo conjunto de nombres que types (see typeof) excepto que,
# types "integer" and "double" are returned as "numeric".
# types "special" and "builtin" are returned as "function".
# type "symbol" is called mode "name".
seq(from = 1, to = 5, by = 0.5)
# 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
gl(n = 3, k = 5)
# [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3
# Levels: 1 2 3
# Genera factores especificando el patrón de sus niveles.
# gl(n = ,k = ,length = ,labels = ,ordered = )
expand.grid(a=c(60,80), p=c(100, 300), sexo=c("Macho", "Hembra"))->trat
# a p sexo
# 1 60 100 Macho
# 2 80 100 Macho
# 3 60 300 Macho
# 4 80 300 Macho
# 5 60 100 Hembra
# 6 80 100 Hembra
# 7 60 300 Hembra
# 8 80 300 Hembra
dim(trat);class(trat)
# [1] 8 3
# [1] "data.frame
v <- c(10,20,30); diag(v)
# [,1] [,2] [,3]
# [1,] 10 0 0
# [2,] 0 20 0
# [3,] 0 0 302 DESCRIPCIÓN DE DOS VARIABLES
2.1 Descripción de dos Variables Continuas
La descripción de dos variables continuas se logra con los diagramas de dispersión y se complementa con las covarianzas y coeficientes de correlación. Al tratarlas en conjunto se puede obtener una gráfica que ensambla los diagramas de dispersión dos a dos.
La función plotpairs{FactoClass} presenta en una gráfica: las densidades kernel univariadas en la diagonal, las densidades kernel bivariadas en la parte triangular superior, y los diagramas de dispersión en la parte triangular inferior.
Algo muy similar lo podemos realizar con la funcion ggpairs{GGally}, en la cual tenemos más opciones de personalizar el análisis multivariado (por ser una extensión de ggplot2), especificando si deseamos el coeficiente de correlación, el kernel bivariado, etc. Además de poder graficar variables tanto cuantitativas como cualitativas, realizando el grafico que mejor se adecue según las variables a comparar.
Con el comando continuous = "density" especificamos que al cruzar variables continuas me arroje un mapa de densidades, además de poder visualizar el grafico segmentado por una variable categórica (aes(color = carr)) en este caso según la carrera del admitido.
attach(admi)
ggpairs(admi[,2:6], mapping = aes(color = carr, alpha = 0.4), legend = 1,
title = "ANÁLISIS MULTIVARIADO RESULTADOS DEL EXAMEN POR ÁREAS",
upper = list(continuous = "density")) +
theme(plot.title = element_text(hjust = 0.5))Posteriormente se presentan las matrices de covarianzas y correlaciones, en las cuales podemos observar que las dos correlaciones más altas son entre Ciencias Sociales-Análisis Textual y Matemática-Análisis de Imagen, lo que se nota en los diagramas de dispersión y densidades kernel. Análisis Textual e Análisis de Imagen no están correlacionas.
| mate | cien | soci | text | imag | |
|---|---|---|---|---|---|
| mate | 1.28 | 0.39 | 0.24 | 0.27 | 0.24 |
| cien | 0.39 | 1.00 | 0.14 | 0.20 | 0.12 |
| soci | 0.24 | 0.14 | 0.75 | 0.32 | 0.09 |
| text | 0.27 | 0.20 | 0.32 | 0.98 | 0.05 |
| imag | 0.24 | 0.12 | 0.09 | 0.05 | 1.00 |
| mate | cien | soci | text | imag | |
|---|---|---|---|---|---|
| mate | 1.00 | 0.34 | 0.24 | 0.24 | 0.21 |
| cien | 0.34 | 1.00 | 0.16 | 0.20 | 0.12 |
| soci | 0.24 | 0.16 | 1.00 | 0.37 | 0.11 |
| text | 0.24 | 0.20 | 0.37 | 1.00 | 0.05 |
| imag | 0.21 | 0.12 | 0.11 | 0.05 | 1.00 |
La relación del puntaje total y los puntajes parciales se da por construcción, porque el total, es un resumen de los puntajes por áreas, en efecto los coeficientes de correlación son importantes, siendo mayores con matemáticas y ciencias:
| mate | cien | soci | text | imag |
|---|---|---|---|---|
| 0.753 | 0.653 | 0.593 | 0.519 | 0.458 |
La componente de Matemática es la más correlacionada con el puntaje global del examen, la menos correlacionada es Análisis de Imagen.
2.2 Descripción de una Variable Continua y una Cualitativa
Una variable cualitativa de \(K\) categorías establece una partición de los “individuos” en \(K\) grupos. Entonces esta descripción se realiza comparando las distribuciones de la variable continua de los \(K\) grupos. Los diagramas de cajas y bigotes son apropiados para esto.
Como ejemplo se comparan los resultados del examen de admisión según las carreras. Con lo cual podemos observar que a las carreras de Geología, Física y Matemáticas se admiten, en promedio, estudiantes con mejores resultados en el examen. En esta cohorte (grupo de sujetos que comparten una característica) los admitidos de menores puntajes son los de Química, Farmacia y Estadística. Individualmente los mejores puntajes están en Física, Matemáticas y Geología y los inferiores en Física, Biología y Geología. La distribución más dispersa es la de los admitidos a Física en contraste con las de Estadística y Farmacia.
# ---------------------------------- BOXPLOT BÁSICO ----------------------------------- #
Col1 <- rainbow(7, alpha = 0.7) # Color de la Caja
Col2 <- rainbow(7, v = 0.4) # Color del Contorno
boxplot(admi$exam~admi$carr, col = Col1, pch = 18, cex = 1.5, las = 1,
medcol = Col2, staplecol = Col2, boxcol = Col2, outcol = Col2,
whiskcol = Col2, boxwex = 0.8, xlab = "CARRERA", ylab = "PUNTAJE DEL EXAMEN")2.2.1 Razón de correlación
La razón de correlación sirve para medir la relación entre una variable continua \(X\) y otra cualitativa \(Y\) con \(K\) categorías. La partición de los \(n\) individuos, inducida por \(Y\), permite descomponer la varianza de \(X\), en varianza entre y varianza intra. La razón de correlación se define como el cociente entre varianza entre y varianza total:
\[\eta^2_{XY} = \frac{\sigma^2_{entre}}{\sigma^2}\]
Donde la varianza entre es:
\[\sigma^2_{entre} = \sum_{k=1}^{K}\frac{n_k}{n}(\overline{X}_k-\overline{X})^2\]
Con \(\overline{X}_k = \frac{1}{n_k}\sum_{i \in I_k} X_i\), es decir, el promedio de los individuos que pertenecen a la clase \(k\), y \(\overline{X}\) es el promedio de los \(n\) individuos, \(I_k\) es el conjunto de los individuos que pertenecen a la clase \(k\) y \(n_k\) el número de ellos.
A continuación, se calculan las razones de correlación entre las notas de los exámenes y la carrera (expresadas en porcentaje), utilizando la función centroids{FactoClass}, la cual nos ayuda a calcular los centroides de una partición y la razón de correlaciones, dicha función espera por parámetros una partición, coordenadas y pesos y arroja las coordenadas de los centroides y las razones de correlaciones.
| mate | cien | soci | text | imag | exam |
|---|---|---|---|---|---|
| 15.86 | 4.31 | 3.22 | 2.34 | 4.42 | 11.87 |
Las razones de correlación son bajas, pero se destacan las de matemáticas y el puntaje global (exam) sobre las demás. Entonces, la componente de matemáticas es la que más hace diferencia entre carreras.
A continuacion, como ejemplo ilustrativo, realizaremos dichos calculos de manera manual.
\[\begin{align*} n &= 445 \\ \sigma^2 &= 1.281 \\ \overline{x} &= 11.795 \end{align*}\]
\[ \left \{ \begin{align*} n_{Biol} &= 63 & n_{Esta} &= 66 & n_{Farm} &= 73 & n_{Fisi} &= 82 \\ \overline{x}_{Biol} &= 11.50 & \overline{x}_{Esta} &= 11.57 & \overline{x}_{Farm} &= 11.25 & \overline{x}_{Fisi} &= 12.18 \\ \hline n_{Geol} &= 45 & n_{Mate} &= 53 & n_{Quim} &= 63 \\ \overline{x}_{Geol} &= 12.12 & \overline{x}_{Mate} &= 12.65 & \overline{x}_{Quim} &= 11.52 \\ \end{align*} \right. \]
\[\begin{align*} \sigma^2_{entre} &= \sum \frac{63}{445}(11.50-11.795)^2 + \frac{66}{445}(11.57-11.795)^2+ \cdots \\ &+ \frac{53}{445}(12.65-11.795)^2 + \frac{63}{445}(11.52-11.795)^2 \\ &= 0.2032 \end{align*}\]
\[\eta^2_{XY} = \frac{0.2032}{1.281} = 0.1586\]
Var_Mat <- (nrow(admi)-1)/nrow(admi)*var(admi$mate) # 1.281
Mean_Mat <- mean(admi$mate) # 11.796
A <- admi[,1:2]
tapply(X = A$mate, INDEX = A$carr, length)## Biol Esta Farm Fisi Geol Mate Quim
## 63 66 73 82 45 53 63
## Biol Esta Farm Fisi Geol Mate Quim
## 11.50 11.57 11.25 12.18 12.12 12.65 11.52
## mate cien soci text imag exam
## [1,] 0.1586254 0.04312485 0.03218455 0.02343066 0.044212 0.1187063
2.2.2 Ordenamiento por valores test para describir una variable cualitativa según varias variables continuas
En (Morineau 1984) se presentan los denominados “valores test” para buscar las variables continuas que más caracterizan a un grupo de \(n_k\) individuos, asociados a una categoría \(k\) de una variable cualitativa. El interés es comparar la media del grupo con la media general, para cada una de las variables continuas. El valor test se define como la diferencia de la media del grupo \(k\) con respecto a la media global, en términos de desviaciones estándar.
Para calcular el valor test se usa como distribución de referencia la de la variable aleatoria \(\overline{X}_k\), definida como la media de una muestra aleatoria de tamaño \(n_k\) tomada sin reemplazamiento de los \(n\) individuos de análisis. La distribución de \(\overline{X}_k\) tiene como parámetros, la media de los \(n\) datos \(\mu\) y la varianza \(\sigma^2_k\):
\[\sigma^2_k = \frac{n-n_k}{n-1}\frac{\sigma^2}{n_k}\]
donde \(\frac{n-n_k}{n-1}\) es el factor de corrección por tamaño de población finita y \(\sigma^2\) es la varianza de los \(n\) datos. Entonces, el valor test queda definido como:
\[t_k = \frac{\bar{x}_k-\mu}{\sigma_k} = \sqrt{\frac{(n-1)n_k}{n-n_k}} \cdot \frac{\bar{x}_k-\mu}{\sigma}\]
Valores test más grandes que \(2\) indican que la clase \(k\) se caracteriza por tener una media superior a la media global; y los inferiores a \(-2\) por tener una media inferior a la global.
Como ejemplo, se calcula el valor test para el puntaje total del examen en la Carrera de Estadística:
\[ \left \{ \begin{align*} n &= 445 & n_{esta}&=66 \\ \bar{x} &= 718.4 & \bar{x}_{esta}&=680.2 \\ \sigma^2 &= 8038.7 \end{align*} \right. \] \[t_{est} = \sqrt{\frac{(445-1)\cdot66}{445-66}} \cdot \frac{680.2-718.4}{\sqrt{8038.7}} = -3.746\]
La sintaxis para calcularlo desde \(\texttt{R}\) se expone a continuación,
n <- nrow(admi)
n_Est <- nrow(admi[carr=="Esta",])
Mean <- mean(admi$exam); Mean <- round(Mean,1)
Mean_Est <- mean(admi[carr=="Esta",]$exam); Mean_Est <- round(Mean_Est,1)
Varianza <- var(admi$exam); Varianza <- round(Varianza,1)
sqrt(((n-1)*n_Est)/(n-n_Est))*((Mean_Est-Mean)/sqrt(Varianza))## [1] -3.746401
La función cluster.carac{FactoClass} ordena las categorías según el valor test y solo presenta a las que en valor absoluto son mayores que \(2\), parámetro que se puede cambiar al llamar la función. A continuación, se muestra la caracterización de las carreras según los resultados de sus admitidos en el examen por áreas y puntaje total.
| Test.Value | Class.Mean | Frequency | Global.Mean | |
|---|---|---|---|---|
| Biología | ||||
| mate | -2.258 | 11.5 | 63 | 11.8 |
| Estadística | ||||
| text | -2.598 | 11.1 | 66 | 11.4 |
| soci | -2.839 | 11.1 | 66 | 11.4 |
| cien | -3.576 | 11.2 | 66 | 11.6 |
| exam | -3.745 | 680.2 | 66 | 718.4 |
| Farmacia | ||||
| imag | -2.945 | 11.0 | 73 | 11.3 |
| exam1 | -3.399 | 685.7 | 73 | 718.4 |
| mate1 | -4.472 | 11.3 | 73 | 11.8 |
| Física | ||||
| mate2 | 3.374 | 12.2 | 82 | 11.8 |
| exam2 | 3.316 | 748.0 | 82 | 718.4 |
| cien1 | 2.482 | 11.8 | 82 | 11.6 |
| Geología | ||||
| exam3 | 2.467 | 749.6 | 45 | 718.4 |
| mate3 | 2.045 | 12.1 | 45 | 11.8 |
| Matemáticas | ||||
| mate4 | 5.816 | 12.6 | 53 | 11.8 |
| exam4 | 3.909 | 763.5 | 53 | 718.4 |
| imag1 | 3.128 | 11.7 | 53 | 11.3 |
| Química | ||||
| mate5 | -2.100 | 11.5 | 63 | 11.8 |
- Podemos observar que los admitidos a Biología obtienen en promedio menores puntajes en Matemáticas.
- Los admitidos a Estadística obtienen en promedio menores puntajes en las áreas de Análisis Textual, de Ciencias Sociales y de Ciencias Naturales.
- Los admitidos a Farmacia, en promedio, obtienen menores puntajes en Análisis de Imagen y Matemáticas, y los de Química menores en matemáticas.
- Los admitidos a Física obtienen mayores puntajes en Matemáticas y , Ciencias Naturales, los de Geología mayores en Matemáticas y los de Matemáticas obtienen, en promedio, mayores puntajes en Matemáticas y Análisis de Imagen.
2.3 Descripción de dos Variables Cualitativas
Para describir la asociación de dos variables cualitativas se construyen tablas de contingencia (TC), que son la clasificación de los individuos por las categorías de las dos variables simultáneamente. Por ejemplo, para ver la asociación entre edad y estrato de los admitidos se construye la TC, donde se incluyen los totales fila y columna y se muestra la tabla de frecuencias relativas, también con las marginales.
A continuación, se presenta la tabla de contingencia \(\textit{edad} \times \textit{estrato}\) de los admitidos, agregando la tabla de frecuencias relativas.
| bajo | medio | alto | MarginalRow | bajo | medio | alto | MarginalRow | |
|---|---|---|---|---|---|---|---|---|
| a16m | 44 | 47 | 27 | 118 | 9.89 | 10.56 | 6.07 | 26.52 |
| a17 | 58 | 74 | 39 | 171 | 13.03 | 16.63 | 8.76 | 38.43 |
| a18 | 22 | 26 | 8 | 56 | 4.94 | 5.84 | 1.80 | 12.58 |
| a19M | 55 | 38 | 7 | 100 | 12.36 | 8.54 | 1.57 | 22.47 |
| MarginalCol | 179 | 185 | 81 | 445 | 40.22 | 41.57 | 18.20 | 100.00 |
La tabla de frecuencias relativas es la distribución conjunta de probabilidad (empírica) de edad y estrato. La marginal fila (sumas por filas), es la distribución de probabilidad de la edad y la marginal columna la distribución de estrato, denominadas también distribuciones marginales.
A continuación, se presenta los perfiles fila y columna de la tabla \(\textit{edad} \times \textit{estrato}\).
## bajo medio alto
## a16m 37.3 39.8 22.9
## a17 33.9 43.3 22.8
## a18 39.3 46.4 14.3
## a19M 55.0 38.0 7.0
## Marginal 40.2 41.6 18.2
## bajo medio alto Marginal
## a16m 24.6 25.4 33.3 26.5
## a17 32.4 40.0 48.1 38.4
## a18 12.3 14.1 9.9 12.6
## a19M 30.7 20.5 8.6 22.5
La asociación entre categorías fila y columna se visualiza con los histogramas de perfiles fila y columna, puestos como barras del \(100\%\), cuyas franjas de colores representan el porcentaje de cada categoría en el histograma de la fila o columna. Se observa, que los admitidos de mayor edad tienen más porcentaje de estrato bajo y los de 17 años y menos un poco más de estrato alto. Por otro lado, los estudiantes de estrato bajo tienen mayor porcentaje de 19 o más años.
# -------------------------------- GRÁFICO DE PERFILES -------------------------------- #
par(col.axis="#DD0066", mfrow=c(2,1))
Colores <- c("#FF7400","#FFCE00","#043869","#0B9822")
PlotPerfiles_FC(TC, profiles = "row", col = Colores)
PlotPerfiles_FC(t(TC), profiles = "row", col = Colores)Algo similar lo podemos lograr con una gráfica de mosaico, la cual no es más que una visualización gráfica de las frecuencias de celda de una tabla de contingencia en la que el área de cuadros de la gráfica es proporcional a las frecuencias de celda de la tabla de contingencia.
# ------------------------------------ MOSAIC PLOT ------------------------------------ #
par(col.lab="#DB3882", col.main="#F13057", fg="#51044E", las=1)
Colores <- c("#F68118","#AEF133","#19EE9F")
mosaicplot(~edad+estr, data = admi, col = Colores, border = "black",
main = "DIAGRAMA DE MOSAICO DE LA TABLA DE CONTINGENCIA \nEdad X Estrato")En tablas de datos es común interesarse por una variable cualitativa que se desea describir por otras variables también cualitativas. Como ejemplo podemos ver los perfiles de las carreras según las demás variables cualitativas.
par(col.axis="#A4063E", col.main="white", las=1, cex=0.7, mfrow=c(3,2))
Colores <- c("#FFB100","#DD0014","#32CD32","#00AEFF")
for (i in 8:13) {
TabCont <- unclass(table(admi$carr, admi[,i]))
PlotPerfiles_FC(TabCont, profiles = "row", col = Colores)
title(main = names(admi)[i], cex.main = 1.2)
}Puede verse, por ejemplo, que:
- Farmacia es la carrera donde se admitieron más mujeres.
- Química es la que tuvo más porcentaje de estrato bajo.
- Farmacia y Estadística se admitido más porcentaje de bogotanos.
- Química fue la de mayor porcentaje de admitidos de 16 años o menos.
- Estadística tuvo mayor porcentaje de los que debieron nivelar lectoescritura.
- En Farmacia y Biología hubo mayor porcentaje de los que tuvieron que nivelar matemáticas.
2.3.1 Dos medidas de asociación entre variables cualitativas
En una tabla de contingencia, denotada \(N\), con \(J\) categorías en fila y \(K\) categorías en columna, \(n_{jk}\) es el número de individuos que asumen simultáneamente las categorías \(j\) y \(k\).
\(n_j\) es el número de individuos que asumen la categoría \(j\) (marginal fila), \(n_k\) el número de individuos asumen la categoría \(k\) (marginal columna), y \(n\) el número total de individuos de la tabla.
La estadística \(\chi^2\) es utilizada para contrastar la hipótesis de independencia, se puede usar como medida de asociación entre dos variables cualitativas y se expresa como (Canavos et al. 1988):
\[\chi^2_{p} = \sum_{j=1}^{J}\sum_{k=1}^{K} \frac{(n_{jk}-\frac{n_j\cdot n_k}{n})^2}{\frac{n_j\cdot n_k}{n}}\]
Para probar la independencia en una tabla de contingencia, se utiliza la distribución asintótica de \(\chi^2\), la cual se distribuye con \(v=(J-1)\cdot(K-1)\) \(\textit{grados de libertad}\). La aproximación se considera buena si ninguna celda de la tabla bajo el supuesto de independencia, de término general \(\frac{n_j\cdot n_k}{n}\), es inferior a \(5\) (Agresti 2010).
Aquí se utiliza como índice descriptivo. Se calcula además su \(\textit{valor p}\),
\[P(\chi^{2}_{\scriptsize{\mathit{(J-1)\cdot(K-1)}}}\geq\chi^2_{p})\]
donde \(\chi^2_{p}\) es el valor calculado en la tabla de contingencia. Al \(\textit{valor p}\) se le asocia el cuantil de la normal estándar, denominado \(\textit{valor test}\):
\[\textit{t tal que } P(Z \geq t)= \textit{valor p, donde } Z\overset{d}{=} \mathcal{N}(0,1)\]
La estadística \(\chi^2\) depende del total de la tabla \(n\). Por lo tanto, también se utiliza el índice de asociación \(\phi^2\):
\[\phi^2 = \frac{\chi^2_{p}}{n}\]
Con la función chisq.carac{FactoClass} se pueden obtener los índices de asociación entre una variable cualitativa (a caracterizar) y otras variables cualitativas. Se muestra, como ejemplo, la asociación de las carreras con las variables sociodemográficas de los admitidos: gene, estr, orig y edad.
Solo entre las carreras y el origen de los admitidos no se muestra asociación. En la sección siguiente se muestran las categorías responsables de las relaciones entre carreras y las otras variables a través de sus categorías.
## chi2 dfr pval tval phi2
## gene 44.108034 6 7.036257e-08 5.2642992 0.09911918
## estr 29.190003 12 3.691872e-03 2.6790224 0.06559551
## orig 9.676163 12 6.443468e-01 -0.3701022 0.02174419
## edad 33.553436 18 1.429273e-02 2.1891565 0.07540098
A continuación, calcularemos manualmente, y como ejemplo ilustrativo, la relación entre la edad y el estrato, para ello recordemos como estaba construida la tabla de contingencia (realizada anteriormente).
Debajo de cada valor de \(n_{jk}\) se encuentra el valor de su respectivo \(\frac{n_j\cdot n_k}{n}\), así, por ejemplo, para la primera celda, el valor de 47.46 se consigue mediante \(\frac{\color{Orange} {118\cdot 179}}{445}\). Con lo anterior podemos realizar el cálculo de \(\chi^2_{p}\) fácilmente,
\[\begin{align*} \chi^2_{p} &= \sum_{j=1}^{J}\sum_{k=1}^{K} \frac{(n_{jk}-\frac{n_j\cdot n_k}{n})^2}{\frac{n_j\cdot n_k}{n}} \\ &= \frac{(44-47.46)^2}{47.46}+\frac{(58-68.72)^2}{68.72}+\cdots+\frac{(8-10.19)^2}{10.19}+\frac{(7-18.20)^2}{18.20} \\ &= 0.2529+1.69080+\cdots+0.47192+6.89422 \\ &= 18.99072 \end{align*}\]
Con ello, ya podemos proceder a calcular el \(\textit{valor p}\),
\[\textit{valor p}=P(\chi^{2}_{2\cdot3=6}\geq18.99072)=0.00417\]
## [1] 0.004179334
Con el \(\textit{valor p}\) calculado, fácilmente podemos calcular el \(\textit{valor test}\),
\[\begin{align*} \textit{valor t} &=P(Z \geq t)=0.00417 \\ &\xrightarrow[\cdots]{\textit{buscando en la tabla de } Z \textit{ dicho cuantil}} \\ &= 2.6372 \end{align*}\]
## [1] 2.637228
Por último, el \(\textit{índice de asociación}\) o \(\phi^2\) se calcula de manera muy sencilla,
\[\phi^2 = \frac{18.99072}{445} = 0.04268\]
## [1] 0.04267578
Para verificar que dichos cálculos llevados a cabo están bien, corroboraremos los resultados con los valores arrojados por la función ya presentada chisq.carac{FactoClass}.
## chi2 dfr pval tval phi2
## df 18.99072 6 0.004179336 2.637228 0.04267577
2.3.2 Ordenamiento por valores test para describir una variable cualitativa según las categorías de varias variables cualitativas
Para ordenar automáticamente las categorías más características en los perfiles de la variable cualitativa, que se está describiendo (categoría \(k\)), se recurre a calcular los valores test (Morineau 1984). La proporción de individuos que asumen una categoría \(j\) (de otra variable que caracteriza) dentro del grupo \(k: \frac{n_{jk}}{n_k}\) se compara con la proporción de la categoría \(j\) en los \(n\) individuos: \(\frac{n_j}{n}\). Una manera de definir esa diferencia, cuando es positiva, es calculando la probabilidad de obtener \(n_{jk}\) individuos o más, en una muestra aleatoria de tamaño \(n_k\) sin reemplazamiento. El esquema de comparación se muestra a continuación.
Esquema para obtener el \(\textit{valor p}\) como índice de comparación entre la proporción de la categoría \(j\) dentro de la clase \(k\) y su proporción global.
En la urna hay \(n\) “bolas” (que representan a los individuos) y entre estas hay algunas (\(n_j\)) que tienen la característica \(j\). De la urna se extrae una muestra al azar y sin reemplazo de tamaño \(n_k\).
Sea la variable aleatoria \(N :=\) “número de bolas con la característica \(j\) al extraer \(n_k\) bolas al azar y sin reemplazo”. La variable aleatoria \(N\) tiene distribución hipergeométrica de parámetros \(n\), \(n_j\) y \(n_k\). La probabilidad que se desea calcular, notada \(\textit{valor p}\), es:
\[ \textit{valor p}=\left\{\begin{matrix} P(N \geq n_{kj}) & \textit{si } \frac{n_{kj}}{n_k}\geq \frac{n_j}{n}\\ P(N \leq n_{kj}) & \textit{en otro caso} \end{matrix}\right. \]
Si la probabilidad es muy baja, por ejemplo, menor que \(0.05\), la categoría \(j\) caracteriza a la clase \(k\) por tener mayor o menor proporción de la categoría dentro de la clase comparada con su proporción global. El \(\textit{valor p}\) no es práctico porque es decimal y puede tener muchos ceros a la izquierda. Por eso (Morineau 1984) propone transformarlos en valores test, que son cuantiles de la normal estándar.
El valor test es el cuantil de la normal estándar que corresponde al \(\textit{valor p}\):
\[ \textit{valor test}=\textit{t tal que}\left\{\begin{matrix} P(Z \geq t)=\frac{\textit{valor p}}{2} & \textit{si } \frac{n_{kj}}{n_k}\geq \frac{n_j}{n}\\ P(Z \leq t)=\frac{\textit{valor p}}{2} & \textit{en otro caso} \end{matrix}\right. \]
La división del \(\textit{valor p}\) sobre \(2\) se introduce porque se consideran las dos diferencias, es decir, el \(\textit{valor test}\) está asociado a una prueba de hipótesis bilateral o de dos colas. Cuando la proporción de la característica \(j\) dentro del grupo \(k\) es menor que la global, el \(\textit{valor test}\) es negativo.
La función cluster.carac{FactoClass} calcula los \(\textit{valores p}\) y los \(\textit{valores test}\) asociados. En el objeto de salida, para cada una de las categorías de la variable que se está caracterizando (clase \(k\)) se presentan las categorías de las demás variables que la caracterizan (categorías \(j\)), ordenadas por los \(\textit{valores test}\). cluster.carac muestra solamente las categorías que tienen \(\textit{valores test}\) superiores, en valor absoluto, al umbral \(v.lim = 2\), parámetro que se puede cambiar.
En la siguiente tabla se muestra la salida que caracteriza las carreras según las cuatro variables sociodemográficas y las dos variables que indican si los admitidos tienen que nivelar o no.
| Test.Value | p.Value | Class.Cat | Cat.Class | Global | Weight | |
|---|---|---|---|---|---|---|
| Biología | ||||||
| niMa.siMa | 3.332 | 0.001 | 17.5 | 87.3 | 70.8 | 315 |
| niMa.noMa | -3.332 | 0.001 | 6.2 | 12.7 | 29.2 | 130 |
| Estadística | ||||||
| niLE.siLE | 2.235 | 0.025 | 26.1 | 18.2 | 10.3 | 46 |
| niMa.siMa1 | 2.034 | 0.042 | 16.8 | 80.3 | 70.8 | 315 |
| niMa.noMa1 | -2.034 | 0.042 | 10.0 | 19.7 | 29.2 | 130 |
| niLE.noLE | -2.235 | 0.025 | 13.5 | 81.8 | 89.7 | 399 |
| Farmacia | ||||||
| gene.F | 5.152 | 0.000 | 31.2 | 54.8 | 28.8 | 128 |
| niMa.siMa2 | 4.355 | 0.000 | 21.0 | 90.4 | 70.8 | 315 |
| edad.a18 | 2.252 | 0.024 | 26.8 | 20.5 | 12.6 | 56 |
| estr.alto | -2.281 | 0.023 | 8.6 | 9.6 | 18.2 | 81 |
| niMa.noMa2 | -4.355 | 0.000 | 5.4 | 9.6 | 29.2 | 130 |
| gene.M | -5.152 | 0.000 | 10.4 | 45.2 | 71.2 | 317 |
| Física | ||||||
| niMa.noMa3 | 3.475 | 0.001 | 28.5 | 45.1 | 29.2 | 130 |
| gene.M1 | 3.045 | 0.002 | 21.8 | 84.1 | 71.2 | 317 |
| gene.F1 | -3.045 | 0.002 | 10.2 | 15.9 | 28.8 | 128 |
| niMa.siMa3 | -3.475 | 0.001 | 14.3 | 54.9 | 70.8 | 315 |
| Geología | ||||||
| estr.alto1 | 3.677 | 0.000 | 22.2 | 40.0 | 18.2 | 81 |
| niMa.noMa4 | 2.706 | 0.007 | 16.2 | 46.7 | 29.2 | 130 |
| edad.a17 | 2.554 | 0.011 | 14.6 | 55.6 | 38.4 | 171 |
| niMa.siMa4 | -2.706 | 0.007 | 7.6 | 53.3 | 70.8 | 315 |
| estr.medio | -3.242 | 0.001 | 4.9 | 20.0 | 41.6 | 185 |
| Matemáticas | ||||||
| niMa.noMa5 | 4.467 | 0.000 | 23.1 | 56.6 | 29.2 | 130 |
| edad.a19M | 3.683 | 0.000 | 23.0 | 43.4 | 22.5 | 100 |
| gene.M2 | 3.218 | 0.001 | 14.8 | 88.7 | 71.2 | 317 |
| edad.a171 | -2.089 | 0.037 | 8.2 | 26.4 | 38.4 | 171 |
| gene.F2 | -3.218 | 0.001 | 4.7 | 11.3 | 28.8 | 128 |
| niMa.siMa5 | -4.467 | 0.000 | 7.3 | 43.4 | 70.8 | 315 |
| Química | ||||||
| edad.a16m | 2.320 | 0.020 | 20.3 | 38.1 | 26.5 | 118 |
| edad.a172 | -2.189 | 0.029 | 9.9 | 27.0 | 38.4 | 171 |
Las tablas: de contingencia que cruza \(\textit{niMa} \times \textit{carr}\), de frecuencias relativas, de perfiles fila y de perfiles columna se presentan en la siguiente tabla y de ellas se deriva el resumen de la tabla anterior.
tcCarrNiMa <- unclass(table(admi$niMa, admi$carr))
tabs <- plotct(tcCarrNiMa, tables = TRUE)
tabs$ctm # Tabla de Contingencia## Biol Esta Farm Fisi Geol Mate Quim marR
## siMa 55 53 66 45 24 23 49 315
## noMa 8 13 7 37 21 30 14 130
## marC 63 66 73 82 45 53 63 445
## Biol Esta Farm Fisi Geol Mate Quim marR
## siMa 12.4 11.9 14.8 10.1 5.4 5.2 11.0 70.8
## noMa 1.8 2.9 1.6 8.3 4.7 6.7 3.1 29.2
## marC 14.2 14.8 16.4 18.4 10.1 11.9 14.2 100.0
## Biol Esta Farm Fisi Geol Mate Quim Sum
## siMa 17.5 16.8 21.0 14.3 7.6 7.3 15.6 100.1
## noMa 6.2 10.0 5.4 28.5 16.2 23.1 10.8 100.2
## Biol Esta Farm Fisi Geol Mate Quim marg
## siMa 87.3 80.3 90.4 54.9 53.3 43.4 77.8 70.8
## noMa 12.7 19.7 9.6 45.1 46.7 56.6 22.2 29.2
## Sum 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
Considérense, por ejemplo, algunos de los valores de la primera fila de la tabla:
- El \(87.3\%\) de la celda \((1; 1)\) de los perfiles columna.
- El \(70.8\%\) corresponde al marginal de la fila \(siMa\) de la tabla de frecuencias relativas.
- El \(17.5\%\) de la celda \((1; 1)\) de la tabla de perfiles fila y el \(315\) marginal \(siMa\) de la tabla de contingencia.
Para mostrar la lectura y un cálculo, tomemos la primera fila de la tabla de caracterización de las carreras según algunas variables cualitativas, corresponde a la categoría \(siMa\), dentro del grupo de los admitidos a Biología. El \(\textit{valor test} = 3.332\), que corresponde a un \(\textit{valor p}\) de \(0.001\), indica que el porcentaje de \(87.3\%\) (columna \(Cat/Cl\)) de los que tienen que nivelar matemáticas dentro de Biología es característico, comparado con el \(70.8\%\) (penúltima columna) de todos los admitidos.
El \(17.5\%\) de la columna \(Cl/Cat\) indica que de los \(315\) (última columna) admitidos que tienen que nivelar matemáticas el \(17.5\%\) están en los admitidos a Biología. Como \(niMa\), solo tiene dos categorías, el \(\textit{valor test}\) para los que no tienen que nivelar es \(-3.332\), es decir, Biología se caracteriza por tener menos proporción que el global de los que no tienen que nivelar matem_aticas. Sin embargo, no hay necesidad de decirlo porque es el resultado complementario.
A continuación, se ilustra el cálculo del \(\textit{valor p}\) y del \(\textit{valor test}\) para la categoría \(siMa\) dentro de Biología. La variable aleatoria \(N :=\) número de admitidos que tienen que nivelar matemáticas en la muestra de tamaño 63, tomada sin reemplazo de los 445 admitidos a Ciencias, donde hay 315 que tienen que nivelar matemáticas, tiene distribución hipergeométrica. \[N \overset{d}{=}Hg(N=445, n=63, R=315)\] Los parámetros se toman como \(N=445\), \(n_k=n_{biol}=63\), \(n_j=n_{siMa}=315\).
El valor de los admitidos a Biología que tienen que nivelar matemáticas, \(n_{kj} = 55\), se toma como una muestra específica. Entonces, hay que calcular primero la probabilidad,
\[P(N \geq 55)= \textit{con modelo }N \overset{d}{=}Hg(N=445, n=63, R=315)\]
Esa probabilidad es el \(\textit{valor p}\) y el cuantil de la normal estándar.
En este caso suponemos que se tiene un conjunto de \(N\) objetos de los cuales \(m\) son de una primera clase, y \(N-R\) son de una segunda clase. Suponga que de este conjunto se toma una muestra de tamaño \(n\), sin reemplazo y en donde el orden de los objetos seleccionados no importa.
Para evaluar \(1-F_X(x)\) de una distribuci?n Hg(N, n, R) se debe escribir en \(\texttt{R}\) como phyper(x, R, N-R, n, lower.tail=F).
attach(admi)
N <- nrow(admi) # Total de estudiantes
R <- nrow(admi[niMa=="siMa",]) # Estudiantes que poseen la cualidad
n <- nrow(admi[carr=="Biol",]) # Tamaño de muestra
x <- nrow(admi[niMa=="siMa"&carr=="Biol",]) # Del tamaño de la muestra los que tiene la cualidad
( Valor_p <- phyper(x-1, R, N-R, n, lower.tail = F) )## [1] 0.000862394
## [1] 3.331951
2.4 Ejercicios Capítulo II
En un estudio de \(27\) razas de perros, se registran seis variables que miden las cualidades físicas o psíquicas de la raza y una variable que indica la función para la que se suele emplear la raza:
Las razas de función utilidad incluyen: salvamento, defensa, perro para ciego o perro de policía, etc.
El objetivo del ejercicio es describir las características físicas y psíquicas de las razas más relacionadas con cada una de las categorías de la función.
Los datos se encuentran en el archivo \(\texttt{perros.txt}\) o en el paquete FactoClass como DogBreeds. Para ver la asociación entre cada una de las variables físicas y psíquicas con la utilidad, utilice la función chisq.carac{FactoClass} y para ordenar las categorías según su caracterización con la función, use cluster.carac{FactoClass}.
Dog_Var <- DogBreeds[,-7] # Variables a estudiar
Dog_Fun <- DogBreeds[,7] # Clase, se puede igual con subset(DogBreeds, select = 7)
chisq.carac(df = Dog_Var, cl = Dog_Fun, thr = 0)## chi2 dfr pval tval phi2
## WEIG 24.407143 4 6.618319e-05 3.8220136 0.9039683
## AFFE 14.760989 2 6.232926e-04 3.2280010 0.5467033
## SIZE 16.354286 4 2.578811e-03 2.7970208 0.6057143
## AGGR 7.072665 2 2.911993e-02 1.8938881 0.2619505
## SPEE 8.483333 4 7.539403e-02 1.4367534 0.3141975
## INTE 4.140385 4 3.873401e-01 0.2862584 0.1533476
| Test.Value | p.Value | Class.Cat | Cat.Class | Global | Weight | |
|---|---|---|---|---|---|---|
| Compañia | ||||||
| AFFE.hig | 3.849 | 0.000 | 71.4 | 100.0 | 51.9 | 14 |
| WEIG.lig | 3.308 | 0.001 | 87.5 | 70.0 | 29.6 | 8 |
| SIZE.sma | 2.866 | 0.004 | 85.7 | 60.0 | 25.9 | 7 |
| SIZE.lar | -3.541 | 0.000 | 6.7 | 10.0 | 55.6 | 15 |
| AFFE.low | -3.849 | 0.000 | 0.0 | 0.0 | 48.1 | 13 |
| Caza | ||||||
| WEIG.med | 2.621 | 0.009 | 57.1 | 88.9 | 51.9 | 14 |
| AFFE.low1 | 2.082 | 0.037 | 53.8 | 77.8 | 48.1 | 13 |
| AFFE.hig1 | -2.082 | 0.037 | 14.3 | 22.2 | 51.9 | 14 |
| Utilidad | ||||||
| WEIG.hea | 3.392 | 0.001 | 100.0 | 62.5 | 18.5 | 5 |
| SIZE.lar1 | 2.978 | 0.003 | 53.3 | 100.0 | 55.6 | 15 |
| AGGR.hig | 2.530 | 0.011 | 53.8 | 87.5 | 48.1 | 13 |
| WEIG.lig1 | -2.120 | 0.034 | 0.0 | 0.0 | 29.6 | 8 |
| SPEE.med | -2.120 | 0.034 | 0.0 | 0.0 | 29.6 | 8 |
| AGGR.low | -2.530 | 0.011 | 7.1 | 12.5 | 51.9 | 14 |
| com | hun | uti | MarginalRow | com | hun | uti | MarginalRow | |
|---|---|---|---|---|---|---|---|---|
| hig | 10 | 2 | 2 | 14 | 37.04 | 7.41 | 7.41 | 51.85 |
| low | 0 | 7 | 6 | 13 | 0.00 | 25.93 | 22.22 | 48.15 |
| MarginalCol | 10 | 9 | 8 | 27 | 37.04 | 33.33 | 29.63 | 100.00 |
Complete:
- Las tres variables que más caracterizan a la función para la cual se utilizan las razas son: \(\underline{\textit{El peso, la afectividad y el tamaño}}\).
- La estadística \(\chi^2\) asociada a la tabla de contingencia Peso \(\times\) Función es: \(\underline{24.407}\).
- La estadística \(\chi^2\) asociada a la tabla de contingencia Agresividad \(\times\) Función es: \(\underline{7.073}\).
- Para encontrar el \(\textit{valor p}\), asociado al punto anterior, se utiliza la distribución: \(\chi^2\) con \((2-1)\cdot(3-1)=2\) grados de libertad.
- El \(\textit{valor test}\) se puede obtener con el comando de \(\texttt{R}\):
cluster.carac$.$Test.Value.
Conteste falso o verdadero a las afirmaciones siguientes:
- De las razas utilizadas para compañía el \(71.4\%\) es de afectividad alta.
Falso, de las razas con afectividad alta, el \(71.4\%\) se utilizan para compañia.
- Todas las razas utilizadas para compañía son de afectividad alta.
Verdadero, ya que \(\textit{Cat/Class} = 100\).
- Todas las razas de afectividad alta se utilizan para compañía.
Falso, de acuerdo con \(\textit{Class/Cat }\) el \(71.4\%\) se utilizan para compañía.
- Hay catorce razas utilizadas para compañía.
Falso, hay es \(14\) razas de afectividad alta, más no de compañía (hay \(10\)).
- Hay catorce razas de afectividad alta.
Verdadero, por lo expresado anteriormente.
- En las razas utilizadas para compañía hay catorce de afectividad alta.
Falso.
- Todas las razas pesadas son de utilidad.
Verdadero, de acuerdo con \(\textit{Class/Cat} = 100\).
- Todas las razas de utilidad son de tamaño grande.
Verdadero, de acuerdo con \(\textit{Cat/Class} = 100\).
- La velocidad no caracteriza a las razas de caza.
Verdadero, valor test de la velocidad no supera el umbral de \(\pm 2\).
- Hay cinco razas de utilidad.
Falso, hay \(8\) razas de utilidad.
3 ANÁLISIS DE COMPONENTES PRINCIPALES (ACP)
El análisis de componentes principales tiene como objetivo calcular una serie de combinaciones lineales de las variables de forma que maximicen la varianza de las componentes con la restricción de que distintas combinaciones lineales sean ortogonales. O dicho de otro modo, el ACP es una técnica que transforma ciertas variables en otras incorrelacionadas, de media cero, que pueden escribirse como combinaciones lineales de las primeras y que se llaman factores o componentes principales, las cuales pueden ordenarse por la magnitud de su varianza. Las primeras \(F\) componentes principales bastan para describir en alto porcentaje la variabilidad total de las variables originales. Con frecuencia \(F\) vale \(2\) o \(3\), siendo el primero de ellos el caso más deseable. Aunque todas las variables originales entran en la composición de cada componente principal, algunas son más importantes que otras. Estas, las más importantes, determinan la naturaleza de cada componente. El ACP es una técnica descriptiva, pero también puede ser utilizado con fines de inferencia.
3.1 Interpretación de los Ejes Factoriales
El problema central, una vez se ha reducido la dimensionalidad del conjunto de datos, es la asignación de un nombre a los primeros ejes factoriales, para interpretar las proyecciones sobre los planos factoriales, junto con la superposición, de acuerdo con las relaciones de transición. La asignación de un nombre está en relación con la contribución absoluta de cada eje a la variabilidad total, la cual expresa la proporción de la varianza (inercia) con que una modalidad de la variable contribuye a la varianza “retenida” por el eje. En la asignación del nombre, también se consideran las contribuciones relativas (cosenos cuadrados) o correlaciones entre elemento-factor, que expresan las contribuciones de un factor en la “explicación” de la dispersión de un elemento. Mediante las contribuciones absolutas se puede saber que variables son las responsables de la construcción de un factor, las contribuciones relativas muestran cuales son las características exclusivas de este factor.
Los ejes no aparecen por azar, sino que identifican las direcciones de mayor dispersión (mayor inercia) con respecto a la nube de puntos, siendo la inercia proyectada sobre cada eje igual a su valor propio \((\lambda_\alpha)\).
En resumen, y en concordancia con (Monroy and Rivera 2012), el ACP tiene como objetivo la estructuración de un conjunto de datos multivariado mediante la reducción del número de variables. Esta es una metodología de tipo matemático para la cual no es necesario asumir distribución probabilística alguna.
Se puede decir que el análisis de componentes principales transforma el conjunto de variables originales en un conjunto más pequeño de variables, las cuales son combinaciones lineales de las primeras, que contienen la mayor parte de la variabilidad presente en el conjunto inicial. De otra manera, se trata de reducir la “redundancia” de información mostrada por las variables, asi como en lingüística la expresión “salgamos todos para afuera” es, en un lenguaje más estético, equivalente a “salgamos”.
El análisis por componentes principales tiene como propósito central la determinación de unos pocos factores (componentes principales) que retengan la mayor variabilidad contenida en los datos. Las nuevas variables poseen algunas características estadísticas “deseables”, tales como independencia (bajo el supuesto de normalidad) y no correlación. En el caso de no correlación entre las variables originales, el ACP no tiene mucho que hacer, pues las componentes se corresponderían con cada variable por orden de magnitud en la varianza; es decir, la primera componente coincide con la variable de mayor varianza, la segunda componente con la variable de segunda mayor varianza, y así sucesivamente.
3.2 Ejemplo: Café
En (Duarte et al. 1996) se presenta un experimento en el que se preparan tazas de café para detectar la influencia de la contaminación del grano con maíz y cebada. La tabla de datos está incluida en cafe{FactoClass} y tiene doce filas y dieciséis columnas.
El experimento considera tres factores: agregado (sin o excelso, maíz, cebada), porcentaje del agregado (\(20\%\) y \(40\%\)) y grado de tostación (clara y oscura). Con el café molido de cada uno de los diez tratamientos se preparan tazas de café para medir propiedades químicas, físicas y sensoriales.
En este ejemplo se utilizan solamente las variables físicas \(\{\)color, da: densidad aparente, ea: extracto acuoso (contenido de solidos solubles)\(\}\) y las diez primeras filas que corresponden a los tratamientos del experimento. Los valores obtenidos para los diez tratamientos se muestran en la Tabla 1.
| Color | DA | EA | |
|---|---|---|---|
| ExCl | 298 | 385.1 | 25 |
| C40M | 361 | 481.3 | 41 |
| C40C | 321 | 422.6 | 40 |
| C20M | 335 | 444.3 | 33 |
| C20C | 314 | 368.7 | 32 |
| ExOs | 186 | 346.6 | 28 |
| O40M | 278 | 422.6 | 43 |
| O40C | 238 | 403.0 | 42 |
| O20M | 226 | 368.7 | 36 |
| O20C | 210 | 368.7 | 35 |
Los ocho tratamientos que corresponden a los cafés contaminados con maíz y cebada se identifican así:
- La primera letra indica el grado de tostación (C=claro u O=oscuro).
- Los dos números siguientes el porcentaje de contaminación (20% o 40%).
- La última letra el contaminante (M=maíz o C=cebada).
Por ejemplo, C20M quiere decir tostación clara, con \(20\%\) de agregado de maíz. Los dos cafés excelsos se identifican como ExCl y ExOs.
La matriz \(\mathbf{Y}\) contiene los datos “activos” del ejemplo. Las 10 filas (\(n = 10\)) de \(\mathbf{Y}\) se representan como puntos en \(\mathbb{R}^3\) (\(p = 3\)), imagen que se denomina nube de individuos. Las columnas de \(\mathbf{Y}\) representan a las variables. Cada una se puede ver como un vector en \(\mathbb{R}^{10}\). Esta geometría es abstracta, pero tiene las mismas propiedades de la geometría en 3D (\(\mathbb{R}^3\)). Los tres vectores (color, DA y EA) constituyen la nube de variables.
3.2.1 Preliminares
En la nube de los \(n\) individuos en \(\mathbb{R}^p\) los ejes son las variables y las coordenadas de cada punto son los valores de las variables que asume el individuo de la fila de \(\mathbf{Y}\). A continuación, se muestra en 3D la nube de los diez individuos del ejemplo “Café”.
Sobre la nube de individuos se define el centro de gravedad, notado \(g\), que generaliza el concepto de media como una medida de localización multivariada. El centro de gravedad constituye un individuo artificial denominado típico porque es el punto de referencia para comparar a los demás.
Los valores para el café típico son \(276.70, 401.16 \text{ y } 35.50\), respectivamente. Esas son las coordenadas del centro de gravedad en la representación sin centrar.
## Color DA EA
## 276.70 401.16 35.50
El centrado de los individuos permite trasladar el cero de la representación al centro de gravedad. En la gráfica centrada se pierden las coordenadas del centro de gravedad, por lo tanto, es necesario registrar esos valores, que son los promedios de las variables.
A continuación, se muestra la representación en 3D de la nube de puntos centrados del ejemplo “Café”. La representación centrada tiene la misma forma que la original, pero las coordenadas de los cafés han cambiado. Las coordenadas en cada eje representan la diferencia de un café con respecto al café típico, por ejemplo, el café excelso con tostación clara (ExCl) tiene \(21.30\) unidades de color más que el café típico, \(16.06\) unidades menos de densidad aparente y \(10.05\) unidades menos de extracto acuoso.
| Color | DA | EA | |
|---|---|---|---|
| ExCl | 21.3 | -16.06 | -10.5 |
| C40M | 84.3 | 80.14 | 5.5 |
| C40C | 44.3 | 21.44 | 4.5 |
| C20M | 58.3 | 43.14 | -2.5 |
| C20C | 37.3 | -32.46 | -3.5 |
| ExOs | -90.7 | -54.56 | -7.5 |
| O40M | 1.3 | 21.44 | 7.5 |
| O40C | -38.7 | 1.84 | 6.5 |
| O20M | -50.7 | -32.46 | 0.5 |
| O20C | -66.7 | -32.46 | -0.5 |
La distancia entre individuos es igual si se calcula a partir de la matriz de datos originales o la matriz de datos centrados. En la Tabla 3 aparecen las distancias entre los diez cafés. Una distancia de \(0\) indicaría que los dos cafés tienen los mismos valores para las variables. En las dos gráficas expuestas (ambas \(\mathbf{Y}\) y \(\mathbf{Y_C}\) están representando también las distancias entre los cafés), las parejas de cafés más alejados son ExOs y C40M, la distancia entre ellos es \(221\), la mayor en la tabla. Los más próximos son O20C y O20M, con una distancia de \(16\).
| ExCl | C40M | C40C | C20M | C20C | ExOs | O40M | O40C | O20M | O20C | |
|---|---|---|---|---|---|---|---|---|---|---|
| ExCl | 0.0 | 116.1 | 46.5 | 70.3 | 24.0 | 118.5 | 46.2 | 64.9 | 74.7 | 90.1 |
| C40M | 116.1 | 0.0 | 71.0 | 45.9 | 122.3 | 221.2 | 101.7 | 145.8 | 175.9 | 188.5 |
| C40C | 46.5 | 71.0 | 0.0 | 26.8 | 54.9 | 155.4 | 43.1 | 85.3 | 109.3 | 123.5 |
| C20M | 70.3 | 45.9 | 26.8 | 0.0 | 78.5 | 178.2 | 61.8 | 105.8 | 132.7 | 146.1 |
| C20C | 24.0 | 122.3 | 54.9 | 78.5 | 0.0 | 130.0 | 65.7 | 84.0 | 88.1 | 104.0 |
| ExOs | 118.5 | 221.2 | 155.4 | 178.2 | 130.0 | 0.0 | 120.3 | 78.0 | 46.4 | 33.4 |
| O40M | 46.2 | 101.7 | 43.1 | 61.8 | 65.7 | 120.3 | 0.0 | 44.6 | 75.2 | 87.1 |
| O40C | 64.9 | 145.8 | 85.3 | 105.8 | 84.0 | 78.0 | 44.6 | 0.0 | 36.8 | 44.8 |
| O20M | 74.7 | 175.9 | 109.3 | 132.7 | 88.1 | 46.4 | 75.2 | 36.8 | 0.0 | 16.0 |
| O20C | 90.1 | 188.5 | 123.5 | 146.1 | 104.0 | 33.4 | 87.1 | 44.8 | 16.0 | 0.0 |
Las varianzas dependen de las unidades de medida de las variables. Por lo tanto, al cambiar la escala cambia su varianza. La influencia de esas unidades de medida se elimina con la operación de reducido, que consiste en dividir cada columna de la matriz de datos centrados por la desviación estándar de la variable correspondiente.
El análisis en componentes principales que se realiza casi todas las veces se denomina normado y se hace con la matriz \(\mathbf{X} = \mathbf{Y_C}\mathbf{D_{\sigma}^{-1}}\), que contiene los datos estandarizados, es decir, centrados y reducidos.
Cuando los datos están estandarizados, la inercia de la nube de puntos es igual al número de variables, ya que cada una de ellas contribuye con \(1\) a la inercia total. Esto implica que la inercia, en el ACP normado deja de tener significado estadístico porque no depende de los valores de la tabla que se está analizando, sino del número de variables que contenga. En el ejemplo la inercia es \(3\).
3.2.2 Análisis
3.2.2.1 Círculo de Correlaciones:
Un plano factorial de las variables estandarizadas se denomina círculo de correlaciones ya que es la proyección de la hiperesfera de correlaciones, echas que parten del origen y tienen longitud \(1\). La longitud de la proyección, sin error, de un vector variable es \(1\). La calidad de la representación en el plano se observa al dibujar un círculo de radio uno en el plano factorial.
Por consiguiente, el círculo es una imagen de la matriz de correlaciones y permite la interpretación de los ejes factoriales.
Variables continuas como suplementarias o ilustrativas:
Sobre el círculo de correlaciones de un ACP normado se pueden proyectar variables que no participaron en el análisis. Por ejemplo, cuando se tiene un puntaje global como suma o promedio de varios puntajes, conviene proyectar como ilustrativo el puntaje global sobre el ACP de los otros puntajes.
En el ejemplo “Café” se proyecta la nota de impresión global dada por un panel de catadores para explorar su relación con las tres variables físicas en conjunto. La correlación con el primer eje es alta y en sentido opuesto (\(-0.79\)), lo que signifca que valores altos en estas tres propiedades físicas indican detrimento de la calidad apreciada de las tazas de café. Esto explica la ubicación de los cafés excelso del lado negativo del eje \(\textit{1}\).
## Dim.1 Dim.2
## Impresion -0.7887268 -0.05268367
A continuación, se muestran el círculo, la matriz de correlaciones, las coordenadas y las ayudas para la interpretación de las variables en el ejemplo “Café”.
| Eje 1 | Eje 2 | Eje 1 | Eje 2 | Eje 1 | Eje 2 | Plano | |
|---|---|---|---|---|---|---|---|
| Color | 0.83 | -0.52 | 33.58 | 32.65 | 0.69 | 0.27 | 0.96 |
| DA | 0.97 | -0.06 | 45.28 | 0.45 | 0.94 | 0.00 | 0.94 |
| EA | 0.66 | 0.74 | 21.14 | 66.90 | 0.44 | 0.55 | 0.99 |
| Color | DA | EA | |
|---|---|---|---|
| Color | 1.000 | 0.790 | 0.189 |
| DA | 0.790 | 1.000 | 0.566 |
| EA | 0.189 | 0.566 | 1.000 |
El primer eje es un “factor tamaño” porque está correlacionado positivamente con las tres variables. Los cafés con valores altos de sus coordenadas sobre el eje tienen valores altos en las tres variables. La correlación negativa de la Nota de apreciación de los catadores con el primer eje significa que los mejores cafés están al lado negativo del primer eje, es decir, que valores mayores de las tres variables dañan la calidad apreciada del café.
El segundo eje muestra correlación positiva con EA y negativa con Color, los cafés con coordenadas positivas tienen mayores valores de extracto acuoso y los de coordenadas negativas, mayores valores de color.
En conclusión, la interpretación se hace teniendo en cuenta los vectores propios: al lado positivo del primer eje se sitúan los cafés con mayores valores en las tres variables; al lado positivo del segundo eje, los de mayor valor en EA y al lado negativo los de mayor valor en Color.
3.2.2.2 Plano Factorial:
El siguiente código presenta cómo obtener la matriz de correlaciones, a partir de los datos estandarizados, y sus valores y vectores propios:
X <- scale(Y, center = T, scale = T)
# Cálculo de matriz correlaciones
V <- cor(X) # V <- t(X)%*%X/9
# Cálculo de valores y vectores propios
Descomp <- eigen(V)
Lambda <- Descomp$values
U <- Descomp$vectors
rownames(U) <- rownames(V)
colnames(U) <- paste("Eje ", 1:3, sep='')
Lambda ; U
# [1] 2.0670307 0.8216466 0.1113227
# Eje 1 Eje 2 Eje 3
# Color 0.5794934 -0.57140813 0.5811025
# DA 0.6728898 -0.06680772 -0.7367197
# EA 0.4597898 0.81794222 0.3457801En el ejemplo “Café”, los valores propios son:
\[\lambda_1 = 2.067, \hspace{0.3cm} \lambda_2 = 0.822 \hspace{0.15cm} \textit{ y } \hspace{0.15cm} \lambda_3 = 0.111\]
y los vectores propios:
\[\begin{align*} \mathbf{u_1} &= (0.58,0.67,0.46)' \\ \mathbf{u_2} &= (-0.57,-0.07,0.82)' \\ \mathbf{u_3} &= (0.58,-0.74,0.35)' \end{align*}\]
O sus opuestos, ya que hay dos soluciones \(\mathbf{u_1}\) y \(-\mathbf{u_1}\), \(\mathbf{u_2}\) y \(-\mathbf{u_2}\), etc.
El primer plano factorial recoge \(\lambda_1+\lambda_2=2.067+0.822=2.889\) de inercia, que es el \(2.889\cdot \frac{100}{3}= 96.3\%\). Es decir que, casi nada se pierde al leer el primer plano factorial, en lugar de la representación en 3D, pero en cambio la lectura se hace mucho más fácil.
En el ejemplo “Café”, la primera componente principal es una variable nueva, que resume las tres propiedades físicas y cuya expresión es:
\[\begin{align*} F_1 &= 0.58X_{color}+0.67X_{DA}+0.46X_{EA} \\ F_1 &= 0.58\left( \frac{Y_{color}-\overline{Y}_{color}}{\sigma_{color}} \right)+0.67\left( \frac{Y_{DA}-\overline{Y}_{DA}}{\sigma_{DA}} \right)+0.46\left( \frac{Y_{EA}-\overline{Y}_{EA}}{\sigma_{EA}} \right) \\ F_1 &= 0.58\left( \frac{Color-276.7}{55.7} \right)+0.67\left( \frac{DA-401.2}{39.5} \right)+0.46\left( \frac{EA-35.5}{5.8} \right) \\ F_1 &= 0.0104 \cdot \textbf{Color}+0.0170 \cdot \textbf{DA}+0.0795 \cdot \textbf{EA}-12.5 \end{align*}\]
Por ejemplo, para el café excelso claro (\(\text{ExCl} = \{298,385.1,25\}\)) el valor es:
\[\begin{align*} F_1(\text{ExCl}) &= 0.0104 \cdot 298 + 0.0170 \cdot 385.1 + 0.0795 \cdot 25 - 12.5 \\ &= -0.87 \end{align*}\]
No olvide que \(F_1\) es un índice que permite ordenar las diez preparaciones de cafés.
Sentido de los ejes:
Cada eje factorial se puede generar por uno de los dos vectores propios normados que definen su dirección \(\mathbf{u_s}\) o \(-\mathbf{u_s}\). El significado del sentido de los ejes se busca a partir de las variables, ya que el signo de las coordenadas depende del vector propio seleccionado. Esto implica que para un mismo análisis se pueden tener planos rotados, según el paquete y el procedimiento utilizado y que el analista puede cambiar el signo de todas las coordenadas sobre un eje cuando le convenga.
Individuos ilustrativos o suplementarios:
En el espacio de los individuos se pueden proyectar individuos nuevos para relacionarlos con los que participaron en el análisis. Cuando en un ACP se encuentran individuos atípicos se puede repetir el análisis sin ellos y luego proyectarlos como ilustrativos. De esta manera no influyen en la conformación de los ejes, pero se observa su posición con respecto a los individuos activos. El cálculo de las coordenadas se hace realizando las mismas transformaciones que para los individuos activos y proyectándolas sobre la recta generada por el vector propio \(\mathbf{u_s}\).
En el ejemplo “Café”, se prepararon tazas con dos cafés comerciales y se les hicieron las mismas mediciones de las tazas originadas en el diseño experimental. La posición de los dos cafés comerciales permite ver su relación con los del diseño experimental: el comercial 2 se situó muy cerca del café excelso claro y el comercial 1, entre los cafés excelsos y los que tienen menos agregados de granos. Con esto se pueden describir los cafés comerciales como de buena calidad. Su proyección se hace realizando sobre sus vectores las mismas transformaciones que para los cafés activos: centrado y reducido utilizando la media y varianza de los cafés activos y su proyección.
Variables cualitativas ilustrativas:
Una variable cualitativa de \(K\) categorías establece una partición del conjunto de individuos en \(K\) clases o grupos. Los centros de gravedad de las clases se pueden proyectar como ilustrativos, sobre los ejes factoriales obtenidos, utilizando las mismas transformaciones y la misma fórmula de proyección. Sin embargo, esas proyecciones son equivalentes a los centros de gravedad de las coordenadas factoriales de cada uno de los grupos.
En el ejemplo “Café” vamos a proyectar cada categoría de la variable tipo de contaminación: excelso (sin contaminación), con cebada y con maíz.
El primer plano factorial del ACP normado del ejemplo “Café” se muestra a continuación donde se incluyen los valores de las coordenadas y ayudas a la interpretación.
| d² | Eje 1 | Eje 2 | Eje 1 | Eje 2 | Eje 1 | Eje 2 | Plano | |
|---|---|---|---|---|---|---|---|---|
| ExCl | 3.61 | -0.89 | -1.68 | 3.80 | 34.19 | 0.22 | 0.78 | 1.00 |
| C40M | 7.31 | 2.68 | -0.22 | 34.72 | 0.60 | 0.98 | 0.01 | 0.99 |
| C40C | 1.53 | 1.18 | 0.15 | 6.78 | 0.26 | 0.91 | 0.01 | 0.93 |
| C20M | 2.47 | 1.14 | -1.02 | 6.31 | 12.77 | 0.53 | 0.42 | 0.95 |
| C20C | 1.49 | -0.44 | -0.82 | 0.95 | 8.23 | 0.13 | 0.45 | 0.59 |
| ExOs | 6.24 | -2.47 | -0.04 | 29.49 | 0.02 | 0.98 | 0.00 | 0.98 |
| O40M | 1.98 | 0.98 | 1.01 | 4.60 | 12.44 | 0.48 | 0.52 | 1.00 |
| O40C | 1.75 | 0.15 | 1.31 | 0.10 | 20.98 | 0.01 | 0.99 | 1.00 |
| O20M | 1.51 | -1.04 | 0.65 | 5.24 | 5.07 | 0.72 | 0.28 | 0.99 |
| O20C | 2.12 | -1.29 | 0.67 | 8.00 | 5.43 | 0.78 | 0.21 | 0.99 |
Presentado el primer plano factorial del ACP normado del ejemplo “Café”, podemos concluir que:
- En la columna \(d^2\) se observan las distancias al origen en el espacio completo \(\mathbb{R}^3\) (ver nube de puntos). El más cercano es C20C y el más alejado C40M.
- Las coordenadas son las usadas para la gráfica.
- El café que más contribuye a la varianza del primer eje es C40M.
- En el plano están bien representados los diez cafés; en el primer eje el O40C está mal representado.
- Los cafés comerciales se ponen en el marco de referencia del experimento y su posición permite decir que son de buena calidad (están cerca de los cafés no contaminados).
- Las posiciones de los centros de gravedad (Excelso, Cebada y Maíz), muestran que el maíz afecta más la calidad del café.
3.3 Ejemplo: Resultados del Examen de Admisión de las carreras de la Facultad de Ciencias
Se presenta un ejemplo sencillo para mostrar el procedimiento del ACP, la interpretación de sus resultados, y el uso de paquetes de \(\texttt{R}\) para llevarlo a cabo.
Para el primer semestre de 2013 fueron admitidos \(445\) estudiantes a las carreras de la Facultad de Ciencias. El examen de admisión tuvo cinco componentes temáticos: Matemática, Ciencias Naturales, Ciencias Sociales, Análisis Textual e Análisis de Imagen.
3.3.1 Objetivos del análisis
Se realiza un ACP con el objeto de:
- Validar el puntaje total que es el resumen de los 5 puntajes.
- Explorar relaciones entre los resultados y las carreras a las que fueron admitidos los estudiantes.
- Explorar relaciones entre algunas variables sociodemográficas y los resultados del examen.
3.3.2 Resultados de análisis
Para cumplir con esos objetivos se realiza un ACP normado utilizando como variables activas los puntajes obtenidos por los admitidos en los cinco componentes del examen y el puntaje total como variable ilustrativa.
Como variables cualitativas suplementarias se proyectan las carreras y las características sociodemográficas presentes en los datos.
3.3.3 Número de ejes a analizar
El número de ejes a retener para el análisis es la primera decisión en un ACP. Se toma con varios criterios orientadores:
- La forma del “histograma de valores propios”.
- Los ejes que corresponden a valores propios mayores que \(1\), en el caso del ACP normado.
- La selección de un eje adicional si se considera que suministra información importante que no se ha visto en los anteriores.
A continuación, se muestra el histograma de valores propios con los valores numéricos en la parte inferior. Tres valores propios se destacan, pero solo dos son mayores que \(1\). Seguramente dos son suficientes, pero se debe verificar si el tercer eje permite alguna descripción adicional al primer plano factorial. El primer plano retiene el \(57.5\%\) de la inercia y los tres primeros ejes, el \(74.9\%\).
Data <- admi[,-c(14:15)]
Values.ACP <- PCA(Data, ncp = 3, quanti.sup = 7, quali.sup = c(1,8:13), graph = F)# ---------------------------------- BARPLOT BÁSICO ----------------------------------- #
par(col.axis="#F13057", las = 1)
barplot(rev(Values.ACP$eig[,1]), names.arg = 5:1, horiz = T, density = 40, col = rainbow(5))# ---------------------------------- VALORES PROPIOS ---------------------------------- #
TablaEigenvalue <- t(Values.ACP$eig)
colnames(TablaEigenvalue) <- 1:5
rownames(TablaEigenvalue) <- c("Valor Propio", "Inercia Acumulada", "Porcentaje Acumulado")| 1 | 2 | 3 | 4 | 5 | |
|---|---|---|---|---|---|
| Valor Propio | 1.852 | 1.025 | 0.870 | 0.638 | 0.616 |
| Inercia Acumulada | 37.034 | 20.498 | 17.393 | 12.761 | 12.314 |
| Porcentaje Acumulado | 37.034 | 57.532 | 74.925 | 87.686 | 100.000 |
En resumen, el primer valor propio se destaca sobre los demás y retiene el \(37.0\%\) de la inercia. El segundo valor propio es también mayor que \(1\) y el primer plano retiene el \(57.5\%\) de la inercia. La forma del histograma sugiere retener uno o tres ejes para el análisis.
3.3.4 Círculo de correlaciones
| Eje 1 | Eje 2 | Eje 3 | Eje 1 | Eje 2 | Eje 3 | Eje 1 | Eje 2 | Eje 3 | |
|---|---|---|---|---|---|---|---|---|---|
| mate | 0.706 | 0.259 | -0.204 | 26.935 | 6.558 | 4.783 | 0.499 | 0.067 | 0.042 |
| cien | 0.612 | 0.242 | -0.602 | 20.229 | 5.696 | 41.624 | 0.375 | 0.058 | 0.362 |
| soci | 0.645 | -0.420 | 0.351 | 22.454 | 17.178 | 14.180 | 0.416 | 0.176 | 0.123 |
| text | 0.648 | -0.496 | 0.105 | 22.665 | 24.027 | 1.271 | 0.420 | 0.246 | 0.011 |
| imag | 0.378 | 0.691 | 0.576 | 7.717 | 46.542 | 38.141 | 0.143 | 0.477 | 0.332 |
| exam | 0.985 | 0.159 | -0.023 | 0.000 | 0.000 | 0.000 | 0.970 | 0.025 | 0.001 |
En el círculo de correlación expuesto a continuación, se observa un primer eje de tamaño, que muestra alta correlación con el puntaje total y con los mejores puntajes de coordenadas positivas (lado derecho del eje).
El factor tamaño se presenta cuando todas las correlaciones entre las variables activas son positivas y se observan porque tienen coordenadas con el eje del mismo lado. El primer eje se muestra como otra manera de obtener un puntaje global ya que su correlación con el resultado del examen es de \(0.985\). Para tener la coordenada en el mismo sentido basta cambiarle de signo a todas las coordenadas sobre el primer eje.
El segundo eje contrapone los resultados en los componentes de Análisis de Imagen, Matemática y Ciencias Naturales versus Ciencias Sociales y Análisis Textual. El tercer eje es inferior a uno, pero su valor es cercano al segundo y destaca la oposición entre los resultados en las pruebas de Análisis de Imagen (positivo) y Ciencias Naturales (negativo).
3.3.5 Primer plano factorial de los admitidos
| d² | Eje 1 | Eje 2 | Eje 3 | Eje 1 | Eje 2 | Eje 3 | Eje 1 | Eje 2 | Eje 3 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Carrera | ||||||||||
| Biol | 0.117 | 0.036 | -0.152 | 0.080 | 0.228 | -1.287 | 0.730 | 0.011 | 0.198 | 0.054 |
| Esta | 0.403 | -0.601 | 0.082 | 0.109 | -3.885 | 0.711 | 1.024 | 0.897 | 0.017 | 0.029 |
| Farm | 0.346 | -0.427 | -0.315 | -0.068 | -2.928 | -2.908 | -0.684 | 0.526 | 0.287 | 0.013 |
| Fisi | 0.214 | 0.416 | 0.114 | -0.108 | 3.064 | 1.127 | -1.160 | 0.812 | 0.061 | 0.055 |
| Geol | 0.244 | 0.483 | -0.010 | 0.071 | 2.507 | -0.071 | 0.540 | 0.956 | 0.000 | 0.021 |
| Mate | 0.751 | 0.573 | 0.496 | 0.014 | 3.261 | 3.799 | 0.114 | 0.437 | 0.328 | 0.000 |
| Quim | 0.106 | -0.280 | -0.127 | -0.036 | -1.763 | -1.071 | -0.331 | 0.745 | 0.152 | 0.012 |
| Género | ||||||||||
| F | 0.229 | -0.410 | -0.211 | -0.117 | -4.036 | -2.793 | -1.675 | 0.733 | 0.194 | 0.059 |
| M | 0.037 | 0.166 | 0.085 | 0.047 | 4.036 | 2.793 | 1.675 | 0.733 | 0.194 | 0.059 |
| Estrato | ||||||||||
| bajo | 0.267 | -0.506 | 0.088 | -0.035 | -6.430 | 1.496 | -0.642 | 0.961 | 0.029 | 0.005 |
| medio | 0.021 | 0.099 | -0.030 | 0.068 | 1.300 | -0.530 | 1.292 | 0.468 | 0.043 | 0.217 |
| alto | 0.878 | 0.891 | -0.125 | -0.078 | 6.512 | -1.225 | -0.834 | 0.905 | 0.018 | 0.007 |
| Origen | ||||||||||
| Bogo | 0.040 | 0.182 | 0.053 | 0.062 | 4.286 | 1.685 | 2.129 | 0.828 | 0.071 | 0.096 |
| Cund | 0.080 | -0.039 | -0.246 | 0.025 | -0.186 | -1.567 | 0.174 | 0.019 | 0.755 | 0.008 |
| Otro | 0.382 | -0.573 | -0.075 | -0.210 | -4.654 | -0.814 | -2.493 | 0.860 | 0.015 | 0.116 |
| Edad | ||||||||||
| a16m | 0.052 | -0.057 | -0.079 | -0.195 | -0.526 | -0.989 | -2.649 | 0.062 | 0.121 | 0.738 |
| a17 | 0.079 | 0.220 | 0.044 | 0.118 | 2.697 | 0.717 | 2.115 | 0.616 | 0.024 | 0.178 |
| a18 | 0.162 | -0.372 | -0.117 | 0.068 | -2.188 | -0.921 | 0.585 | 0.855 | 0.084 | 0.029 |
| a19M | 0.059 | -0.102 | 0.084 | -0.011 | -0.847 | 0.942 | -0.128 | 0.176 | 0.120 | 0.002 |
| Nivela LectoEscritura | ||||||||||
| siLE | 3.636 | -1.698 | 0.654 | -0.388 | -8.927 | 4.624 | -2.973 | 0.793 | 0.118 | 0.041 |
| noLE | 0.048 | 0.196 | -0.075 | 0.045 | 8.927 | -4.624 | 2.973 | 0.793 | 0.118 | 0.041 |
| Nivela Matemáticas Básicas | ||||||||||
| siMa | 0.309 | -0.460 | -0.116 | 0.119 | -11.093 | -3.763 | 4.171 | 0.685 | 0.044 | 0.046 |
| noMa | 1.814 | 1.115 | 0.281 | -0.287 | 11.093 | 3.763 | -4.171 | 0.685 | 0.044 | 0.046 |
Los admitidos son anónimos en este ACP, pero las variables cualitativas permiten observar grupos de ellos, según las categorías que asuman. La figura anterior muestra el primer plano factorial de los individuos con las categorías de las variables cualitativas como ilustrativas.
La estructura del plano está dada por los resultados del examen, de modo que cualquier ordenamiento de las categorías es indicio de alguna relación con esos resultados.
Obsérvese que las categorías de la variable estrato están ordenadas en el primer eje (bajo, medio y alto) lo cual indica que los admitidos de estratos más altos tienden a obtener mejores resultados en el examen. En cambio, la edad no está ordenada, y son los de diecisiete años quienes tienden a obtener mejores resultados. En cuanto a género, los hombres obtienen en promedio mejores resultados que las mujeres. Según la variable origen de los admitidos, los de Bogotá en promedio obtienen los mejores resultados; y los de otros lugares los peores.
Las carreras con mejores resultados son Matemáticas, Física y Geología, en oposición a Estadística, Farmacia y Química. Los admitidos a Matemáticas en promedio tienen mejores resultados en las pruebas de Análisis de Imagen, Matemática y Ciencias Naturales. Son pocos los admitidos que tienen que nivelar LectoEscritura (siLE), y por eso se ubican más lejos, al lado superior-izquierdo, donde se sitúan los de peores resultados en el examen de admisión. En la nivelación de Matemáticas Básicas la situación es inversa, y los que no tienen que hacerlo están al lado superior-derecho, de mejores resultados en el examen.
En el tercer eje (ver valores test en la Tabla 9) se observa que en promedio los que tienen edades de dieciséis años o menos, por un lado, y los que vienen de otra región, por otro, tienen resultados inferiores en la componente de Análisis de Imagen.
3.3.6 Conclusiones del análisis
El primer eje del ACP realizado es un indicador que resume el rendimiento de los estudiantes admitidos a la Facultad de Ciencias en el primer semestre del 2013. El componente de Matemáticas es el que más pesa en dicho indicador y el de Análisis de Imagen, el que menos. La correlación entre el indicador y la nota global del examen es de \(0.985\) (Tabla 8).
Los estudiantes de estratos altos, diecisiete años, hombres y de origen bogotano son los que tienen en promedio mejores resultados en los componentes del examen, comparados con las otras categorías de sus respectivas variables: estrato, edad, género y origen (Tabla 9).
Según las carreras, los admitidos a Matemáticas, Geología y Física son en promedio los de mejores resultados, mientras que los admitidos a Estadística, Farmacia y Química tienen en promedio resultados más bajos. Los admitidos a Matemáticas tienen mejor promedio en la componente de Análisis de Imagen.
3.4 ACP con los Paquetes ade4 y FactoClass (Resultados Validados con FactoMineR)
El ACP se puede llevar a cabo en casi todos los programas de estadística, tanto comerciales como libres. En \(\texttt{R}\) existen varias funciones para realizarlo. A continuación, se utilizan funciones de los paquetes ade4 y FactoClass, además de compararlos con los resultados del paquete FactoMineR. En la siguiente figura se presentan las principales funciones para realizar un ACP, en el orden que suele utilizarse en un análisis; algunas son de las libreras básicas del \(\texttt{R}\).
A continuación, se incluye el código para llevar a cabo el ACP normado del ejemplo “Café”, utilizando la librería FactoClass y contrastando la sintaxis con la librería FactoMineR, ambas librerías arrojan resultados idénticos.
data(cafe)
Data <- cafe[1:10,1:3]
# -------------- ACP NORMADO CON VARIABLES FÍSICAS Y RETENIENDO DOS EJES -------------- #
( ACP.FactClass <- dudi.pca(Data, scannf = FALSE ) )
( ACP.FactMineR <- PCA(Data, ncp = 2, graph = F) )
# ------------------------------ MEDIAS DE LAS VARIABLES ------------------------------ #
ACP.FactClass$cent
ACP.FactMineR$call$centre
# ----------------------- DESVIACIÓN ESTÁNDAR DE LAS VARIABLES ------------------------ #
ACP.FactClass$norm
ACP.FactMineR$call$ecart.type
# --------------------------- VALORES PROPIOS Y PORCENTAJES --------------------------- #
ACP.FactClass$eig
ACP.FactMineR$eig
# --------------------------------- VECTORES PROPIOS ---------------------------------- #
ACP.FactClass$c1
ACP.FactMineR$svd$V
# ----------------------- DIAGRAMA DE BARRAS DE VALORES PROPIOS ----------------------- #
barplot(ACP.FactClass$eig)
fviz_eig(ACP.FactMineR)\(\texttt{Círculo de correlaciones:}\)
# ---------------------------- PLOT CÍRCULO DE CORRELACIÓN ---------------------------- #
s.corcircle(ACP.FactClass$co)
fviz_pca_var(ACP.FactMineR)
# ------------- COORDENADAS DE LAS VARIABLES = CORRELACIONES CON LOS EJES ------------- #
ACP.FactClass$co
ACP.FactMineR$var$coord
# ------------------ AYUDAS PARA LA INTERPRETACIÓN DE LAS VARIABLES ------------------- #
inertia(ACP.FactClass,row.inertia = TRUE)
summary.PCA(ACP.FactMineR)\(\texttt{Primer plano factorial de los cafés:}\)
# ------------------------------- PLOT PLANO FACTORIAL -------------------------------- #
plot(ACP.FactClass, Tcol = F, gg = T)
fviz_pca_ind(ACP.FactClass)
# ----------------------------- COORDENADAS DE LOS CAFÉS ------------------------------ #
ACP.FactClass$li
ACP.FactMineR$ind$coord\(\texttt{Para proyectar los cafés comerciales y la variable contaminante como ilustrativa:}\)
suprow (ACP.FactClass , cafe [11:12 ,1:3]) $ lisup -> lcom
{plot(ACP.FactClass, Tcol = F)
points(lcom, col = "red")
text(lcom, rownames(lcom), col = "darkorange", pos = 2)}
# ------------ PROYECCIÓN VARIABLE CONTA (CONTAMINACIÓN) COMO ILUSTRATIVA ------------- #
conta <- factor(c("exce","maiz","ceba","maiz","ceba","exce","maiz","ceba",
"maiz","ceba"))
{supqual(ACP.FactClass, conta) -> supconta
points(supconta$coor, col = " red",pch = 20)
text(supconta$coor, rownames(supconta$coor), col = "red", pos = 2)}
# ----------- VALORES TEST DE CATEGORÍAS DE CONTAMINACIÓN COMO ILUSTRATIVA ------------ #
round(supconta$tv,2)\(\texttt{Para destacar las clases de la variable contaminante en el primer plano factorial:}\)
{plot(ACP.FactClass, Tcol = F)
s.class(ACP.FactClass$li, conta, col = c("orange","deeppink","red"),
add.plot = T, cellipse = 0, clabel = 0.6)}3.5 Resumen (Kassambara 2017)
3.5.1 Estandarización de datos
En el análisis de componentes principales, las variables a menudo se escalan (es decir, están estandarizadas). Esto se recomienda especialmente cuando las variables se miden en diferentes escalas (por ejemplo: kilogramos, kilómetros, centímetros, …); de lo contrario, las salidas del ACP obtenidas se verán gravemente afectadas.
La función base de \(\texttt{R}\) scale() se puede utilizar para estandarizar los datos. Toma una matriz numérica como entrada y realiza el escalado en las columnas.
Tenga en cuenta que, por defecto, la función PCA{FactoMineR}, estandariza los datos automáticamente durante el ACP; así que no necesitamos hacer esta transformación antes de la ACP.
El siguiente código \(\texttt{R}\) calcula el análisis de componentes principales (ACP).
X: Un data frame. Las filas son individuos y las columnas son variables numéricas.scale.unit: Un valor lógico. Si esTRUE, los datos se escalan. Esta estandarización a la misma escala evita que algunas variables se vuelvan dominantes solo por sus grandes unidades de medida.ncp: Número de dimensiones mantenidas en los resultados finales.graph: Un valor lógico. Si esTRUE, se muestra un gráfico.
La salida de la función PCA{} es una lista que incluye los siguientes componentes:
## **Results for the Principal Component Analysis (PCA)**
## The analysis was performed on 445 individuals, described by 5 variables
## *The results are available in the following objects:
##
## name description
## 1 "$eig" "eigenvalues"
## 2 "$var" "results for the variables"
## 3 "$var$coord" "coord. for the variables"
## 4 "$var$cor" "correlations variables - dimensions"
## 5 "$var$cos2" "cos2 for the variables"
## 6 "$var$contrib" "contributions of the variables"
## 7 "$ind" "results for the individuals"
## 8 "$ind$coord" "coord. for the individuals"
## 9 "$ind$cos2" "cos2 for the individuals"
## 10 "$ind$contrib" "contributions of the individuals"
## 11 "$call" "summary statistics"
## 12 "$call$centre" "mean of the variables"
## 13 "$call$ecart.type" "standard error of the variables"
## 14 "$call$row.w" "weights for the individuals"
## 15 "$call$col.w" "weights for the variables"
3.5.2 Visualización e interpretación
Utilizaremos el paquete factoextra para ayudar en la interpretación del ACP. No importa qué función decida utilizar [prcomp{stats}, PCA{FactoMiner}, dudi.pca{ade4}, epPCA{ExPosition}], puede extraer y visualizar fácilmente los resultados del ACP utilizando las funciones \(\texttt{R}\) proporcionadas en el paquete factoextra.
Estas funciones incluyen:
get_eigenvalue(Data.ACP): Extrae los valores propios/varianzas de los componentes principales.fviz_eig(Data.ACP): Visualiza los valores propios.get_pca_ind(Data.ACP),get_pca_var(Data.ACP): Extrae los resultados para individuos y variables, respectivamente.fviz_pca_ind(Data.ACP),fviz_pca_var(Data.ACP): Visualice los resultados individuales y variables, respectivamente.fviz_pca_biplot(Data.ACP): Crea un biplot de individuos y variables.
Valores Propios y Varianzas
Los valores propios miden la cantidad de variación retenida por cada componente principal. Los valores propios son grandes para los primeros componentes principales y pequeños para los posteriores. Es decir, los primeros componentes principales corresponden a las direcciones con la cantidad máxima de variación en el conjunto de datos.
Examinamos los valores propios para determinar el número de componentes principales a considerar. Los valores propios y la proporción de variaciones (es decir, información) retenidos por los componentes principales (PC) se pueden extraer mediante la función get_eigenvalue{factoextra}.
- Un valor propio \(>1\) indica que los PC representan más varianza que la contabilizada por una de las variables originales en los datos estandarizados. Esto se usa comúnmente como un punto de corte para el cual se retienen los PC. Esto es válido solo cuando los datos están estandarizados.
- También puede limitar el número de componentes a ese número que representa una cierta fracción de la varianza total. Por ejemplo, si está satisfecho con el \(70\%\) de la varianza total explicada, use la cantidad de componentes para lograrlo.
## eigenvalue variance.percent cumulative.variance.percent
## Dim.1 1.8516980 37.03396 37.03396
## Dim.2 1.0248954 20.49791 57.53187
## Dim.3 0.8696715 17.39343 74.92530
## Dim.4 0.6380381 12.76076 87.68606
## Dim.5 0.6156969 12.31394 100.00000
La proporción de variación explicada por cada valor propio se da en la segunda columna. Por ejemplo, el primer valor propio se destaca sobre los demás y retiene el \(37.0\%\) de la inercia. El segundo valor propio es también mayor que uno, el primer plano retiene el \(57.5\%\) de la inercia (aproximadamente el \(57.53\%\) de la variación se explica por los dos primeros valores propios juntos).
En nuestro análisis, los primeros tres componentes principales explican el \(74.9\%\) de la variación. Este es un porcentaje aceptablemente grande.
Un método alternativo para determinar el número de componentes principales es mirar un diagrama de barras, en el cual los valores propios son ordenados de mayor a menor. El número de componentes se determina en el punto, más allá del cual los valores propios restantes son relativamente pequeños y de tamaño comparable.
El diagrama de barras se puede generar utilizando la función fviz_eig{FactoMineR} o fviz_screeplot{factoextra}.
Col1 <- rainbow(5, alpha = 0.7); Col2 <- rainbow(5, v = 0.3)
fviz_eig(Data.ACP, addlabels = TRUE, ylim = c(0, 40), bar_width = 0.7, rotate = T,
barfill = Col1, barcolor = Col2, linecolor = "black", ggtheme = theme_classic())## Coordinate system already present. Adding new coordinate system, which will replace the existing one.
Gráficos de Variables
Un método simple para extraer los resultados, para las variables, de una salida del ACP es utilizar la función get_pca_var{factoextra}. Esta función proporciona una lista de matrices que contiene todos los resultados para las variables activas (coordenadas, correlación entre variables y ejes, coseno cuadrado y contribuciones)
## Principal Component Analysis Results for variables
## ===================================================
## Name Description
## 1 "$coord" "Coordinates for the variables"
## 2 "$cor" "Correlations between variables and dimensions"
## 3 "$cos2" "Cos2 for the variables"
## 4 "$contrib" "contributions of the variables"
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## mate 0.7062207 0.2592443 -0.2039603 -0.5953070 -0.19507558
## cien 0.6120326 0.2416146 -0.6016550 0.3871628 0.23485044
## soci 0.6448098 -0.4195867 0.3511748 -0.1153949 0.52108310
## text 0.6478378 -0.4962385 0.1051525 0.2731014 -0.49840968
## imag 0.3780120 0.6906552 0.5759359 0.2141315 -0.05047607
# Variables$cos2 # Cos2: Calidad en el mapa factorial
# Variables$contrib # Contribuciones a los componentes principalesLos componentes de get_pca_var() se pueden usar en la gráfica de variables de la siguiente manera:
Variables$coord: Coordenadas de variables para crear un diagrama de dispersiónVariables$cos2: Representa la calidad de representación de las variables en el mapa de factores. Se calcula como las coordenadas al cuadrado.Variables$contrib: Contiene las contribuciones (en porcentaje) de las variables a los componentes principales. La contribución de una variable (var) a un componente principal dado es (en porcentaje): (var.cos2*100)/(cos2 total del componente).
Tenga en cuenta que es posible trazar variables y colorearlas de acuerdo con su calidad en el mapa de factores (cos2) o sus valores de contribución a los componentes principales (contrib).
Círculo de Correlaciones
La correlación entre una variable y un componente principal (PC) se utiliza como las coordenadas de la variable en la PC. La representación de las variables difiere de la gráfica de las observaciones: las observaciones están representadas por sus proyecciones, pero las variables están representadas por sus correlaciones.
La gráfica anterior muestra las relaciones entre todas las variables. Se puede interpretar de la siguiente manera:
- Las variables positivamente correlacionadas se agrupan juntas.
- Las variables negativamente correlacionadas se colocan en lados opuestos del origen de la trama (cuadrantes opuestos).
- La distancia entre las variables y el origen mide la calidad de las variables en el mapa de factores. Las variables que están lejos del origen están bien representadas en el mapa de factores.
Calidad de Representación
Puede visualizar el cos2 de variables en todas las dimensiones usando el paquete corrplot:
Tenga en cuenta que,
- Un cos2 alto indica una buena representación de la variable en el componente principal. En este caso, la variable se coloca cerca de la circunferencia del círculo de correlación.
- Un cos2 bajo indica que la variable no está perfectamente representada por las PC. En este caso, la variable está cerca del centro del círculo.
- Para una variable dada, la suma de cos2 en todos los componentes principales es igual a uno.
- Si una variable está perfectamente representada por solo dos componentes principales (Dim.1 y Dim.2), la suma de cos2 en estas dos PC es igual a uno.
- Para algunas de las variables, se pueden requerir más de 2 componentes para representar perfectamente los datos. En este caso, las variables se colocan dentro del círculo de correlaciones.
En resumen:
- Los valores cos2 se utilizan para estimar la calidad de la representación.
- Cuanto más cerca esté una variable del círculo de correlaciones, mejor será su representación en el mapa de factores (y más importante es interpretar estos componentes)
- Las variables que están cerradas al centro de la gráfica son menos importantes para los primeros componentes.
- Es posible colorear las variables por sus valores cos2 usando el argumento
col.var="cos2". Esto produce un degradado de colores. En este caso, el argumentogradient.colsse puede usar para proporcionar un color personalizado.
fviz_pca_var(Data.ACP, col.var = "cos2", col.circle = "#00C853",
gradient.cols = c("#0097A2","#FFC100","#FC4E07"),
ggtheme = theme_light(), repel = T)3.5.3 Contribuciones de variables a los PC
Las contribuciones de las variables en la contabilización de la variabilidad en un componente principal dado se expresan en porcentaje. Las variables que están correlacionadas con PC1 (es decir, Dim.1) y PC2 (es decir, Dim.2) son las más importantes para explicar la variabilidad en el conjunto de datos.
Las variables que no se correlacionan con ninguna PC o se correlacionan con las últimas dimensiones son variables con baja contribución y pueden eliminarse para simplificar el análisis general. Cuanto mayor es el valor de la contribución, más contribuye la variable al componente.
La función fviz_contrib{factoextra} se puede utilizar para dibujar un diagrama de barras de contribuciones variables. Si sus datos contienen muchas variables, puede decidir mostrar solo las principales variables contribuyentes. El código \(\texttt{R}\) a continuación muestra las 5 principales variables que contribuyen a los componentes principales:
La línea roja discontinua en el gráfico anterior indica la contribución promedio esperada. Si la contribución de las variables fuera uniforme, el valor esperado sería \(\frac{1}{\text{variables}} = \frac{1}{5} = 20%\). Para un componente dado, una variable con una contribución mayor que este límite podría considerarse importante para contribuir al componente.
Color por Grupos
También es posible cambiar el color de las variables por grupos definidos por una variable cualitativa/categórica, también llamada factor en la terminología de \(\texttt{R}\).
Como no tenemos ninguna variable de agrupación en nuestros conjuntos de datos para clasificar variables, la crearemos. En el siguiente ejemplo de demostración, comenzamos clasificando las variables en 3 grupos usando el algoritmo de agrupación kmeans. A continuación, usamos los clústeres devueltos por el algoritmo kmeans para colorear las variables.
set.seed(123)
Data.Km <- kmeans(Variables$coord, centers = 3, nstart = 25)
Grupos <- as.factor(Data.Km$cluster)
# Color variables by groups
fviz_pca_var(Data.ACP, col.var = Grupos, col.circle = "#0091EA",
palette = c("#FF8000", "#D41243", "#00C853"),
ggtheme = theme_bw(), repel = T,
legend.title = "Cluster")3.5.4 Gráfica de individuos
# fviz_pca_ind(Data.ACP, pointsize = 0.1,labelsize = 0.1)
fviz_pca_ind(Data.ACP,
geom.ind = "point",
col.ind = admi$estr, # color by groups
palette = c("#00AFBB", "#E7B800", "#FC4E07"),
addEllipses = T,
axes.linetype = "dashed", # ggpubr::show_line_types()
title = "PRINCIPAL COMPONENT ANALYSIS",
subtitle = "Admi Data Set",
caption = "Source: FactoClass",
legend.title = "Estrato", legend.position = "top",
ggtheme = theme_gray())Para más información acerca de los “Métodos de componentes principales en R: Guía práctica” de la libraría FactoMineR puede obtenerla dando clic aquí
4 ANÁLISIS DE CORRESPONDENCIAS SIMPLES (ACS)
A continuación, se presentan los conceptos básicos del análisis de correspondencias simples, además de un ejemplo como ilustración de la importancia de esta técnica en problemas concretos, en el que se describe gráficamente la relación entre variables nominales/ordinales y simultáneamente la relación entre las categorías de estas.
El análisis de correspondencias simples permite analizar tablas cruzadas cuyas celdas contienen alguna medida de la correspondencia entre filas y columnas de una matriz. Es un procedimiento para resumir la información contendía en una tabla de contingencia1. Puede interpretarse de dos maneras diferentes: la primera como una manera de representar las variables en un espacio de menor dimensión y la segunda como un procedimiento objetivo de asignar valores numéricos a variables cualitativas.
- Es evidente que las frecuencias absolutas no permiten comparar filas o columnas, razón por la cual se utiliza la matriz de frecuencias relativas.
En resumen, en lugar de comparar filas/columnas utilizando probabilidades condicionales, el análisis de correspondencias procede a obtener un pequeño número de dimensiones (factores), de tal forma que la primera dimensión explique la mayor parte de la asociación total entre filas y columnas (medidas mediante un coeficiente ji-cuadrado), la segunda dimensión explique la mayor parte del residuo de la asociación no explicada por la primera, y así sucesivamente con el resto de las dimensiones.
4.1 Equivalencia Distribucional
Esta propiedad permite juntar o agregar dos modalidades, con perfiles idénticos o proporcionales (linealmente dependientes) de una misma variable, en una nueva modalidad cuya ponderación es la suma de los pesos asociados a cada modalidad; sin que se alteren las distancias entre las modalidades de esta variable, ni las distancias entre las modalidades de la otra variable. Lo mismo ocurre al juntar modalidades o perfiles columna. Esta propiedad garantiza cierta invarianza de los resultados del ACS con relación a la selección de modalidades para una variable; siempre que las modalidades agrupadas tengan perfiles semejantes. En resumen, no hay perdida de información al unir o dividir modalidades homogéneas de una misma variable.
Observación
- En el ACS, los puntos generalmente tienen pesos diferentes y los cálculos de contribución juegan un papel más importante que en el ACP normado (en el que los elementos tienen pesos iguales). De hecho, en el ACP normado, la contribución es proporcional al cuadrado de la distancia al origen y se puede leer (aproximadamente) en las representaciones gráficas.
4.2 Ejemplo: Carrera \(\times\) Estrato socioeconómico
Se utiliza como ejemplo, la tabla de contingencia (TC) que clasifica a los \(445\) estudiantes admitidos a las carreras de la Facultad de Ciencias 2013-I, según la carrera y el estrato socioeconómico.
Por ejemplo: Se puede observar en la tabla \(\mathbf{K}\) que \(k_{11} = 23\) admitidos a Biología que son de estrato bajo; \(k_{1\bullet} = 63\) admitidos a Biología; \(k_{\bullet 1} = 179\) de los admitidos son de estrato bajo; el total de la tabla es \(k = 445\).
| bajo | medio | alto | MarginalRow | bajo | medio | alto | MarginalRow | |
|---|---|---|---|---|---|---|---|---|
| Biol | 23 | 26 | 14 | 63 | 5.17 | 5.84 | 3.15 | 14.16 |
| Esta | 29 | 29 | 8 | 66 | 6.52 | 6.52 | 1.80 | 14.83 |
| Farm | 30 | 36 | 7 | 73 | 6.74 | 8.09 | 1.57 | 16.40 |
| Fisi | 27 | 36 | 19 | 82 | 6.07 | 8.09 | 4.27 | 18.43 |
| Geol | 18 | 9 | 18 | 45 | 4.04 | 2.02 | 4.04 | 10.11 |
| Mate | 21 | 25 | 7 | 53 | 4.72 | 5.62 | 1.57 | 11.91 |
| Quim | 31 | 24 | 8 | 63 | 6.97 | 5.39 | 1.80 | 14.16 |
| MarginalCol | 179 | 185 | 81 | 445 | 40.22 | 41.57 | 18.20 | 100.00 |
En la tabla \(\mathbf{F}\) y sus sumas, que representan la distribución de probabilidad conjunta y las distribuciones marginales, respectivamente, expresadas en porcentaje. Los 23 admitidos a Biología que son de estrato bajo representan el \(f_{11} = 5.17\%\) de los admitidos; el \(f_{1\bullet} = 14.16\%\) entran a Biología y el \(f_{\bullet 1} = 40.22\%\) de los admitidos son de estrato bajo.
La marginal fila representa la distribución de frecuencias relativas de los admitidos según carreras y la marginal columna es la distribución de los admitidos según estratos.
Para cada carrera se tiene una distribución de frecuencias entre los tres estratos, que se denomina distribución condicional o perfil fila. Se puede observar que el perfil de Geología es el que más difiere de los demás porque tiene más porcentaje de estrato alto, en detrimento del porcentaje de estrato medio. Física y Biología también tienen más porcentaje de estrato alto, que el promedio. El perfil de Química es el que más porcentaje de estrato bajo tiene, seguido por Estadística.
Cada estrato tiene su distribución según las siete carreras (condicionales o perfiles columna). La distribución marginal fila es la distribución de todos los admitidos, en las siete carreras, sin importar el estrato. El perfil de estrato alto se diferencia más del promedio, tiene mayor porcentaje de estudiantes admitidos a Geología y Física y menos de Farmacia, Estadística y Matemáticas.
# -------------------------------- GRÁFICO DE PERFILES -------------------------------- #
PlotPerfiles_FC(Data, profiles = "row", col = c("#FFD800", "#394ACB", "#FB4C16"))Colores <- c("#F13057","#F68118","#F9CA00","#AEF133","#19EE9F","#BD2A9C","#BF2061")
PlotPerfiles_FC(Data, profiles = "col", col = Colores)Si se supone que no hay asociación (es decir, que hay independencia estadística entre las variables fila y columna) el modelo es \(a_{ij} = f_{i\bullet} f_{\bullet j}\) , término general de la tabla de independencia \(\mathbf{A}\). En esta tabla las distribuciones condicionales fila (columna) son todas iguales a la marginal de las columnas (filas) de la tabla \(\mathbf{F}\). Las desviaciones del modelo de independencia son \(\mathbf{F-A}\).
| bajo | medio | alto | bajo | medio | alto | bajo | medio | alto | |
|---|---|---|---|---|---|---|---|---|---|
| Biol | 5.2 | 5.8 | 3.1 | 5.7 | 5.9 | 2.6 | -0.5 | 0.0 | 0.6 |
| Esta | 6.5 | 6.5 | 1.8 | 6.0 | 6.2 | 2.7 | 0.6 | 0.3 | -0.9 |
| Farm | 6.7 | 8.1 | 1.6 | 6.6 | 6.8 | 3.0 | 0.1 | 1.3 | -1.4 |
| Fisi | 6.1 | 8.1 | 4.3 | 7.4 | 7.7 | 3.4 | -1.3 | 0.4 | 0.9 |
| Geol | 4.0 | 2.0 | 4.0 | 4.1 | 4.2 | 1.8 | 0.0 | -2.2 | 2.2 |
| Mate | 4.7 | 5.6 | 1.6 | 4.8 | 5.0 | 2.2 | -0.1 | 0.7 | -0.6 |
| Quim | 7.0 | 5.4 | 1.8 | 5.7 | 5.9 | 2.6 | 1.3 | -0.5 | -0.8 |
| Peso.R | DIST | Eje 1 | Eje 2 | Eje 1 | Eje 2 | Eje 1 | Eje 2 | |
|---|---|---|---|---|---|---|---|---|
| FILAS (carreras) | ||||||||
| Biol | 14.157 | 0.111 | 0.092 | 0.062 | 2.139 | 5.790 | 0.689 | 0.311 |
| Esta | 14.831 | 0.158 | -0.149 | -0.053 | 5.887 | 4.395 | 0.889 | 0.111 |
| Farm | 16.404 | 0.235 | -0.234 | 0.020 | 16.047 | 0.673 | 0.993 | 0.007 |
| Fisi | 18.427 | 0.168 | 0.100 | 0.135 | 3.265 | 35.607 | 0.354 | 0.646 |
| Geol | 10.112 | 0.611 | 0.604 | -0.092 | 65.581 | 9.159 | 0.977 | 0.023 |
| Mate | 11.910 | 0.146 | -0.142 | 0.035 | 4.258 | 1.569 | 0.942 | 0.058 |
| Quim | 14.157 | 0.199 | -0.106 | -0.169 | 2.823 | 42.807 | 0.283 | 0.717 |
| COLUMNAS (estrato) | ||||||||
| bajo | 40.225 | 0.125 | -0.046 | -0.117 | 1.501 | 58.275 | 0.134 | 0.866 |
| medio | 41.573 | 0.193 | -0.170 | 0.092 | 21.257 | 37.170 | 0.774 | 0.226 |
| alto | 18.202 | 0.491 | 0.488 | 0.048 | 77.242 | 4.555 | 0.990 | 0.010 |
- Geología tiene el perfil más diferente del promedio y de las demás carreras; Biología se parece más al perfil promedio, Matemáticas, Estadística y Farmacia tienen perfiles parecidos. El primer eje retiene el \(85.7\%\) de la inercia.
- En el ejemplo , en la nube de carreras, la dirección del primer eje se debe sobre todo a Geología y Farmacia (\(81.7\%\) de contribución) y la del segundo eje, a Química y Física (\(78.4\%\) de contribución).
- El primer eje opone el estrato alto con el medio y el segundo eje, sobre todo, el bajo con el medio. El estrato alto es el que más se diferencia del promedio.
- La posición de Geología se debe a que tiene, con relación al promedio, mayor porcentaje de estrato alto; Química tiene mayor de estrato bajo; y Farmacia, mayor de estrato medio. Biología es la carrera con perfil más parecido al promedio.
4.3 Ejemplo: Resultados de los exámenes de Estado de la educación básica en Colombia según departamentos
Con los resultados del examen de Estado realizado por el Icfes en Colombia durante 2008 se construyó una TC a partir de la clasificación de los colegios según los resultados de sus estudiantes. La tabla está disponible en icfes08{FactoClass}.
La tabla tiene \(29\) departamentos e incluye una fila que agrupa los departamentos de menos de \(100000\) habitantes P01: SAP, AMA, VID, VAU, GUA. Los departamentos se estructuran en 4 grupos según su población, en millones de habitantes: P5: más de 2, P4: entre 1 y 2, P3: entre 0.5 y 1 y P2: menor de 0.5.
La TC tiene doce columnas, que es la clasificación combinada de las jornadas del colegio: completa, mañana y tarde, y sus categorías de rendimiento: inferior, medio, bajo y alto.
4.3.1 Objetivos del análisis
El objetivo principal del análisis es comparar los perfiles departamentales según la calidad educativa de los colegios. También se desea explorar la influencia de la jornada sobre el ordenamiento de los departamentos y la influencia de su tamaño, en términos de población, en ese ordenamiento.
4.3.2 Perfiles de los departamentos
El ACS, en el espacio de las filas, ordena a los departamentos según sus perfiles, construidos con las variables jornada y rendimiento, de los colegios. Esos perfiles se muestran en la figura a continuación. La longitud de cada barra del histograma de la fila es proporcional a la frecuencia relativa de la categoría Jornada \(\times\) Rendimiento y está diferenciada de las demás por su color. Los colores permiten diferenciar también las categorías asociadas.
Nótese que Chocó se diferencia bastante de los demás departamentos: tiene las barras de rendimiento inferior de mayor longitud en las tres jornadas. Esto se evidencia en el ACS de la tabla, pues muestra al Chocó alejado de los demás departamentos. Entonces se toma al Chocó como ilustrativo para poder ver mejor las diferencias de los demás departamentos.
Data <- icfes08
Blue <- c("#C9F9F6", "#4BBFF9", "#447FE5", "#000080")
Green <- c("#41FF07", "#78D12F", "#2E9551", "#006702")
Orange <- c("#FFCB1A", "#FF8000", "#FF4500", "#C83200")
Colores <- c(Blue, Green, Orange)
PlotPerfiles_FC(Data, profiles = "row", col = Colores)4.3.3 Resultados del ACS
Número de ejes a analizar
Values.AC <- CA(Data, ncp = 3, row.sup = 23, graph = F)
Valeurs.AC <- ca(Data[-23,])
# ---------------------------------- VALORES PROPIOS ---------------------------------- #
TablaEigenvalue <- t(Values.AC$eig)
colnames(TablaEigenvalue) <- 1:11
rownames(TablaEigenvalue) <- c("Valor Propio", "Inercia Acumulada", "Porcentaje Acumulado")| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Valor Propio | 0.151 | 0.049 | 0.023 | 0.013 | 0.010 | 0.006 | 0.005 | 0.003 | 0.002 | 0.002 | 0.001 |
| Inercia Acumulada | 56.928 | 18.674 | 8.646 | 4.759 | 3.616 | 2.449 | 1.749 | 1.083 | 0.875 | 0.774 | 0.447 |
| Porcentaje Acumulado | 56.928 | 75.602 | 84.248 | 89.006 | 92.623 | 95.072 | 96.821 | 97.904 | 98.780 | 99.553 | 100.000 |
par(col.axis="#F13057", las = 1)
barplot(rev(Values.AC$eig[,1]), horiz = T, names.arg = 11:1, col = rainbow(11), density = 60,
cex.names = 1, xaxp = c(0, 0.15, 5))La inercia total asociada al ACS es \(0.265\). Los tres primeros ejes retienen el \(84.2\%\) (\(0.151\), \(59.9\%\); \(0.049\), \(18.7\%\), y \(0.023\), \(8.6\%\)). Los dos primeros retienen una inercia superior a la inercia promedio (\(\frac{0.265}{11} = 0.024\)).
Los dos primeros ejes (primer plano factorial), proveen una buena síntesis para analizar las asociaciones entre departamentos y Jornada \(\times\) Rendimiento. Sin embargo, se incluyen las coordenadas y ayudas para la interpretación del tercer eje con el objeto afinar un poco el análisis.
| Peso.R | DIST | Eje 1 | Eje 2 | Eje 3 | Eje 1 | Eje 2 | Eje 3 | Eje 1 | Eje 2 | Eje 3 | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| FILAS (departamentos) | |||||||||||
| BOG | 14.21 | 0.70 | -0.63 | 0.27 | 0.12 | 37.76 | 21.14 | 8.82 | 0.81 | 0.15 | 0.03 |
| ANT | 11.80 | 0.32 | 0.03 | -0.24 | 0.18 | 0.10 | 13.37 | 15.80 | 0.01 | 0.55 | 0.30 |
| VAL | 9.66 | 0.16 | -0.02 | 0.01 | -0.07 | 0.02 | 0.01 | 2.10 | 0.01 | 0.00 | 0.19 |
| CUN | 7.08 | 0.34 | -0.20 | -0.19 | -0.07 | 1.87 | 5.24 | 1.48 | 0.34 | 0.31 | 0.04 |
| ATL | 5.79 | 0.51 | 0.42 | 0.16 | 0.17 | 6.76 | 3.01 | 7.43 | 0.69 | 0.10 | 0.11 |
| SAN | 4.75 | 0.40 | -0.32 | 0.07 | -0.04 | 3.23 | 0.46 | 0.29 | 0.66 | 0.03 | 0.01 |
| BOL | 4.68 | 0.76 | 0.66 | 0.28 | 0.17 | 13.73 | 7.61 | 5.63 | 0.77 | 0.14 | 0.05 |
| NAR | 3.48 | 0.40 | 0.00 | 0.24 | -0.19 | 0.00 | 4.16 | 5.59 | 0.00 | 0.36 | 0.23 |
| COR | 2.86 | 0.56 | 0.54 | -0.04 | 0.02 | 5.47 | 0.09 | 0.07 | 0.93 | 0.01 | 0.00 |
| TOL | 3.68 | 0.33 | 0.11 | 0.09 | -0.26 | 0.28 | 0.56 | 11.19 | 0.10 | 0.07 | 0.64 |
| CAU | 3.27 | 0.58 | 0.31 | -0.30 | 0.04 | 2.07 | 6.02 | 0.24 | 0.28 | 0.27 | 0.00 |
| NSA | 2.83 | 0.26 | 0.01 | -0.09 | -0.05 | 0.00 | 0.47 | 0.32 | 0.00 | 0.12 | 0.04 |
| BOY | 3.60 | 0.56 | -0.29 | -0.39 | -0.02 | 2.02 | 11.23 | 0.04 | 0.27 | 0.49 | 0.00 |
| MAG | 2.98 | 0.94 | 0.89 | 0.21 | 0.13 | 15.64 | 2.68 | 2.19 | 0.90 | 0.05 | 0.02 |
| HUI | 2.48 | 0.51 | -0.17 | -0.38 | 0.15 | 0.49 | 7.41 | 2.40 | 0.12 | 0.57 | 0.09 |
| CAL | 2.58 | 0.43 | -0.10 | -0.25 | -0.19 | 0.17 | 3.37 | 3.97 | 0.05 | 0.35 | 0.19 |
| CES | 2.26 | 0.52 | 0.20 | 0.10 | -0.23 | 0.61 | 0.45 | 5.35 | 0.15 | 0.04 | 0.20 |
| RIS | 1.87 | 0.34 | -0.26 | 0.02 | -0.14 | 0.83 | 0.02 | 1.69 | 0.59 | 0.00 | 0.18 |
| MET | 1.91 | 0.42 | 0.14 | 0.02 | -0.32 | 0.24 | 0.02 | 8.46 | 0.11 | 0.00 | 0.58 |
| SUC | 2.03 | 0.71 | 0.59 | 0.27 | -0.21 | 4.69 | 3.02 | 3.77 | 0.70 | 0.15 | 0.09 |
| LAG | 1.20 | 0.67 | 0.55 | 0.10 | -0.12 | 2.43 | 0.24 | 0.70 | 0.68 | 0.02 | 0.03 |
| QUI | 1.29 | 0.51 | -0.25 | 0.12 | -0.31 | 0.52 | 0.39 | 5.49 | 0.24 | 0.06 | 0.38 |
| CAQ | 0.93 | 0.56 | 0.34 | -0.16 | -0.21 | 0.73 | 0.50 | 1.72 | 0.37 | 0.08 | 0.13 |
| PUT | 0.60 | 0.48 | -0.12 | -0.21 | 0.07 | 0.06 | 0.54 | 0.11 | 0.06 | 0.19 | 0.02 |
| CAS | 0.91 | 0.43 | 0.06 | -0.30 | -0.24 | 0.02 | 1.63 | 2.37 | 0.02 | 0.47 | 0.32 |
| ARA | 0.56 | 0.46 | 0.07 | 0.12 | -0.21 | 0.02 | 0.15 | 1.08 | 0.02 | 0.06 | 0.21 |
| GUV | 0.15 | 0.71 | 0.08 | -0.18 | -0.39 | 0.01 | 0.10 | 0.97 | 0.01 | 0.06 | 0.30 |
| PO1 | 0.55 | 0.89 | 0.26 | -0.74 | 0.18 | 0.25 | 6.09 | 0.74 | 0.09 | 0.70 | 0.04 |
| COLUMNAS (categorías) | |||||||||||
| Cinferior | 3.63 | 0.76 | 0.60 | -0.21 | 0.23 | 8.64 | 3.11 | 8.48 | 0.62 | 0.07 | 0.09 |
| Cbajo | 9.04 | 0.52 | 0.11 | -0.48 | 0.10 | 0.75 | 41.68 | 4.07 | 0.05 | 0.85 | 0.04 |
| Cmedio | 8.04 | 0.49 | -0.25 | -0.37 | -0.02 | 3.21 | 22.02 | 0.08 | 0.25 | 0.56 | 0.00 |
| Calto | 9.82 | 0.60 | -0.53 | 0.12 | 0.17 | 18.21 | 2.69 | 12.97 | 0.78 | 0.04 | 0.08 |
| Minferior | 5.50 | 0.98 | 0.86 | 0.37 | 0.13 | 27.19 | 15.05 | 4.14 | 0.77 | 0.14 | 0.02 |
| Mbajo | 12.67 | 0.41 | 0.28 | 0.01 | -0.28 | 6.60 | 0.04 | 42.40 | 0.46 | 0.00 | 0.45 |
| Mmedio | 12.29 | 0.35 | -0.25 | 0.02 | -0.19 | 5.24 | 0.11 | 19.26 | 0.52 | 0.00 | 0.29 |
| Malto | 10.01 | 0.44 | -0.32 | 0.22 | -0.02 | 6.75 | 9.48 | 0.13 | 0.53 | 0.24 | 0.00 |
| Tinferior | 8.66 | 0.62 | 0.55 | 0.05 | 0.07 | 17.52 | 0.48 | 1.81 | 0.79 | 0.01 | 0.01 |
| Tbajo | 11.53 | 0.17 | 0.00 | 0.03 | 0.02 | 0.00 | 0.19 | 0.18 | 0.00 | 0.03 | 0.01 |
| Tmedio | 6.36 | 0.45 | -0.34 | 0.17 | 0.11 | 4.80 | 3.80 | 3.66 | 0.55 | 0.14 | 0.06 |
| Talto | 2.46 | 0.47 | -0.26 | 0.17 | 0.16 | 1.09 | 1.36 | 2.82 | 0.30 | 0.12 | 0.12 |
Primer plano factorial y tercer eje
El primer eje ordena las categorías de rendimiento de menor (derecha) a mayor (izquierda), y por lo tanto, Bogotá es el departamento de mejor rendimiento y Magdalena, el de peor rendimiento aparte de Chocó, que ya se había detectado con un perfil atípico por su rendimiento muy bajo.
El segundo eje muestra abajo las categorías inferior, baja y media de la jornada completa, lo que se debe a una atracción de los departamentos que tienen más porcentaje de colegios con esa jornada en su perfil.
En la tabla anterior se muestran las ayudas para la interpretación: las contribuciones a la inercia de los ejes sirven para detectar los puntos más relevantes en cada eje y el coseno cuadrado, para ver las calidades de las proyecciones. El coseno cuadrado sobre un plano es la suma de los cosenos cuadrados de los ejes.
El primer plano factorial presenta el efecto Guttman, que es una forma de parábola de las categorías de una variable ordinal. Nótese que, por cada una de las tres jornadas, se ven las categorías de rendimiento como parábolas. En este efecto el primer eje opone los rendimientos extremos (inferior vs. alto) y el segundo eje, los medios a los extremos (bajo y medio vs. inferior y alto).
En el tercer eje se destacan del lado negativo las categorías baja y media de la jornada de la mañana, asociadas a los departamentos de Meta, Quindío, Tolima y Arauca.
El ordenamiento de las categorías se traslada a los departamentos mostrando una parábola. Siguiéndola desde la derecha hasta la izquierda se observa que los departamentos de la región Atlántico son los de menor rendimiento, siguen los departamentos del sur del país, luego los de la región Andina, y sobresalen Risaralda, Quindío y Santander, hasta llegar a Bogotá, la región de mayor rendimiento.
Retorno a los perfiles de departamentos
Se utilizan las coordenadas sobre el primer eje para presentar los perfiles ordenando los departamentos, de modo que los parecidos queden vecinos. Los perfiles de la parte inferior son los peores y van mejorando a medida que se sube en la gráfica. El perfil superior es el marginal que se incluye como referencia para la comparación ya que se sitúa en el origen de la representación \(\{\)coordenadas \((0,0)\) en los planos\(\}\) y la lejanía del centro de un punto indica que el perfil que representa es el más diferente del perfil promedio (marginal).
OrdenDepart <- order(Values.AC$row$coord[,1], decreasing = TRUE)
# -------------------------------- GRÁFICO DE PERFILES -------------------------------- #
Blue <- c("#C9F9F6", "#4BBFF9", "#447FE5", "#000080")
Green <- c("#41FF07", "#78D12F", "#2E9551", "#006702")
Orange <- c("#FFA500", "#FF8000", "#FF4500", "#C83200")
Colores <- c(Blue, Green, Orange); Data <- Data[-23,]
PlotPerfiles_FC(Data[OrdenDepart,], profiles = "row", col = Colores)4.3.4 Conclusiones del análisis
Los departamentos se ordenan en el primer plano factorial según el rendimiento de sus colegios. Bogotá es el de mayor rendimiento; Chocó es de lejos el de menor rendimiento. El gráfico de perfiles fila anterior es un buen resumen del ordenamiento de los departamentos según su rendimiento en los resultados del examen realizado por el Icfes.
Cada jornada ordena los departamentos de manera similar, pero la jornada de la tarde es la de menor dispersión.
En (Pardo, Bécue-Bertaut, and Ortiz 2013) se pueden ver algunas variaciones del análisis de correspondencias para tener en cuenta la estructura inducida por los cuatro tamaños de los departamentos, según su población, y las tres jornadas.
5 ANÁLISIS DE CORRESPONDENCIAS MÚLTIPLES (ACM)
El análisis de correspondencia múltiple no es realmente un nuevo método matemático, sino más bien la aplicación específica del análisis de correspondencia (ACS) a tablas con individuos y sus respuestas a una serie de variables categóricas. Sin embargo, se considera un método separado debido a sus propiedades únicas y los interesantes resultados obtenidos al usarlo. El ACM se aplica a tablas con individuos en las filas y variables categóricas en las columnas. Se usa más comúnmente para analizar los datos obtenidos a través de encuestas: en ese contexto, cada pregunta corresponde a una variable y cada posible respuesta a la pregunta corresponde a una categoría de esa variable.
Podríamos decir entonces que es un análisis de correspondencias simple aplicado no solo a una tabla de contingencia sino a una tabla disyuntiva completa, en el sentido de que una variable categórica asigna a cada individuo de una población una modalidad, y, en consecuencia, particiona (de manera disyuntiva y exhaustiva) a los individuos de la población. A pesar de sus semejanzas con el análisis de correspondencias simple, el ACM tiene algunas particularidades, debido a la naturaleza misma de la tabla disyuntiva completa.
Observación
- La tabla de Burt \(\mathbf{B}\) es un caso particular de tablas de contingencia, las cuales se pueden asociar con las caras de un hipercubo de contingencia.
- El análisis de correspondencias aplicado a una tabla disyuntiva completa (TDC) \(\mathbf{Z}\) es equivalente a la tabla de Burt \(\mathbf{B}\) y produce los mismos factores.
5.1 Reglas para la Interpretación
Decir que existen afinidades entre respuestas, equivale a decir que hay individuos que han seleccionado simultáneamente todas o casi todas, las mismas respuestas.
El análisis de correspondencias múltiples pone en evidencia a los individuos con perfiles semejantes respecto a los atributos seleccionados para su descripción. De acuerdo con las distancias entre elementos de la tabla disyuntiva completa y las relaciones baricéntricas, se expresa:
- La cercanía entre individuos en términos de semejanzas; es decir, dos individuos son semejantes si han seleccionado globalmente las mismas modalidades.
- La proximidad entre modalidades de variables diferentes en términos de asociación; es decir, estas modalidades corresponden a puntos medios de los individuos que las han seleccionado, y son próximas porque están ligadas a los mismos individuos o individuos parecidos.
- La proximidad entre dos modalidades de una misma variable en términos de semejanza; por construcción, las modalidades de una misma variable son excluyentes. Si ellas están cerca, su proximidad se interpreta en términos de semejanza entre los grupos de individuos que las han seleccionado (con respecto a las otras variables activas del análisis).
5.2 Ejemplo: Descripción de admitidos según algunas variables sociodemográficas
Para ilustrar los conceptos del ACM utilizamos el ejemplo de la descripción de los \(445\) admitidos a la Facultad de Ciencias, para el semestre de 2013-I, datos disponibles en admi{FactoClass}. Se utilizan como variables activas las sociodemográficas disponibles:
- Género: femenino, masculino.
- Edad: 16 o menos, 17, 18, 19 o más.
- Estrato: bajo, medio, alto;
- Procedencia: Bogotá, Cundinamarca, Otro.
Los objetivos de análisis son describir el espacio sociodemográfico de los admitidos, generado por estas cuatro variables, y explorar las diferencias en las condiciones sociodemográficas, entre los grupos de admitidos según las carreras.
| F | M | 16- | 17 | 18 | 19+ | Bajo | Medio | Alto | Bogo | Cund | Otro | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| gene.F | 128 | 0 | 46 | 45 | 18 | 19 | 46 | 59 | 23 | 89 | 9 | 30 |
| gene.M | 0 | 317 | 72 | 126 | 38 | 81 | 133 | 126 | 58 | 222 | 29 | 66 |
| edad.a16m | 46 | 72 | 118 | 0 | 0 | 0 | 44 | 47 | 27 | 70 | 9 | 39 |
| edad.a17 | 45 | 126 | 0 | 171 | 0 | 0 | 58 | 74 | 39 | 116 | 19 | 36 |
| edad.a18 | 18 | 38 | 0 | 0 | 56 | 0 | 22 | 26 | 8 | 47 | 2 | 7 |
| edad.a19M | 19 | 81 | 0 | 0 | 0 | 100 | 55 | 38 | 7 | 78 | 8 | 14 |
| estr.bajo | 46 | 133 | 44 | 58 | 22 | 55 | 179 | 0 | 0 | 95 | 22 | 62 |
| estr.medio | 59 | 126 | 47 | 74 | 26 | 38 | 0 | 185 | 0 | 151 | 11 | 23 |
| estr.alto | 23 | 58 | 27 | 39 | 8 | 7 | 0 | 0 | 81 | 65 | 5 | 11 |
| orig.Bogo | 89 | 222 | 70 | 116 | 47 | 78 | 95 | 151 | 65 | 311 | 0 | 0 |
| orig.Cund | 9 | 29 | 9 | 19 | 2 | 8 | 22 | 11 | 5 | 0 | 38 | 0 |
| orig.Otro | 30 | 66 | 39 | 36 | 7 | 14 | 62 | 23 | 11 | 0 | 0 | 96 |
Se denomina tabla de Burt o tabla de contingencia múltiple a la matriz: \(\mathbf{B={Z}'Z}\), que es cuadrada y simétrica de orden \(p\times p\). \(\mathbf{B}\) es una yuxtaposición de tablas de contingencia cruzando todas las variables por parejas, \({Z}'_qZ_{{q}'}\) y en la diagonal tiene matrices diagonales con las frecuencias de las categorías de la respectiva variable \(q:{Z}'_qZ_q\).
En el ejemplo, la tabla de Burt cruza las \(12\) categorías de las \(4\) variables de los admitidos a Ciencias. Algunas lecturas son: entre los admitidos hay \(128\) mujeres y \(317\) hombres; \(46\) mujeres tienen \(16\) años o menos y \(81\) de los admitidos son de estrato alto.
| . | 25 | 50 | 75 | 100 | 125 | 150 | 175 | 200 | 225 | 250 | 275 | 300 | 325 | 350 | 375 | 400 | 425 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 25 | 0 | 2.6 | 2 | 2.3 | 0 | 2.1 | 2.5 | 1.1 | 2.2 | 2.2 | 2 | 2.1 | 2.2 | 2.1 | 2.1 | 2.3 | 2.5 |
| 50 | 2.6 | 0 | 1.6 | 1.1 | 2.6 | 2 | 2.3 | 2.3 | 2.5 | 2.2 | 1.6 | 2.1 | 2.2 | 2.1 | 2.1 | 1.1 | 2.2 |
| 75 | 2 | 1.6 | 0 | 2 | 2 | 1.7 | 1.9 | 1.7 | 2.3 | 1.4 | 0 | 1.8 | 1.4 | 1.7 | 1.7 | 2 | 1.9 |
| 100 | 2.3 | 1.1 | 2 | 0 | 2.3 | 2.3 | 2.3 | 2.6 | 2.5 | 2.1 | 2 | 2.4 | 2.1 | 1.8 | 1.8 | 1.6 | 2.2 |
| 125 | 0 | 2.6 | 2 | 2.3 | 0 | 2.1 | 2.5 | 1.1 | 2.2 | 2.2 | 2 | 2.1 | 2.2 | 2.1 | 2.1 | 2.3 | 2.5 |
| 150 | 2.1 | 2 | 1.7 | 2.3 | 2.1 | 0 | 2.3 | 1.8 | 2.2 | 2.2 | 1.7 | 2.2 | 2.2 | 2.1 | 2.1 | 1.7 | 1.8 |
| 175 | 2.5 | 2.3 | 1.9 | 2.3 | 2.5 | 2.3 | 0 | 2.5 | 1.9 | 1.3 | 1.9 | 1.9 | 1.3 | 1.4 | 1.4 | 2.5 | 1.4 |
| 200 | 1.1 | 2.3 | 1.7 | 2.6 | 1.1 | 1.8 | 2.5 | 0 | 2.2 | 2.2 | 1.7 | 1.7 | 2.2 | 2.4 | 2.4 | 2 | 2.5 |
| 225 | 2.2 | 2.5 | 2.3 | 2.5 | 2.2 | 2.2 | 1.9 | 2.2 | 0 | 1.8 | 2.3 | 2 | 1.8 | 2.4 | 2.4 | 2.8 | 1.2 |
| 250 | 2.2 | 2.2 | 1.4 | 2.1 | 2.2 | 2.2 | 1.3 | 2.2 | 1.8 | 0 | 1.4 | 2.3 | 0 | 1.9 | 1.9 | 2.4 | 1.3 |
| 275 | 2 | 1.6 | 0 | 2 | 2 | 1.7 | 1.9 | 1.7 | 2.3 | 1.4 | 0 | 1.8 | 1.4 | 1.7 | 1.7 | 2 | 1.9 |
| 300 | 2.1 | 2.1 | 1.8 | 2.4 | 2.1 | 2.2 | 1.9 | 1.7 | 2 | 2.3 | 1.8 | 0 | 2.3 | 1.7 | 1.7 | 2.4 | 2.4 |
| 325 | 2.2 | 2.2 | 1.4 | 2.1 | 2.2 | 2.2 | 1.3 | 2.2 | 1.8 | 0 | 1.4 | 2.3 | 0 | 1.9 | 1.9 | 2.4 | 1.3 |
| 350 | 2.1 | 2.1 | 1.7 | 1.8 | 2.1 | 2.1 | 1.4 | 2.4 | 2.4 | 1.9 | 1.7 | 1.7 | 1.9 | 0 | 0 | 2.4 | 2 |
| 375 | 2.1 | 2.1 | 1.7 | 1.8 | 2.1 | 2.1 | 1.4 | 2.4 | 2.4 | 1.9 | 1.7 | 1.7 | 1.9 | 0 | 0 | 2.4 | 2 |
| 400 | 2.3 | 1.1 | 2 | 1.6 | 2.3 | 1.7 | 2.5 | 2 | 2.8 | 2.4 | 2 | 2.4 | 2.4 | 2.4 | 2.4 | 0 | 2.5 |
| 425 | 2.5 | 2.2 | 1.9 | 2.2 | 2.5 | 1.8 | 1.4 | 2.5 | 1.2 | 1.3 | 1.9 | 2.4 | 1.3 | 2 | 2 | 2.5 | 0 |
Nótese, por ejemplo, que los estudiantes 25 y 125 tienen distancia cero, es decir que asumen las mismas categorías para las 4 variables, lo que se puede verificar en la tabla. Lo mismo sucede para las parejas 75 y 275, 250 y 325, 350 y 375.
La inercia de la nube de puntos depende del cociente entre el número de categorías y el número de variables, no de los valores internos de la tabla. Por lo tanto, no tiene significado estadístico. En el ejemplo es \(\frac{12}{4}-1 = 2\)
Valeurs.ACM <- mjca(Data)
Data <- admi[,c(1, 8:11)]
Values.ACM <- MCA(Data, ncp = 3, quali.sup = 1, graph = F)
# ---------------------------------- VALORES PROPIOS ---------------------------------- #
TablaEigenvalue <- t(Values.ACM$eig)
colnames(TablaEigenvalue) <- 1:8
rownames(TablaEigenvalue) <- c("Valor Propio", "Inercia Acumulada", "Porcentaje Acumulado")| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
|---|---|---|---|---|---|---|---|---|
| Valor Propio | 0.337 | 0.313 | 0.283 | 0.247 | 0.241 | 0.229 | 0.208 | 0.143 |
| Inercia Acumulada | 16.829 | 15.638 | 14.134 | 12.356 | 12.039 | 11.467 | 10.376 | 7.162 |
| Porcentaje Acumulado | 16.829 | 32.467 | 46.601 | 58.957 | 70.996 | 82.463 | 92.838 | 100.000 |
par(col.axis="#F13057", las = 1)
barplot(rev(Values.ACM$eig[,1]), horiz = T, names.arg = 8:1, col = rainbow(8), density = 60,
cex.names = 1, xaxp = c(0, 0.34, 5))La decisión del número de ejes a retener se basa sobre todo en la forma del histograma puesto que el ACM tiene ejes “parásitos”, es decir, que aparecen y no contienen información. El porcentaje de inercia no es un criterio apropiado en el caso del ACM. Del histograma se puede concluir que tres ejes son suficientes, a pesar de que retienen menos del \(50\%\) de la inercia (\(46.6\%\)).
En el plano factorial no hay \(445\) puntos porque los admitidos que asuman las mismas categorías en las cuatro variables quedan superpuestos. El plano tiene más densidad de admitidos a la izquierda y muestra mayor dispersión a la derecha en las coordenadas sobre el segundo eje.
De acuerdo con el histograma de valores propios del ACM de admitidos se nota que los tres primeros ejes se destacan sobre los demás y que retienen el \(46.6\%\) de la inercia.
En este ejemplo los individuos son anónimos, pero se comparan a través de sus categorías, cuyos planos factoriales se presentan a continuación. En el ACM se pone más atención a las categorías, porque los individuos son anónimos en la mayoría de las aplicaciones.
| Peso.R | DIST | Eje 1 | Eje 2 | Eje 3 | Eje 1 | Eje 2 | Eje 3 | Eje 1 | Eje 2 | Eje 3 | Eje 1 | Eje 2 | Eje 3 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| F | 7.19 | 0.80 | -1.73 | 11.91 | -6.85 | -0.13 | 0.89 | -0.51 | 0.36 | 18.21 | 6.66 | 0.01 | 0.32 | 0.11 |
| M | 17.81 | 0.32 | 1.73 | -11.91 | 6.85 | 0.05 | -0.36 | 0.21 | 0.14 | 7.35 | 2.69 | 0.01 | 0.32 | 0.11 |
| bajo | 10.06 | 0.85 | 16.09 | -5.41 | -3.13 | 0.93 | -0.31 | -0.18 | 25.90 | 3.15 | 1.17 | 0.58 | 0.07 | 0.02 |
| medio | 10.39 | 0.64 | -11.84 | -0.66 | -5.57 | -0.67 | -0.04 | -0.31 | 13.71 | 0.05 | 3.61 | 0.32 | 0.00 | 0.07 |
| alto | 4.55 | 1.33 | -5.33 | 7.71 | 11.10 | -0.54 | 0.78 | 1.12 | 3.88 | 8.75 | 20.06 | 0.06 | 0.13 | 0.28 |
| Bogo | 17.47 | 0.96 | -16.34 | -4.09 | -3.43 | -0.51 | -0.13 | -0.11 | 13.45 | 0.91 | 0.70 | 0.60 | 0.04 | 0.03 |
| Cund | 2.13 | 0.65 | 5.64 | -3.91 | 9.29 | 0.88 | -0.61 | 1.44 | 4.87 | 2.51 | 15.72 | 0.07 | 0.03 | 0.19 |
| Otro | 5.39 | 0.61 | 14.39 | 7.21 | -2.49 | 1.30 | 0.65 | -0.23 | 27.18 | 7.34 | 0.97 | 0.47 | 0.12 | 0.01 |
| a16m | 6.63 | 1.08 | 4.97 | 13.50 | -3.69 | 0.39 | 1.07 | -0.29 | 3.04 | 24.09 | 1.99 | 0.06 | 0.41 | 0.03 |
| a17 | 9.61 | 0.35 | -3.08 | 0.52 | 14.71 | -0.19 | 0.03 | 0.88 | 0.98 | 0.03 | 26.54 | 0.02 | 0.00 | 0.49 |
| a18 | 3.15 | 1.65 | -5.99 | -1.08 | -9.03 | -0.75 | -0.14 | -1.13 | 5.24 | 0.18 | 14.21 | 0.08 | 0.00 | 0.18 |
| a19M | 5.62 | 1.00 | 3.09 | -14.02 | -6.06 | 0.27 | -1.24 | -0.53 | 1.24 | 27.43 | 5.67 | 0.02 | 0.44 | 0.08 |
5.2.1 Ejes factoriales
En el primer eje, las categorías con contribuciones absolutas superiores al promedio (\(\frac{100}{12} = 8.333\%\)) y sus oposiciones son: estrato bajo \(\color{Red}{(+)}\) contra estrato alto \(\color{Blue}{(-)}\) y origen de otro departamento \(\color{Red}{(+)}\) contra origen Bogotá. En el segundo, las mujeres se sitúan arriba \(\color{Red}{(+)}\), los admitidos de 16 años o menos \(\color{Red}{(+)}\) se oponen a los de 19 años o más \(\color{Blue}{(-)}\), y los de estrato alto se ubican arriba \(\color{Red}{(+)}\).
En el primer plano factorial se ven los grupos de categorías. Arriba: 16 años o menos, mujeres y estrato alto; a la izquierda: estrato medio y origen Bogotá, y abajo: 19 años o más.
En el tercer eje, se oponen los de 17 años \(\color{Red}{(+)}\) a los de 18 \(\color{Blue}{(-)}\), los de estrato alto están al lado positivo, al igual que los que vienen de Cundinamarca. Este eje vale la pena leerlo por la edad y por el departamento de origen.
El primer plano factorial en una buena síntesis del análisis, pero conviene leer también los planos \(\text{I-III}\), que representan mejor las categorías de estrato y origen, y \(\text{II-III}\), para ver mejor las categorías de edad y estrato alto.
5.2.2 Relaciones cuasibaricéntricas
De la misma manera que en el ACS, las categorías que pertenecen a cada variable están centradas en el origen de la representación. Como consecuencia, las que están más próximas al origen son las que más frecuencia tienen. Por ejemplo, la variable género, se puede ver como una palanca que está en equilibrio, con apoyo en \((0,0)\). Este equilibrio que implica que hay bastantes más hombres que mujeres, dentro de los admitidos a las carreras de Ciencias.
Por otro lado, las categorías son cuasibaricentros de las coordenadas de los admitidos que las asumen. Entonces, por ejemplo, a la derecha del plano hay admitidos que asumen simultáneamente las categorías origen Bogotá, 18 años y estrato medio.
También se muestra que el origen es el centro de gravedad de las tres categorías de la variable origen del admitido. Las cercanías al centro indican la frecuencia: hay más bogotanos, luego cundinamarqueses y menos de otros departamentos.
5.2.3 Razón de correlación
La figura de abajo muestra que hay una relación alta de las variables estrato y origen con el eje \(\textit{1}\) y edad y género con el eje \(\textit{2}\). La cercanía de las variables estrato y origen indican que las contribuciones de las dos variables a la varianza de los dos ejes son similares. En resumen, buena parte de la inercia del primer eje es entre estratos y también, entre origen; y la del segundo eje es entre edades.
5.2.4 Variables cualitativas
A una variable cualitativa suplementaria también se le puede calcular la relación de correlación e incluirla en la gráfica de las variables. En el ejemplo se proyecta la variable carrera. Su posición, cerca al origen, muestra poca relación con las cuatro variables sociodemográficas.
5.2.5 Variables continuas
Las variables continuas se pueden proyectar en los planos de individuos y categorías, utilizando como coordenadas los coeficientes de correlación entre la variable y el factor. Se interpretan como en un ACP.
Por ejemplo, en el ACM de los admitidos, las correlaciones entre los tres ejes factoriales y el resultado global del examen son:
## Dim 1 Dim 2 Dim 3
## [1,] -26.9 -3.5 29.3
El valor de \(-26.9\%\) de correlación indica, por ejemplo, que hay alguna relación negativa entre el primer eje y las categorías que caracterizan el sentido negativo del eje: edad de 18 años, estratos medio y alto, y origen Bogotá.
6 MÉTODOS DE CLASIFICACIÓN
Los métodos de clasificación que se abordan en este documento son los denominados en inglés Cluster Analysis, expresión que se puede traducir como “métodos de agrupamiento”, cuyo objetivo es descubrir patrones en los datos en forma de grupos bien diferenciados, que tengan individuos homogéneos en su interior.
En las áreas de minera de datos, aprendizaje automático y reconocimiento de patrones, se conocen con el nombre de métodos de clasificación no supervisada. La literatura francesa de análisis de datos los denomina métodos de clasificación automática.
Sin embargo, hay una advertencia: los algoritmos de agrupación están diseñados para encontrar agrupaciones, por lo que encontrarán agrupaciones, incluso donde no existan. Los algoritmos de clústeres siempre entregan clústeres, por lo que debemos evaluar su calidad y la cantidad de clústeres para elegir con cuidado. Estos pasos de validación se realizan utilizando herramientas de visualización y repitiendo la agrupación en muchas muestras de datos.
En el sentido matemático un algoritmo de agrupamiento busca una partición de un conjunto de \(n\) elementos en \(K\) subconjuntos, que es lo mismo que definir una variable cualitativa emergente de los datos.
Los algoritmos de clasificación utilizan medidas de similitud, disimilitud o distancia entre individuos y entre grupos. Las similitudes, disimilitudes o distancias entre grupos constituyen los criterios de agregación de los métodos de clasificación jerárquica aglomerativa.
En este documento se sigue la propuesta proveniente de la literatura francesa, que es combinar los dos tipos de métodos de clasificación, para obtener una mejor partición, y además, combinarlos con los métodos en ejes principales (Lebart, Morineau, and Piron 1995).
6.1 Métodos para obtener una Partición Directa
En estos algoritmos se da el número de clases, los puntos iniciales requeridos para empezar el algoritmo y un criterio de parada. Uno de los métodos más conocidos es el K-means (Ball & Hall 1965, MacQueen 1967), que está relacionado con la geometría utilizada en los métodos en ejes principales porque recurre a la distancia euclidiana entre individuos; y la distancia entre grupos se calcula como la distancia euclidiana entre sus centros de gravedad.
Los criterios de homogeneidad intra-grupos y de heterogeneidad entre grupos, implícitos en el método K-means, están definidos a partir de la inercia: en una nube de puntos dotada de una partición en K clases. El método K-means, como se verá en la sección siguiente, busca una partición en K clases que tenga inercia intra-clases mínima.
6.1.1 K-means
Dentro de los algoritmos que permiten obtener particiones del número de clases deseado, el método K-means es uno de los más utilizados y forma parte de los métodos, conocidos en la literatura francesa, como de agregación alrededor de centros móviles. El algoritmo se detiene si la nueva partición no es mejor que la anterior (la inercia intra-clases deja de disminuir), o si dos iteraciones sucesivas dan la misma partición, o porque se ha alcanzado un número máximo de iteraciones fijado de antemano. Generalmente la partición obtenida depende de la selección inicial de los centros.
6.1.2 Ventajas y desventajas del método K-means
El método K-means se utiliza ampliamente porque es muy rápido y poco exigente en recursos de computo. Sin embargo, tiene dos problemas:
- Con un método de agrupamiento se pretende descubrir una estructura de clases en los datos y al algoritmo K-means se le suministran el número de clases y los puntos iniciales.
- En general, la inercia mínima que se obtiene depende de los puntos iniciales.
6.2 Métodos de Clasificación Jerárquica
Son de dos tipos: aglomerativos y divisivos. Los más usados son los primeros, conocidos en la literatura de ciencias naturales, como métodos de clasificación ascendente jerárquica aglomerativa (Sokal & Sneath 1963). Estos métodos construyen una serie de particiones anidadas, empezando por los \(n\) individuos, uniendo los dos más cercanos para tener una partición de \(n-1\) clases, calculando la distancia entre el nuevo grupo y los demás individuos, seleccionando de nuevo los dos más cercanos, para conseguir una partición en \(n-2\) clases y continuar aglomerando hasta llegar a una partición de una clase con los n individuos. El proceso de uniones se representa en un árbol de clasificación o dendrograma.
Estos métodos utilizan un índice de similitud, disimilitud o distancia entre individuos. Se dispone de unos cuantos en la literatura dependiendo del tipo de variables y de las aplicaciones. En nuestro contexto se selecciona la distancia euclidiana canónica.
Al conformar grupos se necesita definir una distancia entre ellos, que se denomina criterio de agregación y le da nombre a un método especifico. Los más sencillos son el de enlace simple y enlace completo. El primero define la distancia como la que hay entre los dos individuos más cercanos cada uno de diferente grupo y el segundo, entre los dos individuos más lejanos.
6.2.1 Índices de similitud para tablas binarias
Se calculan sobre una tabla de n individuos por p atributos de naturaleza binaria. La presencia de un 1 en una celda \((i,j)\) indica que el individuo \(i\) tiene el atributo \(j\) y la de un cero, que no lo tiene. Entonces un conteo para comparar los individuos \(i\) y \(l\) se puede registrar en una tabla de cuatro celdas:
- \(a\): número de atributos presentes en los dos individuos.
- \(b\): número de atributos presentes en el individuo \(i\) y ausentes en el individuo \(l\).
- \(c\): número de atributos ausentes en el individuo \(i\) y presentes en el individuo \(l\).
- \(d\): número de atributos ausentes en los dos individuos.
Se definen, además:
- \(m=a+d\) coincidencias.
- \(u=b+c\) no coincidencias.
En la Tabla 7.2 se muestran algunos de los índices propuestos en la literatura, que están disponibles en la función dist.binary{ade4}. El número de la última columna de la tabla se utiliza para que la función calcule el índice deseado.
6.2.2 Distancias para variables de intervalo
La distancia entre dos individuos \(i\) y \(l\) se calcula a partir de las filas respectivas de la matriz \(X\), cuyas columnas son \(p\) variables cuantitativas.
Gráficos de contorno de acuerdo con cuatro distancias diferentes: los puntos en cualquier curva son todos a la misma distancia desde el punto central.
- Euclidean: La distancia Euclideana entre dos puntos \(A=(a_1,\cdots,a_p)\) y \(B= (b_1,\cdots,b_p)\) en un espacio de \(p\) dimensiones es la raíz cuadrada de la suma de cuadrados de las diferencias de las \(p\) coordenadas. \[d(A,B)=\sqrt{(a_1-b_1)^2+(a_2-b_2)^2+\cdots+(a_p-b_p)^2}\]
- Manhattan: La distancia Manhattan, City Block o \(L_1\) toma la suma de las diferencias absolutas en todas las coordenadas. \[d(A,B)=|a_1-b_1|+|a_2-b_2|+\cdots+|a_p-b_p|\]
- Maximum: Es el máximo de las diferencias absolutas entre coordenadas, también llamada \(L_\infty\). \[d_\infty(A,B)= \max_{i}|a_i-b_i|\]
- Minkowski: \[d(A,B) = \left( (a_1-b_1)^r+(a_2-b_2)^r+\cdots+(a_p-b_p)^r \right)^\frac{1}{r}\]
Puntos en un espacio bidimensional a una distancia de \(1\) desde el centro (\(O\)) utilizando la función de distancia de Minkowski con diferentes valores de \(r\). Mostrando los casos especiales.
Las distancias disponibles en la función dist{stats} se presentan en la Tabla 7.3. La distancia Euclidiana \((r=2)\), y la distancia de Manhattan \((r=1)\) son casos particulares de la distancia de Minkowski. La distancia del Máximo también es un caso particular de la distancia de Minkowski \((r\rightarrow\infty)\).
6.2.3 ¿Cómo calcular (dis)similitudes entre grupos agregados?/ Criterios de agregación
Para completar un procedimiento de aglomeración jerárquica hay que seleccionar una similitud, disimilitud o distancia entre grupos, que se denomina también criterio de agregación. Un algoritmo de agrupamiento jerárquico es bastante fácil de comenzar, al agrupar las observaciones más similares. Pero una vez que se ha producido una agregación, se debe indicar cuál es la distancia entre un grupo recién formado y todos los demás puntos, o entre dos grupos.
- Enlace Simple: El método de salto mínimo (minimal jump), también llamado enlace simple (single linkage) o método vecino más cercano, calcula la distancia entre grupos como la distancia más pequeña entre dos puntos en los dos grupos.
\[d_{12} = \min_{i \in C_1, i \in C_2 } d_{ij}\]
Este criterio tiende a producir grupos alargados (efecto de encadenamiento), que pueden incluir elementos muy distintos en los extremos. El árbol de clúster a menudo se ve como un peine.
En el método de enlace simple, la distancia entre los grupos \(C_1\) y \(C_2\) se define como la distancia entre los dos puntos más cercanos de los grupos.
- Enlace Completo: El método de salto máximo (maximum jump ) o enlace completo (complete linkage) define la distancia entre los dos grupos es la distancia entre los dos individuos de diferente grupo más alejados:
\[d_{12} = \max_{i \in C_1, i \in C_2 } d_{ij}\]
El enlace completo tiende a producir grupos esféricos.
En el método de enlace completo, la distancia entre los grupos \(C_1\) y \(C_2\) se define como la distancia máxima entre pares de puntos de los dos grupos.
- Enlace Promedio: El enlace promedio (average linkage) tiende a unir grupos con varianzas pequeñas y es intermedio entre los enlaces simple y completo. La distancia entre los dos grupos es el promedio de distancias entre todas las parejas de individuos de diferente grupo:
\[d_{12} = \frac{1}{|C_1| |C_2|}\sum_{i \in C_1, i \in C_2 } d_{ij}\]
- Método de Ward: El método de Ward toma un análisis de enfoque de varianza, donde el objetivo es minimizar la varianza dentro de los grupos. Este método es muy eficiente, sin embargo, tiende a crear la ruptura de los grupos en tamaños más pequeños. Para lograr grupos que tengan inercia mínima intraclases se debe utilizar una distancia euclidiana y unir en cada paso del procedimiento los dos grupos que aumenten menos la inercia intra-clases, que corresponde al método de Ward (Ward Jr 1963).
El método Ward maximiza la suma de cuadrados entre grupos, mientras minimiza las sumas de cuadrados dentro de los grupos.
| Método | Ventajas | Desventajas |
|---|---|---|
| Enlace Simple | Número de grupos | Árboles con forma de peine |
| Enlace Completo | Clases compactas | Una observación puede alterar grupos |
| Enlace Promedio | Tamaño y varianza similares | No es robusto |
| Ward | Minimiza la inercia | Clases pequeñas de alta variabilidad |
Los algoritmos de clasificación jerárquica son robustos: un método para los mismos datos produce los mismos resultados y no requieren de un número de clases preestablecido.
Precisamente la mayor utilidad del árbol de clasificación es mostrar la estructura de clases que hay en los datos. El método de Ward implementado en algunos programas estadísticos no tiene en cuenta las propiedades de inercia y no permite la interpretación derivada de ella.
Algunos tampoco permiten pesos para los individuos, los cuales son obligatorios cuando se hacen pretratamientos con análisis de correspondencias simples, por ejemplo, o si se desea utilizar factores de expansión muestrales, para que el análisis sea más cercano a la población de donde se ha tomado la muestra.
6.3 Ejemplo de aplicación
# ---------------------------------- BARPLOT BÁSICO ----------------------------------- #
par(col.axis="#F13057", las = 1)
barplot(rev(HC.FC$indices$Indice[445-25:1]), horiz = T, col = rainbow(14), density = 60,
cex.names = 0.5, xaxp = c(0, 0.25, 10))
abline(v = 0.175, col = "#FEBB0E", lwd = 2); text(0.175+.03, 6, "4 CLASES", cex = 1.2, col = "#960018", family = "mono")
abline(v = 0.1, col = "#FEBB0E", lwd = 2); text(0.1+.03, 9, "7 CLASES", cex = 1.2, col = "#960018", family = "mono")
abline(v = 0.05, col = "#FEBB0E", lwd = 2); text(0.05+.025, 12, "8 CLASES", cex = 1.2, col = "#960018", family = "mono")| Antes | Después | Antes | Después | |
|---|---|---|---|---|
| 1 | 68 | 68 | 0.100 | 0.100 |
| 2 | 55 | 55 | 0.018 | 0.018 |
| 3 | 54 | 54 | 0.081 | 0.081 |
| 4 | 77 | 48 | 0.107 | 0.038 |
| 5 | 62 | 62 | 0.056 | 0.056 |
| 6 | 58 | 66 | 0.025 | 0.035 |
| 7 | 38 | 38 | 0.082 | 0.082 |
| 8 | 33 | 54 | 0.021 | 0.054 |
| TOTAL | 445 | 445 | 0.490 | 0.464 |
A continuación, se muestra la clasificación del ejemplo “Admitidos a las carreras de la Facultad de Ciencias”, utilizando FactoClass. Este análisis es complementario al realizado en el capítulo anterior. Las variables activas son género, edad, estrato y origen. Aunque la función FactoClass, se ejecuta primero de forma interactiva, aquí se presenta con las decisiones tomadas:
- Número de ejes para la clasificación: En el histograma de valores propios, luego de los tres primeros ejes se nota un salto en el eje \(6\), y se decide utilizar \(6\) ejes para la clasificación.
- Número de clases: En el histograma de índices de los últimos 25 nodos, se observan cambios de inercia entre a intra notorios para justificar el árbol para \(4\), \(7\) y \(8\) clases. Se decidió cortar el árbol para obtener \(8\) clases, la partición más fina de las tres.
- Cambios en la consolidación: Las clases \(4\), \(6\) y \(8\) son inestables ya que tuvieron cambios en el proceso de consolidación, la \(4\) cedió individuos y la \(6\) y la \(8\) los recibieron. La inercia intraclase disminuyó de \(0.490\) a \(0.464\).
- Caracterización de las clases de admitidos: La tabla expuesta a continuación provee la información para describir las clases según las 4 variables cualitativas activas. Para cada clase se da el total de admitidos y su porcentaje.
| Test.Value | Class.Cat | Cat.Class | Global | Weight | |
|---|---|---|---|---|---|
| Clase 1 | |||||
| estr.alto | 17.36 | 84.0 | 100.0 | 18.2 | 81 |
| edad.a18 | -4.07 | 0.0 | 0.0 | 12.6 | 56 |
| estr.bajo | -8.56 | 0.0 | 0.0 | 40.2 | 179 |
| estr.medio | -8.76 | 0.0 | 0.0 | 41.6 | 185 |
| Clase 2 | |||||
| edad.a17 | 10.61 | 32.2 | 100.0 | 38.4 | 171 |
| estr.medio1 | 10.12 | 29.7 | 100.0 | 41.6 | 185 |
| orig.Bogo | 6.20 | 17.7 | 100.0 | 69.9 | 311 |
| estr.alto1 | -4.49 | 0.0 | 0.0 | 18.2 | 81 |
| orig.Otro | -5.00 | 0.0 | 0.0 | 21.6 | 96 |
| edad.a19M | -5.13 | 0.0 | 0.0 | 22.5 | 100 |
| edad.a16m | -5.71 | 0.0 | 0.0 | 26.5 | 118 |
| estr.bajo1 | -7.56 | 0.0 | 0.0 | 40.2 | 179 |
| Clase 3 | |||||
| edad.a181 | 17.39 | 96.4 | 100.0 | 12.6 | 56 |
| edad.a19M1 | -5.08 | 0.0 | 0.0 | 22.5 | 100 |
| edad.a16m1 | -5.64 | 0.0 | 0.0 | 26.5 | 118 |
| edad.a171 | -7.24 | 0.0 | 0.0 | 38.4 | 171 |
| Clase 4 | |||||
| edad.a16m2 | 9.44 | 35.6 | 87.5 | 26.5 | 118 |
| estr.medio2 | 7.28 | 23.2 | 89.6 | 41.6 | 185 |
| gene.F | 6.40 | 26.6 | 70.8 | 28.8 | 128 |
| estr.alto2 | -4.14 | 0.0 | 0.0 | 18.2 | 81 |
| estr.bajo2 | -4.77 | 2.8 | 10.4 | 40.2 | 179 |
| gene.M | -6.40 | 4.4 | 29.2 | 71.2 | 317 |
| edad.a172 | -6.76 | 0.0 | 0.0 | 38.4 | 171 |
| Clase 5 | |||||
| edad.a173 | 11.39 | 36.3 | 100.0 | 38.4 | 171 |
| estr.bajo3 | 6.40 | 26.8 | 77.4 | 40.2 | 179 |
| orig.Otro1 | 5.12 | 31.2 | 48.4 | 21.6 | 96 |
| estr.alto3 | -4.83 | 0.0 | 0.0 | 18.2 | 81 |
| edad.a19M2 | -5.51 | 0.0 | 0.0 | 22.5 | 100 |
| edad.a16m3 | -6.13 | 0.0 | 0.0 | 26.5 | 118 |
| Clase 6 | |||||
| edad.a19M3 | 15.45 | 66.0 | 100.0 | 22.5 | 100 |
| orig.Bogo1 | 6.37 | 20.9 | 98.5 | 69.9 | 311 |
| orig.Otro2 | -5.00 | 1.0 | 1.5 | 21.6 | 96 |
| estr.alto4 | -5.02 | 0.0 | 0.0 | 18.2 | 81 |
| edad.a16m4 | -6.36 | 0.0 | 0.0 | 26.5 | 118 |
| edad.a174 | -8.14 | 0.0 | 0.0 | 38.4 | 171 |
| Clase 7 | |||||
| orig.Cund | 15.76 | 100.0 | 100.0 | 8.5 | 38 |
| orig.Otro3 | -4.01 | 0.0 | 0.0 | 21.6 | 96 |
| orig.Bogo2 | -9.72 | 0.0 | 0.0 | 69.9 | 311 |
| Clase 8 | |||||
| orig.Otro4 | 9.88 | 44.8 | 79.6 | 21.6 | 96 |
| estr.bajo4 | 8.57 | 27.9 | 92.6 | 40.2 | 179 |
| edad.a16m5 | 8.13 | 34.7 | 75.9 | 26.5 | 118 |
| estr.alto5 | -4.44 | 0.0 | 0.0 | 18.2 | 81 |
| estr.medio3 | -5.89 | 2.2 | 7.4 | 41.6 | 185 |
| edad.a175 | -7.24 | 0.0 | 0.0 | 38.4 | 171 |
| orig.Bogo3 | -8.04 | 3.5 | 20.4 | 69.9 | 311 |
- Clase 1. \(68\) (\(15.3\%\)):
- De estrato alto, de 17 o menos años (\(90\%\)) y bogotanos (\(84\%\)).
- Clase 2. \(55\) (\(12.4\%\)):
- De 17 años, estrato medio y bogotanos.
- Clase 3. \(54\) (\(12.1\%\)):
- De 18 años, casi todos bogotanos.
- Clase 4. \(48\) (\(10.8\%\)):
- Casi todos son de 16 años o menos (\(87.5\%\)), estrato medio (\(89.6\%\)), mujeres (\(70.8\%\)) y bogotanos (\(91.7\%\)).
- Clase 5. \(62\) (\(13.9\%\)):
- De 17 años, con incremento en la proporción de estrato bajo (\(77.4\%\)), y de otro departamento (\(48.4\%\)).
- Clase 6. \(66\) (\(14.8\%\)):
- De 19 años, bogotanos (\(98.5\%\)) y hombres (\(89.4\%\)), se incrementa el porcentaje de estrato bajo (\(51.5\%\)).
- Clase 7. \(38\) (\(8.5\%\)):
- Provienen de Cundinamarca, se incrementa la proporción de estrato bajo (\(57.9\%\)).
- Clase 8. \(54\) (\(12.1\%\)):
- Son, sobre todo, de otros departamentos (\(79.6\%\)), estrato bajo (\(92.6\%\)) y de 16 años o menos (\(75.9\%\)).
6.3.1 Proyección de las clases en los planos factoriales
En la siguiente figura se muestran las \(8\) clases sobre el primer plano factorial del ACM de los admitidos. Esto permite aprovechar el plano sintetizar la caracterización de las clases y compararlas. Por ejemplo, los centros de gravedad de las clases \(1\) y \(4\) se proyectan cerca en el plano, al observar la tabla de caracterización de las clases por las variables cualitativas activas ambas clases tienen más porcentaje, que el promedio, de bogotanos y menos de cundinamarqueses. Las clases \(2\) y \(3\) se parecen por tener más bogotanos y por no tener admitidos de Cundinamarca.
par(col.axis="#043869", col.lab="#0B9822", col.main="#DD0066", fg="#FF7400")
Colores <- c("#F13057","#F68118","#F9CA00","#AEF133","#19EE9F","#FF75B4","#D89EE8","#CE4BD6")
plotFactoClass(HC.FC, cstar = 0, Trow = FALSE, cframe = 1.08,
titre = "Proyección de las clases sobre el primer plano factorial del ACM de admitidos",
col.row = Colores, col.col = "black", cex.row = 0.7, cex.global = 1.2)7 REFERENCIAS
Este obra cuyo autor es Jeison Mauricio Alarcón Becerra está bajo una licencia de Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional de Creative Commons.
Creado a partir de la obra en https://rpubs.com/JeisonAlarcon.
Agresti, Alan. 2010. Analysis of Ordinal Categorical Data. Vol. 656. John Wiley & Sons.
Duarte, A, M Suarez, E Moreno, and A Ortiz. 1996. “Análisis Multivariado Por Componentes Principales, de Cafés Tostados Y Molidos Adulterados Con Cereales.” Federacion Nacional de Cafeteros de Colombia, Calas (Colombia).
Kassambara, Alboukadel. 2017. Practical Guide to Principal Component Methods in R: PCA, M (ca), Famd, Mfa, Hcpc, Factoextra. Vol. 2. STHDA.
Lebart, Ludovic, Alain Morineau, and Marie Piron. 1995. Statistique Exploratoire Multidimensionnelle. Vol. 3. Dunod Paris.
Monroy, Luis Guillermo Díaz, and Mario Alfonso Morales Rivera. 2012. Análisis Estadístico de Datos Multivariados. Universidad Nacional de Colombia.
Morineau, Alain. 1984. “Note Sur La Caractérisation Statistique d’une Classe et Les Valeurs-Tests.” Bulletin Technique Centre Statistique Informatique Appliquées 2 (1-2): 20–27.
Pardo, Campo Elías. 2020. Estadística Descriptiva Multivariada. Vol. 1. Revista colombiana de estadística.
Pardo, Campo Elías, Mónica Bécue-Bertaut, and Jorge Eduardo Ortiz. 2013. “Correspondence Analysis of Contingency Tables with Subpartitions on Rowsand Columns.” Revista Colombiana de Estadística 36 (1): 115–44.
Ward Jr, Joe H. 1963. “Hierarchical Grouping to Optimize an Objective Function.” Journal of the American Statistical Association 58 (301): 236–44.
Tablas de contingencia: Termino introducido por Pearson en 1904, como una medida de “la desviación total de la clasificación respecto a la independencia probabilística”.↩︎