TP9 : Simulation de v.a.r. suivant une loi usuelle discrète via la

ECE2-B 2015-2016
TP9 : Simulation de v.a.r. suivant une loi usuelle discrète via la
fonction rand
Pré-requis : je vous invite à consulter les chapitres de cours correspondants sur ma page (support
informatique). Pour ce TP, on pourra en particulier se reporter à la section « Tracés d’histogrammes »
du CH 8.
IDans votre dossier Info_2a, créez le dossier TP_9.
I. Simulation d’une v.a.r. suivant une loi de Bernoulli
IPour quel type d’expérience définit-on une v.a.r. suivant une loi de Bernoulli ?
Considérons une expérience aléatoire possédant deux issues non forcément équiprobables.
L’une de ces issues est nommée « succès » et se produit avec probabilité p; l’autre est
nommée « échec » et se produit avec probabilité 1p.
Alors la v.a.r. Xégale à 1en cas de succès et 0en cas d’échec (i.e. calculant le nombre de
succès) suit la loi de Bernoulli de paramètre p.
IQue signifie qu’une v.a.r. Xsuit la loi de Bernoulli de paramètre p? (détailler)
X  B (p)signifie : X(Ω) = {0,1}P(X= 1) = pet P(X= 0) = 1 p
On considère la fonction Scilab suivante.
1function z= bernoulli(p)
2r = rand()
3if r < pthen
4z= 1
5else
6z= 0
7end
8endfunction
ICopier ce programme et l’enregistrer sous le nom bernoulli.sci.
Tester alors cette fonction sur plusieurs paramètres. Que renvoie-t-elle ?
Elle renvoie 1avec la probabilité pet renvoie 0avec la probabilité 1p.
IÉcrire une fonction sampleBernoulli qui :
×prend en paramètre un entier N,(représente le nombre d’observations souhaitées)
×prend en paramètre un réel pdans ]0,1[,
×renvoie un vecteur ligne vectRes contenant le résultat de la simulation de Nv.a.r. indépendantes
suivant la loi B(p).
1
ECE2-B 2015-2016
IRecopier cette fonction ci-dessous.
1function vectRes = sampleBernoulli(N,p)
2vectRes = ones(1,N)
3for i = 1:N
4vectRes(i) = bernoulli(p)
5end
6endfunction
IÉvaluer U = sampleBernoulli(10000, 0.3); Y = tabul(U, "i"). À quoi sert la commande tabul ?
On commentera en particulier la possibilité d’un argument optionnel de valeur "i" ou "d".
(on pourra se reporter à la rubrique d’aide)
L’appel tabul(U) renvoie une matrice de deux colonnes.
La première colonne liste les différentes valeurs présentes dans U.
La deuxième colonne liste l’effectif de chacune de ces valeurs.
L’argument optionnel permet de choisir l’ordre dans lequel sont listés les éléments de la
première colonne ("i" pour increasing et "d" pour decreasing).
IÉvaluer alors clf(); bar(Y(:,1), Y(:,2)).
Expliquer le fonctionnement de la fonction bar en détaillant le contenu de Y(:,1) et Y(:,2).
L’appel bar(X, Y) permet de représenter un diagramme en bâtons. Le vecteur Xreprésente
les abscisses des bâtons et le vecteur Ycontient la hauteur de chaque bâton.
ILe résultat obtenu est-il cohérent ?
Le diagramme est cohérent : 1apparaît environ 3000 fois et 0apparaît environ 7000 fois.
ILe diagramme obtenu représente l’effectif de chaque classe.
Comment modifier l’appel pour obtenir un diagramme des fréquences ?
On divise les effectifs par l’effectif global : bar(Y(:,1), Y(:,2) / N)
II. Simulation d’une v.a.r. suivant une loi binomiale
IPour quel type d’expérience définit-on une v.a.r. suivant une loi binomiale ?
On considère une expérience aléatoire qui consiste en une succession de népreuves
indépendantes, chacune d’entre elles ayant deux issues : succès obtenu avec probabilité pet
échec obtenu avec probabilité q= 1 p.
Autrement dit, l’expérience consiste à effectuer népreuves de Bernoulli identiques et
indépendantes.
Alors la v.a.r. donnant le nombre de succès de l’expérience suit la loi binomiale de
paramètre (n, p).
IQue signifie qu’une v.a.r. Xsuit la loi binomiale de paramètre (n, p)? (détailler)
X  B (n, p)signifie : X(Ω) = J0, nKet kJ0, nK,P(X=k) = n
kpk(1 p)nk
2
ECE2-B 2015-2016
IÉcrire une fonction binomiale qui :
×prend en paramètre un entier n,
×prend en paramètre un réel pdans ]0,1[,
×renvoie dans une variable zle résultat de la simulation d’une v.a.r. suivant la loi B(n,p).
On pourra utiliser la fonction sampleBernoulli.
1function z= binomiale(n,p)
2z= sum(sampleBernoulli(n,p))
3endfunction
IÉcrire une fonction sampleBinomiale qui :
×prend en paramètre un entier N,(représente le nombre d’observations souhaitées)
×prend en paramètre un entier n,
×prend en paramètre un réel pdans ]0,1[,
×renvoie un vecteur ligne vectRes contenant le résultat de la simulation de Nv.a.r. indépendantes
suivant la loi B(n,p).
1function vectRes = sampleBinomiale(N,n,p)
2vectRes = ones(1,N)
3for i = 1:N
4vectRes(i) = binomiale(n,p)
5end
6endfunction
IDétailler les commandes permettant d’obtenir le tracé d’un diagramme des effectifs à l’aide de la
fonction sampleBinomiale et de la fonction bar.
U = sampleBinomiale(N, n, p); Y = tabul(U, "i"); clf(); bar(Y(:,1), Y(:,2))
IComment peut-on obtenir le même résultat en faisant appel à la fonction histplot ?
On obtient le même tracé avec histplot(n+1, sampleBinomiale(N, n, p)).
Attention, l’appel histplot(0:n, sampleBinomiale(N, n, p)) ne convient pas :
l’interpréteur Scilab considère alors que la première calsse est [0,1] (et non pas [0,1[ !).
La fonction histplot est plus adaptée lorsque l’on simule des variables à densité.
III. Simulation d’une v.a.r. suivant une loi géométrique
IPour quel type d’expérience définit-on une v.a.r. suivant une loi binomiale ?
On considère une expérience aléatoire qui consiste en une succession infinie d’épreuves
indépendantes, chacune d’entre elles ayant deux issues : succès obtenu avec probabilité pet
échec obtenu avec probabilité q= 1 p.
Autrement dit, l’expérience consiste à effectuer une infinité d’épreuves de Bernoulli
identiques (même paramètre) et indépendantes (le résultat de l’une ne dépend pas du
résultat des autres).
Alors la v.a.r. donnant le rang d’apparition du premier succès de l’expérience suit la loi
géométrique de paramètre p.
3
ECE2-B 2015-2016
IQue signifie qu’une v.a.r. Xsuit la loi géométrique de paramètre p? (détailler)
X  G (p)signifie : X(Ω) = Net kN,P(X=k) = p(1 p)k1
On considère la fonction Scilab suivante.
1function rang = geometrique(p)
2rang = 1
3aux = bernoulli(p)
4while (aux == 0)
5rang =rang+1
6aux = bernoulli(p)
7end
8endfunction
ICopier ce programme et l’enregistrer sous le nom geometrique.sci.
Tester alors cette fonction sur plusieurs paramètres. Que calcule-t-elle ?
Elle simule une v.a.r. suivant une loi géométrique de paramètre p. Plus précisément :
×on simule les résultats successifs d’épreuves de Bernoulli de paramètre p,
×on s’arrête dès le premier succès rencontré,
×le compteur rang calcule le rang d’apparition de ce succès, qui est le résultat renvoyé.
IEst-on sûr que cette fonction s’arrête toujours ?
Si aux vaut toujours 0(les épreuves de Bernoulli produisent toutes un échec), la boucle est
infinie. Cependant, la terminaison est assurée ici car un succès a lieu presque sûrement.
IÉcrire une fonction sampleGeometrique qui :
×prend en paramètre un entier N,(représente le nombre d’observations souhaitées)
×prend en paramètre un réel pdans ]0,1[,
×renvoie un vecteur ligne vectRes contenant le résultat de la simulation de Nv.a.r. indépendantes
suivant la loi G(p).
1function vectRes = sampleGeom(N,p)
2vectRes = ones(1, N)
3for i = 1:N
4vectRes(i) = geometrique(p)
5end
6endfunction
IDétailler les commandes permettant d’obtenir le tracé d’un diagramme des effectifs à l’aide de la
fonction sampleGeometrique et de la fonction bar.
U = sampleGeometrique(N, p); Y = tabul(U, "i"); clf(); bar(Y(:,1), Y(:,2))
IPeut-on obtenir le même résultat en faisant appel à la fonction histplot ?
On ne peut prévoir à l’avance le nombre de rangs différents que l’on va obtenir par cette
simulation. On ne peut donc utiliser histplot : on ne peut spécifier le nombre de bâtons à
tracer. De manière générale, on réserve histplot lorsque l’on simule des v.a.r. à densité.
4
1 / 4 100%

TP9 : Simulation de v.a.r. suivant une loi usuelle discrète via la

La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !