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 l'écart type \sigma 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 et V(X) sa variance.
Avec les notations de l'exercice, quelle est la formule de l'écart type de X ?
L'écart type d'une variable aléatoire X est définie comme la racine carrée de la variance.
Pour écrire un algorithme calculant la variance d'une variable aléatoire X, il faut également calculer la variance et donc l'espérance.
La variance d'une variable aléatoire X définie sur l'univers \Omega = \{ x_1,.......x_n\} est donc définie par :
\sigma = \sqrt{V(X)}
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 et 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 et 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 la 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
Quelle fonction écrite en Python et utilisant les fonctions précédentes permet, pour x et p donnés, de calculer l'écart type de X ?
Comme rappelé dans la question 1, l'écart est la racine carrée de la variance.
Il suffit donc d'appeler la fonction variance et de calculer sa racine carrée.
Ainsi, une fonction écrite en Python qui permet de calculer l'écart type de la variable aléatoire X est la suivante :
def ecartype(x,p):
sigma= sqrt( variance(x,p))