Comment calculer le coefficient de variation en Python



Un coefficient de variation , souvent abrégé en CV , est un moyen de mesurer l’étalement des valeurs dans un ensemble de données par rapport à la moyenne. Il est calculé comme suit :

CV = σ / μ

où:

  • σ : l’écart type de l’ensemble de données
  • μ : la moyenne de l’ensemble de données

En clair, le coefficient de variation est simplement le rapport entre l’écart type et la moyenne.

Quand utiliser le coefficient de variation

Le coefficient de variation est souvent utilisé pour comparer la variation entre deux ensembles de données différents.

Dans le monde réel, il est souvent utilisé en finance pour comparer le rendement moyen attendu d’un investissement par rapport à l’écart type attendu de l’investissement. Cela permet aux investisseurs de comparer le compromis risque-rendement entre les investissements.

Par exemple, supposons qu’un investisseur envisage d’investir dans les deux fonds communs de placement suivants :

Fonds commun de placement A : moyenne = 9 %, écart-type = 12,4 %

OPCVM B : moyenne = 5 %, écart-type = 8,2 %

En calculant le coefficient de variation de chaque fonds, l’investisseur constate :

CV pour le fonds commun de placement A = 12,4 % /9 % = 1,38

CV pour le fonds commun de placement B = 8,2 % / 5 % = 1,64

Étant donné que le fonds commun de placement A a un coefficient de variation plus faible, il offre un meilleur rendement moyen par rapport à l’écart type.

Comment calculer le coefficient de variation en Python

Pour calculer le coefficient de variation d’un ensemble de données en Python, vous pouvez utiliser la syntaxe suivante :

import numpy as np

cv = lambda x: np.std(x, ddof=1) / np.mean(x) * 100

Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.

Exemple 1 : Coefficient de variation pour un seul réseau

Le code suivant montre comment calculer le CV pour un seul tableau :

#create vector of data
data = [88, 85, 82, 97, 67, 77, 74, 86, 81, 95, 77, 88, 85, 76, 81, 82]

#define function to calculate cv
cv = lambda x: np.std(x, ddof=1) / np.mean(x) * 100 

#calculate CV
cv(data)

9.234518

Le coefficient de variation s’avère être de 9,23 .

Exemple 2 : Coefficient de variation pour plusieurs vecteurs

Le code suivant montre comment calculer le CV de plusieurs colonnes dans un DataFrame pandas :

import numpy as np
import pandas as pd

#define function to calculate cv
cv = lambda x: np.std(x, ddof=1) / np.mean(x) * 100 

#create pandas DataFrame
df = pd.DataFrame({'a': [88, 85, 82, 97, 67, 77, 74, 86, 81, 95],
                   'b': [77, 88, 85, 76, 81, 82, 88, 91, 92, 99],
                   'c': [67, 68, 68, 74, 74, 76, 76, 77, 78, 84]})

#calculate CV for each column in data frame
df.apply(cv)

a    11.012892
b     8.330843
c     7.154009
dtype: float64

Notez que les valeurs manquantes seront simplement ignorées lors du calcul du coefficient de variation :

import numpy as np
import pandas as pd

#define function to calculate cv
cv = lambda x: np.std(x, ddof=1) / np.mean(x) * 100 

#create pandas DataFrame
df = pd.DataFrame({'a': [88, 85, 82, 97, 67, 77, 74, 86, 81, 95],
                   'b': [77, 88, 85, 76, 81, 82, 88, 91, np.nan, 99],
                   'c': [67, 68, 68, 74, 74, 76, 76, 77, 78, np.nan]})

#calculate CV for each column in data frame
df.apply(cv)

a    11.012892
b     8.497612
c     5.860924
dtype: float64

Ressources additionnelles

Comment calculer le coefficient de variation de R
Comment calculer le coefficient de variation dans Excel
Comment calculer le coefficient de variation dans Google Sheets

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *