Fiche de révision

Algorithmique, programmation et variables aléatoires

A Simuler une réalisation selon une loi de probabilité donnée

Tableau de 2 lignes, 4 colonnes ;Corps du tableau de 2 lignes ;Ligne 1 : xi; −1; 2; 4; Ligne 2 : pi; 2/3; 1/6; 1/6;

On considère la variable aléatoire X dont la loi de probabilité est donnée dans le tableau ci-contre.

Pour simuler une réalisation de la variable aléatoire X, on peut utiliser le générateur de nombres pseudo-aléatoires du tableur, ALEA(), ou de Python, random(), qui produit un nombre au hasard dans [0, 1[. Il suffit de partager l'intervalle [0, 1[ en trois parties de longueurs égales à chaque valeur pi comme sur la figure ci-contre.

15400_C06_19_stdi

La simulation consiste alors à tirer un nombre au hasard entre 0 et 1 et à renvoyer la réalisation de X correspondant à la zone dans laquelle se situe le nombre tiré.

Tableau de 2 lignes, 2 colonnes ;Corps du tableau de 2 lignes ;Ligne 1 : Simulation avec un tableur; Simulation avec Python; Ligne 2 : En cellule A1, on entre la formule :=ALEA()En cellule B1, on entre la formule :=SI(A1<2/3;-1;SI(A1<5/6;2;4))La valeur affichée en B1 est une réalisation de X.; from random import randomdef simulX():    u = random()    if u < 2 / 3:        return(-1)    elif u < 5 / 6:        return(2)    return(4);

Remarque

Avec Python, on peut directement utiliser la fonction choices du module random pour obtenir une liste de n réalisations de la variable aléatoire X par :

choices([-1, 2, 4], [2/3, 1/6, 1/6], k = n).

B Simuler une réalisation selon une loi de Bernoulli

Il s'agit d'un cas particulier du cas précédent. La variable aléatoire X prend la valeur 1 (« succès ») avec la probabilité p et la valeur 0 avec la probabilité 1 − p.

On partage l'intervalle [0, 1[ en deux parties de longueurs p et 1 − p.

15400_C06_20_stdi

La simulation consiste alors à tirer un nombre au hasard entre 0 et 1 et à renvoyer 1 si le nombre tiré est dans l'intervalle [0, p[ et 0 si le nombre tiré est dans [p, 1[.

Tableau de 2 lignes, 2 colonnes ;Corps du tableau de 2 lignes ;Ligne 1 : Simulation avec un tableur; Simulation avec Python; Ligne 2 : En cellule A1, on entre la valeur de p.En cellule A2, on entre la formule :=SI(ALEA()<$A$1;1;0)La valeur affichée en A2 est une réalisation de X.; from random import randomdef bernoulli(p):    if random() < p:        return 1    else:        return 0;

Pour lire la suite

Je m'abonne

Et j'accède à l'ensemble
des contenus du site