Contenido del Curso
Fundamentos de la Teoría de la Probabilidad
Fundamentos de la Teoría de la Probabilidad
5. Covarianza y Correlación
¿Qué es la Correlación?
Correlación es una medida estadística que cuantifica la relación entre dos variables. Se determina como la covariación escalada y, debido a esta escala, podemos determinar la magnitud de las dependencias además de su dirección.
La correlación varía entre -1
y 1
, donde:
- Si la correlación es
+1
, entonces los valores tienen una relación lineal positiva perfecta. A medida que una variable aumenta, la otra variable aumenta proporcionalmente; - Si la correlación es
-1
, entonces los valores tienen una relación lineal negativa perfecta. A medida que una variable aumenta, la otra variable disminuye proporcionalmente; - Si el coeficiente de correlación está cerca de
0
, entonces no existe relación lineal entre las variables.
Para calcular la correlación, se pueden seguir los mismos pasos que para calcular la covarianza y utilizar np.corrcoef(x, y)[0, 1]
.
import matplotlib.pyplot as plt import numpy as np # Create a figure with three subplots fig, axes = plt.subplots(1, 3) fig.set_size_inches(10, 5) # Positive linear dependence x = np.random.rand(100) * 10 # Generate random x values y = x + np.random.randn(100) # Generate y values with added noise axes[0].scatter(x, y) # Scatter plot of x and y axes[0].set_title('Correlation is '+ str(round(np.corrcoef(x, y)[0, 1], 3) )) # Set title with correlation coefficient # Negative linear dependence x = np.random.rand(100) * 10 # Generate random x values y = -x + np.random.randn(100) # Generate y values with added noise axes[1].scatter(x, y) # Scatter plot of x and y axes[1].set_title('Correlation is '+ str(round(np.corrcoef(x, y)[0, 1], 3) )) # Set title with correlation coefficient # Independent np.random.seed(0) # Set random seed for reproducibility x = np.random.rand(200) # Generate random x values y = np.random.rand(200) # Generate random y values axes[2].scatter(x, y) # Scatter plot of x and y axes[2].set_title('Correlation is '+ str(round(np.corrcoef(x, y)[0, 1], 3) )) # Set title with correlation coefficient plt.show() # Display the plot
¿Todo estuvo claro?
¡Gracias por tus comentarios!
Sección 5. Capítulo 2