Análisis Exploratorio Multivariante · Almacenes y Minería de Datos
Cuando p (variables) crece, la geometría del espacio se vuelve contraintuitiva Bellman (1957).
\frac{V_{\text{esfera}}}{V_{\text{cubo}}} = \frac{\pi^{d/2}}{2^d \, \Gamma(d/2 + 1)} \xrightarrow{d \to \infty} 0
Veamos como la proporción del volumen de una hiperesfera inscrita en un hipercubo en \mathbb{R}^d:
Todo el volumen se concentra en las esquinas del hipercubo.
Para mantener una densidad fija \rho en \mathbb{R}^d, las observaciones necesarias escalan como:
n \sim \rho \cdot L^d
El problema de las correlaciones:
Important
Necesitamos métodos que resuman la información sin perder lo esencial.
Sea un conjunto de datos X \in \mathbb{R}^{n \times p} conn n observaciones, p variables
Centramos los datos \tilde{X} = X - \mathbf{1}\bar{x}^T
Quitamos la media de cada variable
Los datos quedan alrededor del origen
Una vez centrados y organizados, calculamos la matriz de covarianza: \Sigma = \frac{1}{n} \tilde{X}^T \tilde{X}
Finalmente, realizamos la eigendecomposición de \Sigma:
\Sigma w = \lambda w
y proyectamos los datos en los primeros k autovectores:
Z = \tilde{X} W
Así construimos un nuevo espacio de menor dimensión que captura la mayor parte de la varianza original.
4 variables numéricas · 150 observaciones · 3 especies
| Sépalo largo | Sépalo ancho | Pétalo largo | Pétalo ancho | |
|---|---|---|---|---|
| count | 150.000 | 150.000 | 150.000 | 150.000 |
| mean | 5.843 | 3.057 | 3.758 | 1.199 |
| std | 0.828 | 0.436 | 1.765 | 0.762 |
| min | 4.300 | 2.000 | 1.000 | 0.100 |
| 25% | 5.100 | 2.800 | 1.600 | 0.300 |
| 50% | 5.800 | 3.000 | 4.350 | 1.300 |
| 75% | 6.400 | 3.300 | 5.100 | 1.800 |
| max | 7.900 | 4.400 | 6.900 | 2.500 |
Obligatoria cuando las variables tienen escalas distintas:
z_{ij} = \frac{x_{ij} - \bar{x}_j}{s_j}
Después de estandarizar: \bar{z}_j = 0 y s_{z_j} = 1 para toda variable j.
Note
Con datos estandarizados, la matriz de covarianza es idéntica a la matriz de correlación de Pearson.
| Componente | Eigenvalue (λ) | % Varianza | % Acumulado | |
|---|---|---|---|---|
| 0 | PC1 | 2.9381 | 72.96 | 72.96 |
| 1 | PC2 | 0.9202 | 22.85 | 95.81 |
| 2 | PC3 | 0.1477 | 3.67 | 99.48 |
| 3 | PC4 | 0.0209 | 0.52 | 100.00 |
Tip
Criterios para elegir k: Regla de Kaiser (\lambda_k > 1) · Varianza acumulada ≥ 80% · Codo del scree plot · Interpretabilidad de dominio
El biplot superpone scores de observaciones y vectores de loadings.
PC1 ≈ tamaño general | PC2 ≈ contraste sépalo largo vs ancho
PCA identifica correctamente que solo 2 dimensiones concentran la señal real.
PCA busca direcciones de máxima varianza lineales → no captura estructuras no lineales. PCA colapsa el Swiss Roll: puntos lejanos quedan superpuestos
2. Sensibilidad a outliers
PCA minimiza error cuadrático i.e. un solo punto alejado puede dominar el primer componente. Alternativa: Robust PCA (Candès et al., 2011): X = L + S
PCA es no supervisado → maximiza varianza global sin considerar etiquetas. La dirección de máxima varianza puede no ser la que mejor separa las clases.
t-distributed Stochastic Neighbor Embedding (van der Maaten & Hinton, 2008), Método no determinista que minimiza la divergencia KL entre distribuciones de pares en el espacio original y reducido:
\text{KL}(P \| Q) = \sum_{i \neq j} p_{ij} \log \frac{p_{ij}}{q_{ij}}
Características:
Uniform Manifold Approximation and Projection (McInnes et al., 2018)
Basado en geometría Riemanniana y teoría de categorías. Construye un grafo difuso ponderado:
w(x_i, x_j) = \exp\left(-\frac{d(x_i, x_j) - \rho_i}{\sigma_i}\right)
y minimiza la divergencia de entropía cruzada fuzzy entre el grafo original y el proyectado.
| Característica | t-SNE | UMAP |
|---|---|---|
| Velocidad | Lento (O(n^2)) | Rápido (O(n^{1.14})) |
| Estructura global | No preserva | Preserva mejor |
| Nuevos datos | ❌ | ✅ transform() |
| Determinismo | ❌ | ✅ con random_state |
| Escalabilidad | Hasta ~10k puntos | Hasta millones |

| Situación | Método recomendado |
|---|---|
| Preprocesamiento antes de modelado | PCA |
| Visualización exploratoria | t-SNE o UMAP |
| Dataset grande (>50k puntos) | UMAP |
| Transformar nuevos datos | PCA o UMAP |
| Interpretabilidad de componentes | PCA (o Sparse PCA) |
| Estructura no lineal compleja | UMAP |
| Análisis supervisado + reducción | LDA |
El PCA es el punto de partida del análisis multivariante moderno. Sus conexiones:
El trade-off fundamental:
PCA ─────────────────────────────────────► t-SNE / UMAP
Lineal Interpretable No lineal
Global Eficiente Local
Reutilizable Escalable Exploratorio
PCA desde cero: implementa PCA usando únicamente numpy.linalg.svd. Verifica que tus eigenvalores coincidan con los de sklearn.
Efecto de la estandarización: aplica PCA a Iris con y sin estandarización. ¿Cambian los componentes? Justifica matemáticamente.
Reconstrucción: dado X y su proyección a k componentes, reconstruye \hat{X} = Z_k W_k^T + \mu. Grafica el error \|X - \hat{X}\|_F en función de k.
Comparación t-SNE vs UMAP: aplica ambas técnicas al dataset MNIST (sklearn.datasets.load_digits). Compara separación de clases y tiempo de cómputo.
Regla de Kaiser: ¿por qué la regla (\lambda > 1) solo aplica con datos estandarizados? Demuéstralo con un ejemplo que viola la regla sin estandarizar.

Facultad de Ciencias UNAM · Minería de Datos · 2026