TP6 : Simulation d'échantillons
|
25-04-2020, 04:30 PM
Message : #1
|
|||
|
|||
TP6 : Simulation d'échantillons
On lance 10 fois un dé non truqué
et on s'intéresse à l'apparition d'un SIX On voudrait connaître les probabilités d'obtenir 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ou 10 SIX Pour cela, on simule des échantillons de taille 10 avec la loi de Bernoulli de paramètre 1/6 Principe de la simulation L'instruction randint(1,6) génère un nombre aléatoire entier entre 1 et 6 ![]() A la première ligne, on écrira from random import * Ecriture d'une fonction échantillon La fonction échantillon() renvoie le nombre de SIX obtenu dans un échantillon de taille 10 ![]() Pour cela, on va utiliser une boucle for i in range(10) : A chaque passage dans la boucle, on va générer un nombre aléatoire entre 1 et 6 et tester si ce nombre est égal à 6 Si le nombre est égal à 6, on va ajouter 1 à un compteur (Ce compteur est une variable qui démarre à 0) ![]() ![]() ![]() en écrivant échantillon() (essayer plusieurs fois de suite) Simulation de N échantillons de taille 10 La fonction simulation(N) renvoie la fréquence de SIX obtenue dans N échantillons de taille 10 On va répéter la fonction échantillon N fois Pour cela, on va utiliser encore une boucle for i in range(N) : On utilise une liste L formée de 11 éléments Au départ, la liste ne contient que des 0 Cette liste contiendra, à la fin de la boucle, le nombre de six obtenus dans les N échantillons Pour cela, à chaque passage dans la boucle, on ajoute 1 à l'élément de la liste qui correspond au nombre de 6 obtenu dans l'échantillon (le premier élément se note L[0], ... , le onzième élément se note L[10]) ![]() ![]() ![]() en écrivant simulation(10), puis simulation(100), puis... Pour obtenir les fréquences, il faut diviser les 11 nombres de la liste par N Pour cela, on rajoute une autre boucle ![]() ![]() en écrivant simulation(10), puis simulation(100), puis... Voilà tout ce que vous devez écrire ![]() Remarque : on peut "raccourcir" l'écriture ainsi : ![]() Remarque Si on veut utiliser des échantillons de taille n (avec n pas forcément égal à 10) il fallait écrire la fonction échantillon avec le paramètre n et la fonction simulation avec 2 paramètres N et n ![]() (l'instruction L.append(0) rajoute un 0 à la liste L) ![]() |
|||