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 Covariance ? | Covariance et Corrélation
Les Bases de la Théorie des Probabilités
course content

Contenu du cours

Les Bases de la Théorie des Probabilités

Les Bases de la Théorie des Probabilités

1. Concepts de Base de la Théorie des Probabilités
2. Probabilité des Événements Complexes
3. Distributions Discrètes Couramment Utilisées
4. Distributions Continues Couramment Utilisées
5. Covariance et Corrélation

book
Qu'est-ce Que la Covariance ?

La covariance est une mesure numérique qui quantifie la relation entre deux variables.
Elle mesure comment les variations d'une variable correspondent aux variations d'une autre variable. Plus précisément, la covariance mesure la variabilité conjointe de deux variables et offre des indications sur la direction (positive ou négative) de cette variabilité.

Calcul de la covariance

  1. Réalisez plusieurs fois la première expérience stochastique et notez les résultats de chaque essai dans un tableau. Ce sera un tableau x ;
  2. Réalisez plusieurs fois la deuxième expérience stochastique et enregistrez les résultats dans le tableau y ;
  3. Calculez la covariance en utilisant la bibliothèque numpy : covariance = np.cov(x, y)[0, 1].

Exemples

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

On observe qu'à mesure que la valeur de x augmente, la valeur de y augmente également. La corrélation est donc positive. Proposons une autre expérience:

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

Maintenant, alors que la valeur x augmente, la valeur y diminue et la covariance est négative. Voyons maintenant la covariation entre les résultats de deux expériences indépendantes:

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

En conséquence, nous pouvons tirer une conclusion :

  1. Si la covariance entre deux valeurs est positive, alors, avec l'augmentation de la première valeur, la deuxième valeur augmente également ;
  2. Si la covariance entre deux valeurs est négative, alors, avec l'augmentation de la première valeur, la deuxième valeur diminue ;
  3. Si les valeurs sont indépendantes, alors elles ont une corrélation nulle (elles sont non corrélées).

Faites attention au dernier point : la corrélation est nulle si les valeurs sont indépendantes. Mais la réciproque n'est pas vraie : si la corrélation est nulle, cela ne signifie pas l'indépendance. Regardez l'exemple :

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

Les points dans l'exemple ci-dessus se trouvent à l'intérieur du cercle unité et sont donc dépendants mais non corrélés.
En général, seules les relations linéaires entre les valeurs peuvent être correctement identifiées à l'aide de la covariance. Ainsi, dans le cas de valeurs non corrélées, nous pouvons conclure qu'elles n'ont pas de dépendances linéaires, mais peuvent présenter des types de dépendances plus complexes.

Laquelle des affirmations suivantes est correcte ?

Laquelle des affirmations suivantes est correcte ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 1
We're sorry to hear that something went wrong. What happened?
some-alt