Cómo medir relaciones entre variables en datos
La covarianza es una medida que indica cómo dos variables cambian juntas. La matriz de covarianza extiende esta idea a múltiples variables, permitiendo analizar relaciones complejas en datasets multidimensionales.
👉 Es la base matemática de técnicas clave como PCA.
Definición corta
- Covarianza: mide la relación entre dos variables
- Matriz de covarianza: contiene las covarianzas entre todas las variables
Definición detallada
Dadas dos variables y :
👉 Donde:
- , = medias
Interpretación
| Covarianza | Significado |
|---|---|
| > 0 | variables crecen juntas |
| < 0 | una sube, otra baja |
| ≈ 0 | sin relación lineal |
Intuición
La covarianza responde:
👉 “Cuando una variable cambia, ¿qué hace la otra?”
Ejemplo
- Altura y peso → covarianza positiva
- Temperatura y uso de calefacción → negativa
Matriz de covarianza
Para un dataset con múltiples variables:
👉 Propiedades:
- Simétrica
- Diagonal = varianzas
- Fuera de la diagonal = relaciones
Ejemplo simple
Covarianza:
Relación con PCA
PCA utiliza la matriz de covarianza:
👉 Sus vectores propios = componentes principales
👉 Sus valores propios = varianza explicada
Covarianza en redes neuronales
🔹 1. Análisis de datos
Detecta:
- redundancia
- correlaciones
2. Preprocesamiento
Reduce:
- features innecesarios
- ruido
🔹 3. Normalización
Relacionado con:
- whitening
- estandarización
🔹 4. Embeddings
Permite entender:
- estructura interna
- dependencia entre dimensiones
📊 Ejemplo paso a paso
Datos:Y=[2,4,6]
Media:
Covarianza:
👉 Positiva → relación directa.
Relación con otros conceptos
- Varianza
- Correlación
- PCA
- SVD
- Distribuciones
Ejemplo en Python
import numpy as npX = np.array([1, 2, 3])Y = np.array([2, 4, 6])cov = np.cov(X, Y)print("Matriz de covarianza:\n", cov)
Ejemplo con múltiples variables
import numpy as npX = np.array([ [2, 3], [3, 5], [4, 7]])cov_matrix = np.cov(X.T)print("Covarianza:\n", cov_matrix)
Ejemplo en PyTorch
import torchX = torch.tensor([ [2.0, 3.0], [3.0, 5.0], [4.0, 7.0]])X_centered = X - torch.mean(X, dim=0)cov_matrix = (X_centered.T @ X_centered) / (X.shape[0] - 1)print("Matriz de covarianza:\n", cov_matrix)
Ejemplo en PCA
import numpy as npX = np.random.rand(100, 3)X_centered = X - np.mean(X, axis=0)cov = np.cov(X_centered.T)eigvals, eigvecs = np.linalg.eig(cov)print("Valores propios:", eigvals)
Qué muestra este ejemplo
- La covarianza captura relaciones
- Se usa directamente en PCA
- Permite identificar direcciones importantes
Errores comunes
No centrar los datos
Produce resultados incorrectos.
Confundir covarianza con correlación
La correlación está normalizada.
Ignorar escala de variables
Afecta la interpretación.
Ejemplo conceptual
Edad vs ingresos → covarianza positiva
Edad vs uso de videojuegos → covarianza negativa (posible)
Interpretación profunda
La covarianza permite:
- entender relaciones ocultas
- descubrir estructura en datos
- reducir redundancia
- preparar datos para modelos
👉 Es una herramienta clave para análisis y transformación de datos.
Conclusión
La covarianza y la matriz de covarianza permiten medir relaciones entre variables y entender la estructura interna de los datos. Son fundamentales en técnicas como PCA y en el análisis estadístico de datasets.
👉 Entender la covarianza es entender cómo se relacionan los datos.
Related Concepts
- Varianza
- Correlación
- PCA
- SVD
- Distribuciones
- Espacio vectorial