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 pour utiliser cette instruction, il faut importer le module random 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 compter le nombre de SIX, on va générer 10 fois un nombre aléatoire entre 1 et 6 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) écrire la fonction échantillon tester la fonction échantillon dans la console 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]) Ecrire la fonction simulation tester la fonction simulation dans la console 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 tester la fonction simulation dans la console 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) |
|||