Comment calculer la valeur attendue en Python (avec exemples)



Une distribution de probabilité nous indique la probabilité qu’une variable aléatoire prenne certaines valeurs.

Par exemple, la distribution de probabilité suivante nous indique la probabilité qu’une certaine équipe de football marque un certain nombre de buts dans un match donné :

Pour trouver la valeur attendue d’une distribution de probabilité, nous pouvons utiliser la formule suivante :

µ = Σx * P(x)

où:

  • x : valeur des données
  • P(x) : Probabilité de valeur

Par exemple, le nombre attendu de buts pour l’équipe de football serait calculé comme suit :

μ = 0*0,18 + 1*0,34 + 2*0,35 + 3*0,11 + 4*0,02 = 1,45 buts.

Pour calculer la valeur attendue d’une distribution de probabilité en Python, nous pouvons définir une fonction simple :

import numpy as np

def expected_value(values, weights):
    values = np.asarray(values)
    weights = np.asarray(weights)
    return (values * weights).sum() / weights.sum()

L’exemple suivant montre comment utiliser cette fonction dans la pratique.

Exemple : calcul de la valeur attendue en Python

Le code suivant montre comment calculer la valeur attendue d’une distribution de probabilité à l’aide de la fonction Expected_value() que nous avons définie précédemment :

#define values
values = [0, 1, 2, 3, 4]

#define probabilities
probs  = [.18, .34, .35, .11, .02]

#calculate expected value
expected_value(values, probs)

1.450000

La valeur attendue est 1,45 . Cela correspond à la valeur que nous avons calculée manuellement plus tôt.

Notez que cette fonction renverra une erreur si la longueur du tableau de valeurs et du tableau de probabilités ne sont pas égales.

Par exemple:

#define values
values = [0, 1, 2, 3, 4]

#define probabilities
probs  = [.18, .34, .35, .11, .02, .05, .11]

#attempt to calculate expected value
expected_value(values, probs)

ValueError: operands could not be broadcast together with shapes (5,) (7,) 

Nous recevons une erreur car la longueur du premier tableau est 5 alors que la longueur du deuxième tableau est 7 .

Pour que cette fonction de valeur attendue fonctionne, la longueur des deux tableaux doit être égale.

Ressources additionnelles

Les didacticiels suivants expliquent comment calculer d’autres métriques en Python :

Comment calculer une moyenne tronquée en Python
Comment calculer la moyenne géométrique en Python
Comment calculer l’erreur standard de la moyenne en Python

Ajouter un commentaire

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