Contenu du cours
Les Bases de la Théorie des Probabilités
Les Bases de la Théorie des Probabilités
5. Covariance et Corrélation
Qu'est-ce Que la Corrélation ?
Corrélation est une mesure statistique qui quantifie la relation entre deux variables. Elle est déterminée comme la covariation échelonnée et, grâce à cette échelle, nous pouvons déterminer la mesure des dépendances en plus de leur direction.
La corrélation varie entre -1
et 1
, où:
- Si la corrélation est
+1
, alors les valeurs présentent une relation linéaire positive parfaite. Lorsqu'une variable augmente, l'autre augmente proportionnellement; - Si la corrélation est
-1
, alors les valeurs présentent une relation linéaire négative parfaite. Lorsqu'une variable augmente, l'autre diminue proportionnellement; - Si le coefficient de corrélation est proche de
0
, alors il n'y a aucune relation linéaire entre les variables.
Pour calculer la corrélation, nous pouvons suivre les mêmes étapes que pour calculer la covariance et utiliser 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
Tout était clair ?
Merci pour vos commentaires !
Section 5. Chapitre 2