Soit X une variable aléatoire quelconque dont la loi de probabilité est donnée par le tableau suivant :
| x_i) | x_1) | x_2) | x_3) | x_4) | x_5) | x_6) | x_7) | x_8) | x_9) |
| \P(X=x_i)\) | p_1 | p_2 | p_3 | p_4 | p_5 | p_6 | p_7 | p_8 | p_9 |
On souhaite écrire un algorithme qui calcule la variance V de la variable aléatoire X.
On note x et p les listes suivantes :
x = [ x1, x2, x3, x4, x5, x6, x7, x8, x9]
p = [ p1, p2, p3, p4, p5, p6, p7, p8, p9]
On note E(X) l'espérance de X.
Avec les notations de l'exercices, quelle est la formule de la variance de X ?
La variance d'une variable aléatoire X définie sur l'univers \Omega = \{ x_1,.......x_n\} est définie par :
V(X) = \sum_{k=1}^n x_k^2 P(X=x_k) - E(X)^2.
Dans le cas présent : \Omega = \{ x_1,.......x_9\}
Et pour tout k : P(X=x_k) = p_k
Avec les notation de l'exercice, la formule de la variance de la variable aléatoire X est donc :
V(X) = \sum_{k=1}^9 x_k^2 p_k -E(x)^2
Quelle fonction écrite en Python permet, pour x et p donnés, de calculer l'espérance de X ?
L'espérance est la somme des x_i \times p_i.
Une façon de définir une fonction Python qui calcule l'espérance de X est donc de parcourir les deux listes x et p d'ajouter au fur et à mesure du parcours les produits des éléments de même rang.
Ainsi, une fonction écrite en Python qui permet de calculer l'espérance de la variable aléatoire X est la suivante :
def esperance(x,p):
E=0
for k in range(len(x)):
E+=x[k]*p[k]
return E
Quelle fonction écrite en Python, utilisant la fonction précédente, permet, pour x et p donnés, de calculer la variance de X ?
Comme rappelé dans la question 1, la variance est la somme des x_i^2 \times p_i, le tout retranché de l'espérance de X au carré.
Une façon de définir une fonction Python qui calcule la variance de X est donc de parcourir les deux listes x et p et d'ajouter au fur et à mesure du parcours le produit x_i^2 \times p_i.
Attention à ne pas oublier de soustraire le carré de l'espérance. On peut même commencer par cela en utilisant le fonction esperance définie à la question précédente.
Ainsi, une fonction écrite en Python qui permet de calculer la variance de la variable aléatoire X est la suivante :
def variance(x,p):
V= - esperance(x,p)**2
for k in range(len(x)):
V+=p[k]*x[k]**2
return V