Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Qu'est-ce Que la Corrélation ? | Covariance et Corrélation
Les Bases de la Théorie des Probabilités

book
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ù:

  1. 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;
  2. 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;
  3. 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
123456789101112131415161718192021222324252627
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
copy

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 2
some-alt