Université Pierre et Marie Curie Année 2013-2014 Licence période 2 7 Au hasard LM206 : Initiation à Scilab Cette séance traite de quelques possibilités de simulation en probabilités et statistiques. Après la présentation du générateur aléatoire et des représentations graphiques associées, on propose des exemples de simulation de lois usuelles (continues ou discrètes) ainsi que quelques problèmes. 7.1 Le générateur aléatoire de Scilab Simulation d une loi uniforme L instruction rand de Scilab permet de simuler une loi aléatoire uniforme 1 sur ]0, 1[. L histogramme d un échantillon peut être tracé avec l instruction histplot. Exercice 1 1. Effectuer un tirage de N réalisations indépantes d une loi uniforme avec l instruction rand. Avec l instruction plot, vérifier visuellement que les valeurs choisies remplissent uniformément le segment ]0, 1[. Prre N assez grand, par exemple N = 10 000. 2. Tracer ensuite l histogramme en M classes de cet échantillon avec l instruction histplot et comparer celui-ci avec la répartition théorique. Essayer plusieurs choix de M {10, 20, N, } Exercice 2 Écrire un programme permettant de simuler une loi uniforme 2 sur ]0, 1[ ]0, 1[. Avec l instruction plot3d, vérifier visuellement que les couples choisis remplissent uniformément le carré ]0, 1[ ]0, 1[. Simulation d une loi gaussienne En prenant le troisième argument de l instruction rand égal à n, on peut simuler une loi aléatoire gaussienne. 3 Exercice 3 Effectuer un tirage de N réalisations indépantes d une loi gaussienne avec l instruction rand. Tracer ensuite l histogramme de cet échantillon avec l instruction histplot et comparer celui-ci avec la répartition théorique. 1. loi de probabilité pour laquelle tous les réels entre 0 et 1 ont la même probabilité d être choisis 2. tous les couples (x, y) avec 0 < x < 1 et 0 < y < 1 ont la même probabilité d être sélectionnés. 1 3. la probabilité de choisir un réel dans l intervalle [x, x + dx] est égale à 2π e x2 /2 dx. 1
7.2 Probabilités discrètes L instruction rand permet également de générer des lois discrètes (prenant un nombre fini de valeurs possibles) comme les lois de pile ou face ou de lancer d un dé. Exercice 4 Ecrire, en utilisant les instructions rand et int (partie entière) une fonction simulant le résultat du lancer d un dé non pipé à six faces. Pour tester la validité de cette fonction, calculer la fréquence de sortie d un chiffre entre 1 et 6 au bout de N tirages (prre N très grand). 7.3 Simulation de lois discrètes (paradoxe du chevalier de Méré) Est-il avantageux, lorsqu on joue au dé, de parier sur l apparition d un 6 en lançant 4 fois le dé? Est-il avantageux de parier sur l apparition d un double-six, quand on lance 24 fois deux dés? Le chevalier de Méré, qui était un grand joueur, avait remarqué que le premier jeu était avantageux. Se laissant abuser par un argument erroné d homothétie, le chevalier considérait que le deuxième pari était aussi avantageux : en lançant un dé, il y a 6 issues ; en lançant deux 2 dés, il y en a 36, soit 6 fois plus. Puisqu il est avantageux de parier sur l apparition d un 6 en lançant le dé 4 fois de suite, il doit être avantageux de miser sur l apparition d un double-six en lançant un dé 24 = 4 6 fois de suite. Malheureusement pour le chevalier, les règles des probabilités sont plus complexes, et c est Pascal qui calcule la vraie probabilité, très légèrement inférieure à 1/2 : le deuxième jeu n est pas avantageux! Exercice 5 En effectuant un grand nombre de simulations des deux jeux précédents, vérifier que le premier jeu est avantageux alors que le second ne l est pas, contrairement à l intuition du chevalier de Méré. Le problème des anniversaires L exercice suivant s interroge sur la probabilité que deux individus d une certaine assemblée aient la même date d anniversaire. Exercice 6 Soit une assemblée de N individus dont aucun n est né un 29 février. En effectuant un grand nombre d expériences avec l instruction rand de Scilab, donner une valeur approchée de la probabilité que dans cette assemblée, au moins deux individus soient nés le même jour. 1. Calculer cette probabilité pour N = 24. On pourra représenter graphiquement l évolution au cours du calcul de l approximation de cette probabilité obtenue en fonction du nombre d - expériences déjà réalisées. 2. Mêmes questions pour N = 35. Commenter. 2
7.4 Cours 7 Corrigé de l exercice 1 1. N=10000;Tirages=rand(N,1);plot(Tirages); 2. clf();m=10;histplot(0:m,tirages); clf();m=20;histplot(0:m,tirages); clf();m=int(sqrt(n));histplot(m,tirages); Corrigé de l exercice 2 N=100;Tirages=rand(N,N); x=1:n; y=1:n; plot3d(x,y,tirages) Corrigé de l exercice 3 clf() x=rand(200000,1, n );histplot(-6:0.1:6,x) x2=-6:0.01:6; plot(x2,1/sqrt(2*%pi)*exp(-x2.*x2/2)) Corrigé de l exercice 4 function x=de6faces(k) // k lancers d un dé à 6 faces x=int(6*rand(k,1)+1); function Ntirages=10000;x=2; compteur=0; for k=1:ntirages if De6faces(1)==x then compteur=compteur+1; -->printf( fréquence de sortie de %i = fréquence de sortie de 2 = 0.171400 -->0.171400*6 ans = 1.0284 %f,x,compteur/ntirages); Corrigé de l exercice 5 Njeux=10000;x=6; compteur1=0;compteur2=0; for i=1:njeux jeux1=de6faces(4); if (jeux1(1)==6) (jeux1(2)==6) (jeux1(3)==6) (jeux1(4)==6) then compteur1=compteur1+1; 1
ok2=0; for j=1:24 if De6faces(2)==[6;6] then ok2=1; compteur2=compteur2+ok2; -->printf( Probabilité d avoir un 6 en 4 lancers = %f: \n,compteur1/njeux); Probabilité d avoir un 6 en 4 lancers = 0.515300: -->printf( Probabilité d avoir un double 6 avec 24 tirages doubles = %f: \n,compteur2/njeux); Probabilité d avoir un double 6 avec 24 doubles tirages = 0.502400: Il est facile de montrer (faites le!) que la probabilité de gain est égale à 1 ( 5 6 )4 0.5177469 dans le premier jeu et de 1 ( 35 36 )24 0.4914039 dans le deuxième jeu. Corrigé de l exercice 6 1. function x=jour(k) // renvoie aléatoirement k jour(s) de l année // les jours sont numérotés de 1 à 365 x=int(365*rand(k,1)+1); function Ntirages=5000; N=24;cc=0; for tirage=1:ntirages x=jour(n); c=0; for i=1:n t=x(i); if c then break; else for j=i+1:n if t==x(j) then c=1;break; cc=cc+c; proba24(tirage)=cc/tirage; 2
plot((1:ntirages),proba24, r ); xgrid() Pour N = 24, on obtient une probabilité légérement supérieure à 0.54, c est à dire plus d une chance sur deux de trouver deux personnes nées le même jour de l année. Voir la figure 1. 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 FIGURE 1 Probabilité d avoir deux personnes nées le même jour de l année dans un groupe de 24 personnes. 2. Pour N = 35, il y a plus de 80% de chance de trouver deux personnes nées le même jour. On a représenté sur la figure 2 la probabilité d avoir deux personnes nées le même jour de l année en fontion de nombre N d individus dans le groupe. 3
0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 0 5 10 15 20 25 30 35 40 FIGURE 2 Probabilité d avoir deux personnes nées le même jour de l année dans un groupe de N personnes. 4