Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende ¿Qué es la covarianza? | Covarianza y Correlación
Fundamentos de la Teoría de la Probabilidad
course content

Contenido del Curso

Fundamentos de la Teoría de la Probabilidad

Fundamentos de la Teoría de la Probabilidad

1. Conceptos Básicos de la Teoría de la Probabilidad
2. Probabilidad de Eventos Complejos
3. Distribuciones Discretas Comúnmente Utilizadas
4. Distribuciones Continuas Comúnmente Utilizadas
5. Covarianza y Correlación

book
¿Qué es la covarianza?

Covarianza es una medida numérica que cuantifica la relación entre dos variables.
Mide cómo los cambios en una variable corresponden a los cambios en otra variable. Más específicamente, la covarianza mide la variabilidad conjunta de dos variables y proporciona información sobre la dirección (positiva o negativa) de esta variabilidad.

Cálculo de la covarianza

  1. Realizar el primer experimento estocástico varias veces y registrar los resultados de cada experimento en el arreglo x;

  2. Realizar el segundo experimento estocástico varias veces y registrar los resultados en el arreglo y;

  3. Calcular la covarianza utilizando la biblioteca numpy: covariance = np.cov(x, y)[0, 1].

Ejemplos

12345678910111213141516171819
import numpy as np import matplotlib.pyplot as plt # Assume that results of some stochastic experiments are stored in x array x = np.random.rand(100) * 10 # We provide another stochastic experiment by using the value of x and adding some noise y = x + np.random.randn(100) # Calculate the covariance covariance = np.cov(x, y)[0, 1] plt.scatter(x, y) # Add labels and title plt.xlabel('X') plt.ylabel('Y') plt.title('Covariance is '+ str(round(covariance, 3) )) # Show the plot plt.show()
copy

Observamos que a medida que el valor de x aumenta, el valor de y también aumenta. Por lo tanto, la correlación es positiva. Presentemos otro experimento:

12345678910111213141516171819
import numpy as np import matplotlib.pyplot as plt # Assume that resylts of some stohastic experiments are stored in x array x = np.random.rand(100) * 10 # We provide another stohastic experiment by using the value of -x and adding some noise y = -x + np.random.randn(100) # Calculate the covariance covariance = np.cov(x, y)[0, 1] plt.scatter(x, y) # Add labels and title plt.xlabel('X') plt.ylabel('Y') plt.title('Covariance is '+ str(round(covariance, 3) )) # Show the plot plt.show()
copy

Ahora, mientras el valor de x aumenta, el valor de y disminuye y la covarianza es negativa. Ahora observemos la covariación entre los resultados de dos experimentos independientes:

1234567891011121314151617181920
import numpy as np import matplotlib.pyplot as plt # Generate random data for two variables with zero correlation np.random.seed(0) x = np.random.rand(200) y = np.random.rand(200) # Calculate the covariance covariance = np.cov(x, y)[0, 1] plt.scatter(x, y) # Add labels and title plt.xlabel('X') plt.ylabel('Y') plt.title('Covariance is '+ str(round(covariance, 3) )) # Show the plot plt.show()
copy

Como resultado, podemos hacer una conclusión:

  1. Si la covarianza entre dos valores es positiva, entonces al aumentar el primer valor, el segundo valor también aumenta;

  2. Si la covarianza entre dos valores es negativa, entonces al aumentar el primer valor, el segundo valor disminuye;

  3. Si los valores son independientes, entonces tienen correlación cero (son no correlacionados).

Presta atención al último punto: la correlación es cero si los valores son independientes. Pero el inverso no es cierto: si la correlación es cero, esto no significa independencia. Observa el siguiente ejemplo:

1234567891011121314151617181920212223242526
import numpy as np import matplotlib.pyplot as plt # Set the number of vectors/points to generate num_points = 1000 # Generate random angles uniformly distributed between 0 and 2*pi angles = np.random.uniform(0, 2*np.pi, num_points) # Convert angles to vectors in polar coordinates r = np.sqrt(np.random.uniform(0, 1, num_points)) # Square root to achieve uniform distribution within the circle x = r * np.cos(angles) y = r * np.sin(angles) # Calculate the covariance covariance = np.cov(x, y)[0, 1] plt.scatter(x, y) # Add labels and title plt.xlabel('X') plt.ylabel('Y') plt.title('Covariance is '+ str(round(covariance, 3) )) # Show the plot plt.show()
copy

Los puntos en el ejemplo anterior se encuentran dentro del círculo unitario y, por lo tanto, son dependientes pero no correlacionados.
En general, solo las relaciones lineales entre valores pueden identificarse bien con la ayuda de la covarianza. Así, en el caso de valores no correlacionados, podemos concluir que no tienen dependencias lineales, pero pueden tener otros tipos de dependencias más complejas.

question mark

¿Cuál de las siguientes afirmaciones es verdadera?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 1

Pregunte a AI

expand
ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

course content

Contenido del Curso

Fundamentos de la Teoría de la Probabilidad

Fundamentos de la Teoría de la Probabilidad

1. Conceptos Básicos de la Teoría de la Probabilidad
2. Probabilidad de Eventos Complejos
3. Distribuciones Discretas Comúnmente Utilizadas
4. Distribuciones Continuas Comúnmente Utilizadas
5. Covarianza y Correlación

book
¿Qué es la covarianza?

Covarianza es una medida numérica que cuantifica la relación entre dos variables.
Mide cómo los cambios en una variable corresponden a los cambios en otra variable. Más específicamente, la covarianza mide la variabilidad conjunta de dos variables y proporciona información sobre la dirección (positiva o negativa) de esta variabilidad.

Cálculo de la covarianza

  1. Realizar el primer experimento estocástico varias veces y registrar los resultados de cada experimento en el arreglo x;

  2. Realizar el segundo experimento estocástico varias veces y registrar los resultados en el arreglo y;

  3. Calcular la covarianza utilizando la biblioteca numpy: covariance = np.cov(x, y)[0, 1].

Ejemplos

12345678910111213141516171819
import numpy as np import matplotlib.pyplot as plt # Assume that results of some stochastic experiments are stored in x array x = np.random.rand(100) * 10 # We provide another stochastic experiment by using the value of x and adding some noise y = x + np.random.randn(100) # Calculate the covariance covariance = np.cov(x, y)[0, 1] plt.scatter(x, y) # Add labels and title plt.xlabel('X') plt.ylabel('Y') plt.title('Covariance is '+ str(round(covariance, 3) )) # Show the plot plt.show()
copy

Observamos que a medida que el valor de x aumenta, el valor de y también aumenta. Por lo tanto, la correlación es positiva. Presentemos otro experimento:

12345678910111213141516171819
import numpy as np import matplotlib.pyplot as plt # Assume that resylts of some stohastic experiments are stored in x array x = np.random.rand(100) * 10 # We provide another stohastic experiment by using the value of -x and adding some noise y = -x + np.random.randn(100) # Calculate the covariance covariance = np.cov(x, y)[0, 1] plt.scatter(x, y) # Add labels and title plt.xlabel('X') plt.ylabel('Y') plt.title('Covariance is '+ str(round(covariance, 3) )) # Show the plot plt.show()
copy

Ahora, mientras el valor de x aumenta, el valor de y disminuye y la covarianza es negativa. Ahora observemos la covariación entre los resultados de dos experimentos independientes:

1234567891011121314151617181920
import numpy as np import matplotlib.pyplot as plt # Generate random data for two variables with zero correlation np.random.seed(0) x = np.random.rand(200) y = np.random.rand(200) # Calculate the covariance covariance = np.cov(x, y)[0, 1] plt.scatter(x, y) # Add labels and title plt.xlabel('X') plt.ylabel('Y') plt.title('Covariance is '+ str(round(covariance, 3) )) # Show the plot plt.show()
copy

Como resultado, podemos hacer una conclusión:

  1. Si la covarianza entre dos valores es positiva, entonces al aumentar el primer valor, el segundo valor también aumenta;

  2. Si la covarianza entre dos valores es negativa, entonces al aumentar el primer valor, el segundo valor disminuye;

  3. Si los valores son independientes, entonces tienen correlación cero (son no correlacionados).

Presta atención al último punto: la correlación es cero si los valores son independientes. Pero el inverso no es cierto: si la correlación es cero, esto no significa independencia. Observa el siguiente ejemplo:

1234567891011121314151617181920212223242526
import numpy as np import matplotlib.pyplot as plt # Set the number of vectors/points to generate num_points = 1000 # Generate random angles uniformly distributed between 0 and 2*pi angles = np.random.uniform(0, 2*np.pi, num_points) # Convert angles to vectors in polar coordinates r = np.sqrt(np.random.uniform(0, 1, num_points)) # Square root to achieve uniform distribution within the circle x = r * np.cos(angles) y = r * np.sin(angles) # Calculate the covariance covariance = np.cov(x, y)[0, 1] plt.scatter(x, y) # Add labels and title plt.xlabel('X') plt.ylabel('Y') plt.title('Covariance is '+ str(round(covariance, 3) )) # Show the plot plt.show()
copy

Los puntos en el ejemplo anterior se encuentran dentro del círculo unitario y, por lo tanto, son dependientes pero no correlacionados.
En general, solo las relaciones lineales entre valores pueden identificarse bien con la ayuda de la covarianza. Así, en el caso de valores no correlacionados, podemos concluir que no tienen dependencias lineales, pero pueden tener otros tipos de dependencias más complejas.

question mark

¿Cuál de las siguientes afirmaciones es verdadera?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 1
Lamentamos que algo salió mal. ¿Qué pasó?
some-alt