TP9 Ece2

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 7

TP 9

Simulation de variables aléatoires à densité

1 Simulation des lois usuelles 2


1.1 Fonctions Scilab . . . . . . . . . . . . . . . . . . . 2
1.2 Loi uniforme . . . . . . . . . . . . . . . . . . . . . 2
1.3 Loi normale . . . . . . . . . . . . . . . . . . . . . . 2

2 Méthode d’inversion 3
2.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Simulation de la loi exponentielle . . . . . . . . . . 3

3 Représentations graphiques 4
3.1 Comparaison histogramme des fréquences / densité 4
3.2 Comparaison fonction de répartition empirique /
théorique . . . . . . . . . . . . . . . . . . . . . . . 5

4 Exercices 6

Compétences attendues.

3 Savoir simuler une loi continue usuelle à l’aide des fonctions rand() ou grand.
3 Savoir simuler une loi continue à l’aide de la méthode d’inversion.
3 Vérifier graphiquement la pertinence d’une simulation d’une loi.

Anthony Mansuy
Professeur de Mathématiques en deuxième année de CPGE filière ECE au Lycée Clemenceau (Reims)
Page personnelle : http://anthony-mansuy.fr
E-mail : [email protected]
ECE2 Lycée Clemenceau, Reims

1 Simulation des lois usuelles


1.1 Fonctions Scilab
Scilab dispose de fonctions simulant les lois continues usuelles : les fonctions rand et grand :
Définition.

• rand() renvoie une réalisation d’une variable aléatoire suivant la loi U([0, 1]).
rand(N,M) renvoie une matrice de taille N × M contenant des réalisations de variables aléatoires
indépendantes suivant la loi U([0, 1]).
• grand(N,M,"loi",paramètres) renvoie une matrice de taille N × M contenant des réalisations de
variables aléatoires indépendantes suivant cette loi.
grand(N,M,"unf",a,b) simule la loi U([a, b]).
grand(N,M,"exp",1/lambda) simule la loi E(λ).
grand(N,M,"nor",m,sigma) simule la loi N (m, σ 2 ).

Dans la suite, on explique comment simuler les lois continues usuelles en utilisant uniquement la fonction rand.

1.2 Loi uniforme


Exercice 1
Soit a et b deux réels avec a < b. On rappelle que si U ,→ U([0, 1]), alors (b − a)U + a ,→ U([a, b]).
Écrire une fonction uniforme(a,b) simulant la loi U([a, b]) uniquement à l’aide de la fonction rand().

1.3 Loi normale


Propriété 1

(1) On suppose que U1 , . . . , U12 sont des variables aléatoires mutuellement indépendantes, suivant
X12
toutes la loi U([0, 1]). On pose X = Ui − 6.
i=1
D’après le Théorème limite central, on peut considérer que X suit approximativement la loi
normale centrée réduite.

(2) Soit m ∈ R et σ ∈]0, +∞[. Si X ,→ N (0, 1), alors σX + m ,→ N (m, σ 2 ).

Exercice 2
1. Écrire une fonction norcentreereduite() simulant la loi N (0, 1) à l’aide de la fonction rand.

2. Écrire une fonction normale(m,v) simulant la loi N (m, v) à partir de la fonction


norcentreereduite().
3. Écrire une fonction Normale(N,m,v) donnant un vecteur contenant N réalisations de la loi N (m, v).

2
ECE2 Lycée Clemenceau, Reims

2 Méthode d’inversion
2.1 Principe
Théorème 2 (Méthode d’inversion)

On suppose que X est une variable aléatoire à densité dont la fonction de répartition F est strictement
croissante de ]a, b[ (−∞ ≤ a < b ≤ +∞) sur ]0, 1[. Alors :
• F réalise une bijection de ]a, b[ sur ]0, 1[ ;

• si U ,→ U(]0, 1[), alors F −1 (U ) suit la même loi que X.

Remarques.
• La méthode d’inversion permet de simuler la plupart des variables aléatoires à densité à partir d’une
uniforme sur [0, 1].

• Les hypothèses pour appliquer cette méthode sont peu restrictives, la plus importante étant de connaitre
l’expression de la fonction de répartition (et de sa réciproque). Cette méthode ne permet donc pas de
simuler une loi normale.

Exercice 3
1. Rappeler l’expression de la fonction de répartition de U ,→ U([0, 1]).
2. Démontrer le théorème précédent.

Méthode.
Soit X une variable aléatoire à densité, F sa fonction de répartition. Supposons qu’on dispose d’une
expression explicite de F −1 . Pour simuler la variable X, on procèdera comme suit :

1. on choisit un paramètre t de manière aléatoire dans [0, 1] à l’aide de la fonction rand() ;


2. on retourne F −1 (t).

2.2 Simulation de la loi exponentielle


Exercice 4
1. Rappeler l’expression de la fonction de répartition d’une loi exponentielle, et montrer qu’elle réalise une
bijection de R∗+ sur ]0, 1[.
Déterminer sa bijection réciproque.
2. (a) Écrire une fonction exponentielle(lambda) simulant une loi E(λ) à partir de la fonction rand().
(b) Écrire une fonction Exponentielle(N,lambda) donnant un échantillon de taille N de la loi E(λ).

3. (a) Créer un vecteur contenant 10000 simulations d’une variable aléatoire suivant la loi E(1/2).
(b) En utilisant la commande mean, vérifier que l’espérance et la variance empiriques (c’est-à-dire de ce
vecteur) sont bien conformes à ce qu’on attend.

3
ECE2 Lycée Clemenceau, Reims

3 Représentations graphiques
Soit X une variable aléatoire à densité. Supposons qu’on dispose d’une fonction Loi permettant de simuler la
loi de X. Pour juger de la qualité de cette simulation, on va utiliser des représentations graphiques. Pour cela,
on procèdera comme suit :
• on crée un échantillon de taille N , c’est-à-dire un vecteur ligne x contenant N réalisations de la fonction
Loi ;

• on compare graphiquement les fréquences empiriques obtenues grâce à l’échantillon avec les probabilités
théoriques pour vérifier la pertinence de la simulation.

Remarque. Pour une variable discrète, afin de comparer nos résultats à la théorie, nous avions regroupé les
simulations par modalités, et tracé le diagramme en bâtons des fréquences. Par exemple, si x est un vecteur
contenant 10000 simulations d’une loi de Poisson de paramètre 4, on peut procéder ainsi :

1 x = grand(1,100,'poi',1)
2 y = tabul(x,'i')
3 bar(y(:,1),y(:,2)/10000)

Nous n’allons pas pouvoir procéder de cette manière dans le cas d’une variable à densité X. En effet, on a
P (X = x) = 0 pour tout x ∈ R, et chaque modalité de notre échantillon risque donc d’avoir un effectif égal à
1. Le tri par modalités n’est donc pas adapté ici, et la représentation à l’aide d’un diagramme en bâtons non
plus. Voici par exemple ce qu’on obtient pour la loi E(1) :

1 x = grand(1,100,'exp',1)
2 y = tabul(x,'i')
3 bar(y(:,1),y(:,2)/100)

Ce graphique est bien difficile à interpréter, et ne nous permet pas de reconnaître une loi exponentielle.

Nous proposons ici deux façons d’évaluer la qualité de nos simulations dans le cas de variables aléatoires
continues :
• en comparant l’histogramme des fréquences d’un échantillon à la densité théorique ;
• en comparant la fonction de répartition empirique d’un échantillon à la fonction de répartition théorique
de la loi.

3.1 Comparaison histogramme des fréquences / densité


Le nombre de modalités de notre échantillon x étant a priori très grand, chacune avec un effectif de 1. Nous
allons les regrouper par classe. Afin de définir ces classes, on fixe une suite de réels strictement croissante :

c = (c0 < c1 < · · · < cp ).

On va alors comparer :
• l’histogramme des fréquences de l’échantillon, défini par les rectangles de base les classes [ci , ci+1 ] et d’aires
les fréquences d’appartenance à ces classes pour notre échantillon x ;

• la courbe représentative d’une densité f de la loi de X.


Si notre simulation suit bien la loi attendue, on doit constater que :

4
ECE2 Lycée Clemenceau, Reims

Théorème 3 (Théorème d’or de Bernoulli)

Pour N « suffisamment grand », la fréquenceZ ci+1 observée pour la classe [ci , ci+1 ] est proche de la
probabilité théorique P (ci ≤ X ≤ ci+1 ) = f (t) dt.
ci

Graphiquement, on devrait donc observer que l’aire du rectangle de base [ci , ci+1 ], qui est égale à la fréquence
d’appartenance à cette classe, est proche de l’aire sous la courbe représentative de f entre ci et ci+1 .

On va pour cela avoir besoin des commandes suivantes :

Définition.

• Si x et c sont des vecteurs, c à composantes strictement croissantes définissant les classes, histplot(c,x)
trace l’histogramme des fréquences de x pour les classes définies par c.

• Si x est un vecteur et n un entier naturel non nul, histplot(n,x) trace l’histogramme des fréquences
de x à n classes (qui sont alors équiréparties entre la plus petite et la plus grande valeur de x).

Exercice 5
1. Simuler 10000 valeurs de la loi E(0.5) avec la fonction Exponentielle.

2. Tracer la courbe représentative de la densité f de la loi E(0.5).


3. Tracer l’histogramme des fréquences de l’échantillon obtenu (on prendra pour cela une subdivision c de
l’intervalle [0, 10] en p = 100 intervalles de même longueur).
4. Comparer l’histogramme des fréquences de l’échantillon à la courbe représentative de f .
Qu’en pensez vous ?

3.2 Comparaison fonction de répartition empirique / théorique


On propose dans cette section une deuxième méthode pour juger de la qualité de la simulation d’une loi de
probabilité à densité. On va comparer :
• la fonction de répartition empirique : il s’agit de la fonction qui à un réel x associe la fréquence d’apparition
des nombres inférieurs ou égaux à x dans l’échantillon x ;
• la fonction de répartition théorique.

Si notre simulation suit bien la loi attendue, on doit constater que :

Théorème 4 (Théorème d’or de Bernoulli)

Pour N « suffisamment grand », la fréquence observée des modalités plus petites que x est proche
de la probabilité P (X ≤ x).

Graphiquement, la courbe de la fonction de répartition empirique doit donc être proche de la courbe de la
fonction de répartition théorique si notre simulation correspond à la loi attendue.

Pour tracer la fonction de répartition empirique, nous aurons pour cela besoin de la commande suivante :

Définition.
plot2d2(x,y) effectue un tracé en escalier d’abscisse x et d’ordonnée y.

5
ECE2 Lycée Clemenceau, Reims

Méthode.
Pour tracer la fonction de répartition empirique d’un échantillon x, on procède ainsi :
y=tabul(x,"i")
plot2d2(y(:,1),cumsum(y(:,2)/length(x)))

Exercice 6
1. Expliquer les lignes de commandes proposées pour tracer la fonction de répartition empirique.
2. Simuler 10000 réalisations de la loi E(1) avec la fonction Exponentielle.
3. Tracer la fonction de répartition empirique de l’échantillon obtenu et la fonction de répartition théorique
de cette loi. Comparer.

On va maintenant tester notre simulation de la loi N (m, σ 2 ). Il nous faut pour cela tracer la fonction de
répartition théorique de cette loi. On utilise la commande Scilab suivante :

Définition.
[P,Q]=cdfnor("PQ",x,m,sigma) donne P = Φm,σ (x) et Q = 1 − P , où Φm,σ est la fonction de répartition
de la loi N (m, σ 2 ).

Exercice 7
1. Calculer Φ(0), Φ(1), Φ(1.96) à l’aide de la commande cdfnor (où Φ est la fonction de répartition de la loi
normale centrée réduite N (0, 1)).
2. Soit X une variable aléatoire suivant la loi N (3, 4).
Calculer à l’aide de la commande cdfnor les probabilités P (X > 10) et P (0 ≤ X < 4).
3. (a) Tester la simulation de la N (0, 1) en traçant les fonctions de répartition théoriques et empiriques.
(b) Même question avec la loi N (2, 9).

4 Exercices
Exercice 8
Soit X une variable aléatoire de fonction de répartition définie par :
(
0 si x < 1,
F (x) = 1
1− 2 si x ≥ 1.
x
1. Vérifier rapidement que F vérifie les conditions du théorème (a voir).
2. Déterminer la réciproque de la restriction de F à X(Ω).
3. Utiliser la méthode d’inversion pour tracer l’histogramme de la loi empirique de X.
On choisira la subdivision de classes x = [0 : 0.1 : 10].
4. Tracer la densité (théorique) de X sur le même graphique.
Comment interpréter le résultat graphique obtenu ?

Exercice 9
Soit X une variable aléatoire de fonction de répartition définie par :

 0 si x < 0,
F (x) = 2(1 − e−x ) si 0 ≤ x ≤ ln(2),
1 si x > ln(2).

6
ECE2 Lycée Clemenceau, Reims

1. Vérifier que F vérifie les conditions du théorème (a voir).


2. Déterminer la réciproque de la restriction de F à X(Ω).
3. Utiliser la méthode d’inversion pour tracer l’histogramme de la loi empirique de X.
On choisira la subdivision de classes x = [−1 : 0.01 : ln(2) + 1].
4. Tracer la densité (théorique) de X sur le même graphique.
Comment interpréter le résultat graphique obtenu ?

Vous aimerez peut-être aussi