RICM 4 robabilit´
es et Simulation
G´
en´
eration de variables al´
eatoires `
a valeur dans R
Exercice 1 Inverse de la fonction de r´
epartition
Soit Xvariable al´
eatoire de fonction de r´
epartition F.
1. Montrer que si Fest continue et strictement monotone alors Fest inversible. On note F−1la fonction
r´
eciproque de F.
2. Soit Uune variable al´
eatoire de loi uniforme sur [0,1[. Montrer que F−1(U)a la mˆ
eme loi que X.
3. En d´
eduire un algorithme de g´
en´
eration pour X:
(a) de loi uniforme sur [a, b[;
(b) de loi exponentielle de param`
etre λ;
(c) de loi de Weibull de fonction de r´
epartition F(x) = 1−exp(−αxβ)11(x>0).
Si Fn’est pas strictement monotone ou n’est pas continue on g´
en´
eralise la notion de fonction inverse par
F−1(u) = sup {x∈R/ F (x)< u}.
1. Montrer que pour Ude loi uniforme sur [0,1[,F−1(U)a la mˆ
eme loi que X.
2. Retrouver le r´
esultat obtenu en cours pour les lois discr`
etes (loi de Bernoulli, g´
eom´
etrique,...).
Exercice 2 M´
ethode de rejet
Soit Xune variable al´
eatoire de fonction de r´
epartition F, et dont les valeurs sont dans l’intervalle [a, b]. On note
fsa densit´
e et Fsa fonction de r´
epartition. On supposera qu’il existe un majorant hde fsur l’intervalle [a, b].
repeter
x= uniform(a,b); /*genere une variable aleatoire uniforme sur [a,b[ */
y= uniform(0,1)*h ;
jusqu’a (y <= f(x));
return x
1. Faire un ou des dessins.
2. Montrer que la valeur g´
en´
er´
ee est distribu´
ee selon la densit´
ef.
3. Quelle est la complexit´
e de cet algorithme en nombre de passages dans la boucle ? Quelle est la ”meilleure”
valeur de h?
4. Donner sur des dessins des exemples ou la complexit´
e est faible, importante.
5. Utiliser cette m´
ethode pour g´
en´
erer une variable al´
eatoire de densit´
e
(a) f(x) = 2x11[0,1](x);
(b) f(x) = π
2sin(πx)11[0,1](x);
(c) f(x) = 2
π√1−x211[−1,1](x).
6. Soit fune fonction de densit´
e d’une variable al´
eatoire Xque l’on sait g´
en´
erer par un algorithme. Montrer
que l’algorithme suivant g´
en`
ere un point distribu´
e uniform´
ement sur la surface d´
efinie entre la courbe fet
l’axe des abscisses.
X = genere_X() /*genere un ´
echantillon de X */
Y= uniform(0,1)*f(X);
return M=(X,Y);
7. Soit Xde densit´
ef. On suppose qu’il existe gune densit´
e et un coefficient htel que pour tout x,f(x)6
h∗g(x). On suppose ´
egalement que l’on est capable de g´
en´
erer une variable al´
eatoire Yde densit´
eg.
Montrer que l’algorithme suivant g´
en`
ere une variable al´
eatoire de densit´
ef.
2012 1/ 2