Imagen que muestra un párrafo centrado sobre los autovalores, autovectores y matriz de covarianza

Autovalores, Autovectores, Matriz de covarianza

¿Qué es la covarianza?

La covarianza es una medida estadística que indica cómo dos variables cambian juntas. Si ambas aumentan o disminuyen al mismo tiempo, la covarianza es positiva. Si una aumenta mientras la otra disminuye, es negativa.

La covarianza nos indica el grado de variación conjunta de dos variables aleatorias respecto a sus medias.

Fórmula:

Cov(X, Y) = Σ[(xi – media_x) * (yi – media_y)] / (n – 1)

¿Qué es la varianza?

La varianza es simplemente la covarianza de una variable consigo misma. Mide cuánto varían los datos respecto a su media. Es el valor que aparece en la diagonal principal de la matriz de covarianza.

Ejemplo:

C=

Imagen que muestra cómo calcular la media y la varianza muestral de un conjunto de datos pequeños, utilizando las fórmulas estándar de estadística descriptiva.
  • Si la varianza es alta, los datos están muy dispersos.
  • Si es baja, los datos están agrupados cerca de la media.

¿Qué es la matriz de covarianza?

La matriz de covarianza es una herramienta clave en estadística y machine learning que permite analizar la relación entre múltiples variables en un conjunto de datos. Su objetivo principal es mostrar cómo varían conjuntamente las variables: si lo hacen en la misma dirección (covarianza positiva) o en direcciones opuestas (covarianza negativa).

Se trata de una matriz cuadrada y simétrica de dimensión n × n, donde:

  • La diagonal principal contiene las varianzas de cada variable.
  • Los elementos fuera de la diagonal representan las covarianzas entre pares de variables.

Gracias a la matriz de covarianza, es posible identificar correlaciones entre variables, detectar patrones multivariados y mejorar modelos predictivos al comprender mejor la estructura interna de los datos

¿Cómo se calcula la matriz de covarianza?

La matriz de covarianza es una representación matemática que muestra cómo varían conjuntamente dos o más variables. Es muy utilizada en estadística, análisis de datos y machine learning para identificar relaciones lineales entre variables.

Para calcularla, se parte de un conjunto de datos con varias variables numéricas. Primero, se centran los datos (restando la media de cada variable), y luego se calcula la covarianza entre cada par de variables, organizando los resultados en una matriz simétrica.

Esta matriz permite detectar si dos variables aumentan o disminuyen juntas (covarianza positiva), si una sube mientras la otra baja (negativa), o si no tienen relación aparente (covarianza cercana a cero).

Por ejemplo, si tenemos dos variables aleatorias X, Y donde aplicamos la formula entonces podemos formar la matriz de covarianza

Cov(X, Y) = Σ[(xi – media_x) * (yi – media_y)] / (n – 1)

Imagen que muestra cómo calcular la matriz de covarianza de un conjunto de datos, utilizando las fórmulas estándar de estadística descriptiva

¿Qué son los autovalores, los auto vectores?

Los autovalores y autovectores son conceptos fundamentales del álgebra lineal que se utilizan para analizar cómo una matriz transforma un espacio.

  • Un autovector es un vector que, al ser multiplicado por una matriz, no cambia su dirección, solo se escala.
  • El autovalor es el número por el cual se escala ese vector.

Matemáticamente se expresa como Av⃗=λv⃗ donde A es la matriz, v⃗es el autovector y λ el autovalor. En funciones lineales como f(x,y)=(6x+2y,2x+3y), tambien sen puede representar la transformación en forma matricial para analizar qué vectores no rotan y cuáles son los valores asociados a esos cambios. Este análisis permite encontrar autovalores y autovectores ortogonales, fundamentales para aplicaciones como la reducción de dimensiones, análisis de datos o diagonalización de matrices.

Cálculo de autovalores y auto vectores en Python

El siguiente código en Python muestra un ejemplo práctico de cómo calcular autovalores y autovectores de una matriz utilizando NumPy, y cómo verificar su validez aplicando operaciones básicas de álgebra lineal.

Primero, define una matriz cuadrada A y un conjunto de vectores que se utilizarán para observar cómo son transformados por dicha matriz. Luego, se calculan los autovalores y autovectores de A mediante np.linalg.eig().

Posteriormente, el código transforma cada vector del conjunto original usando la matriz A (simulando una función lineal) y muestra cómo la multiplicación de un autovalor por su correspondiente autovector produce el mismo resultado que aplicar la transformación lineal, demostrando gráficamente la definición de autovector.

Conceptos clave aplicados:

  • Autovalores y autovectores: valores fundamentales en el análisis de matrices, útiles en machine learning, PCA y optimización.
  • Producto punto (dot): para calcular transformaciones lineales.
  • Verificación de identidad: A·v = λ·v, donde v es autovector y λ el autovalor.
import numpy as np
def getDatos():    
    matriz = np.array([(0,0),(0,1),(0,-1),(-1,0),(0,1),(1,0),(0.89442719, 0.4472136),(-0.4472136, 0.89442719)])
    return matriz
def getA():    
    matrizA = np.array([(6,2),(2,3)])
    return matrizA
matrizA = getA()
def getAutovaloresVectores(matrizA):
    autovalores, autovectores = np.linalg.eig(matrizA)
    return autovalores, autovectores
def calculoFuncion(x,y,matriz):
    vectorColumna = np.zeros((2))
    vectorColumna[0]=x
    vectorColumna[1]=y
    imagenFuncion = np.zeros((2))
    imagenFuncion = np.dot(matriz,vectorColumna)
    return imagenFuncion
def lamdaVector(lamda,v):
    vectorColumna = v    
    imagenFuncion = np.zeros((2))
    imagenFuncion = np.dot(lamda,vectorColumna)
    return imagenFuncion
autovalores, autovectores = getAutovaloresVectores(matrizA)
matrizDatos = getDatos()
print("Vectores y autovalores transformados: ")
for fila in matrizDatos:
    x = fila[0]
    y = fila[1]  
    imagenFuncion = calculoFuncion(x,y,matrizA)
    print(imagenFuncion)
autovalor1=autovalores[0]
autovector1=autovectores[:,0]
print("Imagenes de lamda por los autovalores:")
vector1=lamdaVector(autovalor1,autovector1) 
autovalor2=autovalores[1]
autovector2=autovectores[:,1]
vector2=lamdaVector(autovalor2,autovector2) 
print("Lamda", autovalor1, "por autovector", autovector1,"=",vector1)
print("Lamda", autovalor2, "por autovector", autovector2,"=",vector2)

Vectores y autovalores transformados:

[0. 0.] [2. 3.] [-2. -3.] [-6. -2.] [2. 3.] [6. 2.] [6.26099034 3.13049518] [-0.89442722  1.78885437]

Imagenes de lamda por los autovalores:

Lamda 7.0 por autovector [0.89442719 0.4472136 ] = [6.26099034 3.13049517]

Lamda 2.0 por autovector [-0.4472136   0.89442719] = [-0.89442719  1.78885438]

 

¿Para qué sirve la matriz de covarianza en machine learning?

La matriz de covarianza es muy útil en:

  • PCA (análisis de componentes principales).
  • Reducción de dimensionalidad.
  • Identificación de relaciones entre variables.
  • Visualización de correlaciones.

¿Qué diferencia hay entre matriz de correlación y matriz de covarianza?

La matriz de correlación normaliza los valores, mientras que la matriz de covarianza depende de las unidades originales. Se usa cuando se quiere conservar la escala.

¿Por qué se usa la matriz de covarianza en PCA?

Porque nos permite identificar las direcciones donde los datos tienen mayor variabilidad, y reducir así la dimensionalidad sin perder información clave.

¿Qué indican los autovalores?

Indican cuánta varianza explica cada componente. Cuanto mayor es el autovalor, más información representa esa dirección del espacio.

Conclusión

La matriz de covarianza es esencial en el análisis de datos y machine learning. Nos permite entender cómo interactúan las variables, aplicar PCA para reducir dimensiones y optimizar modelos. Además, los autovalores y auto vectores nos ayudan a interpretar y visualizar la estructura interna del conjunto de datos.