Cómo crear una matriz de covarianza en Python

La covarianza es una medida de cómo los cambios en una variable se asocian con los cambios en una segunda variable. Específicamente, es una medida del grado en que dos variables están asociadas linealmente.

Una matriz de covarianza es una matriz cuadrada que muestra la covarianza entre muchas variables diferentes. Esta puede ser una forma útil de comprender cómo se relacionan las diferentes variables en un conjunto de datos.

El siguiente ejemplo muestra cómo crear una matriz de covarianza en Python.

Cómo crear una matriz de covarianza en Python

Utilice los siguientes pasos para crear una matriz de covarianza en Python.

Paso 1: crea el conjunto de datos.

Primero, crearemos un conjunto de datos que contiene los puntajes de las pruebas de 10 estudiantes diferentes para tres materias: matemáticas, ciencias e historia.

importar numpy como np

matemáticas = [84, 82, 81, 89, 73, 94, 92, 70, 88, 95]
ciencia = [85, 82, 72, 77, 75, 89, 95, 84, 77, 94]
historia = [97, 94, 93, 95, 88, 82, 78, 84, 69, 78]

data = np.array ([matemáticas, ciencia, historia])

Paso 2: crea la matriz de covarianza.

A continuación, crearemos la matriz de covarianza para este conjunto de datos usando la función numpy cov () , especificando que sesgo = Verdadero para que podamos calcular la matriz de covarianza de la población.

np.cov (datos, sesgo = verdadero )

matriz ([[64,96, 33,2, -24,44],
       [33,2, 56,4, -24,1],
       [-24,44, -24,1, 75,56]])

Paso 3: interpretar la matriz de covarianza.

Los valores a lo largo de las diagonales de la matriz son simplemente las variaciones de cada sujeto. Por ejemplo:

  • La varianza de las puntuaciones de matemáticas es 64,96
  • La varianza de las puntuaciones de ciencias es 56,4
  • La varianza de las puntuaciones del historial es 75,56

Los otros valores de la matriz representan las covarianzas entre los distintos sujetos. Por ejemplo:

  • La covarianza entre los puntajes de matemáticas y ciencias es 33.2
  • La covarianza entre las puntuaciones de matemáticas e historia es -24,44
  • La covarianza entre las puntuaciones de ciencia e historia es -24,1

Un número positivo de covarianza indica que dos variables tienden a aumentar o disminuir en conjunto. Por ejemplo, las matemáticas y las ciencias tienen una covarianza positiva (33,2), lo que indica que los estudiantes que obtienen un puntaje alto en matemáticas también tienden a obtener un puntaje alto en ciencias. Por el contrario, los estudiantes que obtienen un puntaje bajo en matemáticas también tienden a obtener un puntaje bajo en ciencias.

Un número negativo de covarianza indica que a medida que aumenta una variable, una segunda variable tiende a disminuir. Por ejemplo, las matemáticas y la historia tienen una covarianza negativa (-24,44), lo que indica que los estudiantes que obtienen una puntuación alta en matemáticas tienden a obtener una puntuación baja en la historia. Por el contrario, los estudiantes que obtienen un puntaje bajo en matemáticas tienden a obtener un puntaje alto en historia.

Paso 4: Visualice la matriz de covarianza (opcional).

Puede visualizar la matriz de covarianza utilizando la función heatmap () del paquete seaborn:

importar seaborn como sns
 importar matplotlib.pyplot como plt

cov = np.cov (datos, sesgo = verdadero)
labs = ['matemáticas', 'ciencia', 'historia']

sns.heatmap (cov, annot = True, fmt = 'g', xticklabels = labs, yticklabels = labs)
plt.show ()

Matriz de covarianza en Python

También puede cambiar el mapa de colores especificando el argumento cmap :

sns.heatmap (cov, annot = True, fmt = 'g', xticklabels = labs, yticklabels = labs, cmap = ' YlGnBu ')
plt.show ()

Matriz de covarianza en Python

Para obtener más detalles sobre cómo diseñar este mapa de calor, consulte la documentación de seaborn .

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

Hay dos formas de crear un diagrama de dispersión utilizando datos de un DataFrame de pandas: 1. Utilice pandas.DataFrame.plot.scatter Una…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!