Corrections TD

TD2

Exercice 2

Question b)

La loi de Wigner a une densité \(f(x)=\sqrt{4-x^2}/2\pi\) sur \([-2,2]\). On va d’abord simuler des valeurs suivants cette loi. On va faire cette simulation manuellement (au contraire d’autres lois déjà prédifinies sur R, comme la fonction rnorm() qui permet de simuler des valeurs suivants la loi Normale).

La courbe de la densité est de la forme:

L’idée pour simuler un nombre fixe des valeurs suivant cette loi est de générer un des points sur le rectangle de la figures ci dessus, si le point est au dessous de demi cercle on le garde, sinon on le rejette.

Pour simuler un point on génére son abscisse et son ordonné selon la loi uniforme. Le point est en dessous du demi cerle si son ordonné est inférieur à \(\sqrt{4-abscisse^2}/2\pi\)

Ensuite pour montrer la loi des grands nombres on calcule la moyenne cumulative qui doit converger vers l’espérance théorique (qui est 0)

Exercice 3

Il faut calculer \(I_1 = \int_0^1 cos(x^3) exp(-x) dx\). Ce qui correspont à l’aire de la région en bleu de la figure suivante

Première méthode

Selon la méthode de Monte Carlo:

\[ I_1 = \int_0^1 cos(x^3) exp(-x) dx = \int_\mathbb{R} cos(x^3) exp(-x) \times 1_{[0,1]}(x) dx = \frac{1}{N} \sum_{i=1}^N cos(x_i^3) exp(-x_i) \]\(x_i\) est une valeur d’une variable aléatoire suivant la loi uniforme sur \([0,1]\), et \(N\) est très grand. Donc

## valeur approchée de I_1 =  0.6049842

Deuxième méthode

Ce qu’on va faire maintenant est de simuler beaucoup des points dans le carré entre 0 et 1. L’aire qu’on souhaite calculer sera la proportion des points qui est dans la région bleue de la figure suivante divisée par l’aire de rectange rouge (donc 1) :

## valeur approchée de I_1 =  0.6027

Remarque: A savoir qu’ici on considère pour chaque point généré on a une épreuve de Bernoulli qu’on peut appeler \(S\) qui vaut 1 si le point est en dessous de la courve et 0 sinon. On va se baser sur ce principe dans les exercices suivants.

Exercice 5

Question 1

Ici on génére des points sur le carré [-1,1] x [-1,1]. Nous souhaitons calculer \(E(1_{X\in D})\). Appelons \(S = 1_{X\in D}\) une variable aléatoire (qui vaut 1 si le point est dans le disque et 0 sinon). A savoir que \(S\) est une variable qui suit la loi de Bernoulli de paramètre \(p\). Donc \(E(S)=p\). On va générer selon la loi uniforme des points dans le carré et estimer \(p\) par la proportion des points à l’intérieur du disque.

Remarques:

  • L’équation du cercle est \(x^2+y^2=1\) et son aire est \(\pi R^2 = \pi\).
  • \(p\) vaut théoriquement \(\pi/4\). L’aire de disque divisée par l’aire de carré.

## valeur approchée de E =  0.792

MàJ: Pour aider à la compréhension de l’approche on peut voir dans la figure à gauche les points générés selon les lois uniformes sur [-1,1]. Dans la figure à droite on a colorié les points selon la condition \(x^2+y^2 < 1\).

Remarque: d’autre part: \(\pi/4 =\) 0.7853982.

Question 2

On souhaite approximer \(V(S)\) qui vaut théoriquement \(p(1-p)=\frac{\pi}{4}(1-\frac{\pi}{4})\)=0.1685479.

Pour se faire on va utiliser deux variables aléatoires \(S_1\) et \(S_2\) suivant la loi uniforme sur [-1,1] et indépendantes. A remarque qu’on peut se servir de ces deux lois pour calculer \(V(S)\) car \(V(S) =\frac{1}{2}V(S_1-S_2)\) car \(V(S_1-S_2) = V(S_1) + V(S_2)\) et \(V(S_1)=V(S_2)\) car \(S_1\) et \(S_2\) sont indépendantes et ont la même loi.

A remarquer aussi que \(\frac{1}{2}V(S_1-S_2) = \frac{1}{2} E[(S_1-S_2)^2]\).

Donc

## valeur approchée de E =  0.176

Question 3

TD3

Simulation de variables aléatoires par inversion de la fonction de répartition

Pour simuler (générer) une variable aléatoire \(X\) de loi de répartition \(F\) dont on sait calculer l’inverse généralisée \(F^{-1}\), on peut simuler une variable aléatoire de loi uniforme \(U\) sur l’intervalle \([0,1]\) et poser \(X=F^{-1}(U)\).

Exercice 2

Loi Exponentielle \(\mathcal{E}(1)\)

  • Densité: \(f(x)=e^{-x} \times 1_{\mathbb{R}^+}\)
  • Fonction de répartition réciproque: \(F^{-1}(x)=- \ln(1-x)\)
  • Remarque: Si \(U \thicksim \mathcal{U}(0,1)\) alors \(1-U \thicksim \mathcal{U}(0,1)\)

Simulation de variables aléatoires par la méthode du rejet

Rappels : Principe de la méthode du rejet Pour simuler (ou générer) une variable aléatoire de densité \(f\) bornée par \(M\) et à support compact sur \([a,b]\), on simule des variables aléatoires uniformes sur \([a,b]\times[0,M]\) (qui représente le pavé contenant le graphe de \(f\)), jusqu’à ce que l’un des points tirés appartiennent à l’hypographe de \(f\). On prend alors pour réalisation de la loi \(f\) l’abscisse de ce point.

Exercice 5

La loi de Wigner a une densité \(f(x)=\sqrt{4-x^2}/2\pi\) sur \([-2,2]\). On va d’abord simuler des valeurs suivants cette loi. On va faire cette simulation manuellement (au contraire d’autres lois déjà prédifinies sur R, comme la fonction rnorm() qui permet de simuler des valeurs suivants la loi Normale).

La courbe de la densité est de la forme:

L’idée pour simuler un nombre fixe des valeurs suivant cette loi est de générer un des points sur le rectangle de la figures ci dessus, si le point est au dessous de demi cercle on le garde, sinon on le rejette.

Pour simuler un point on génére son abscisse et son ordonné selon la loi uniforme. Le point est en dessous du demi cerle si son ordonné est inférieur à \(\sqrt{4-abscisse^2}/2\pi\)

Vérification de la simulation par un histogramme:

Extra 1: Simulation de la loi normale centrée réduite

La fonction réciproque de la fonction de répartition de la loi normale centrée réduite n’est pas calculable analytiquement. Une façon pour simuler cette loi est d’utiliser la méthode de rejet.

La courbe de la loi normale centrée réduite est toujours en dessous de la courbe de la loi exponentielle de paramètre 1:

L’idée est de simuler des points qui sont en dessous de la densité de la loi exponentielle. Donc les abscisses suivent la loi exponentielle, les ordonnés suivent la loi uniforme sur \([0,1]\), et on multiplie les ordonnés par la densité exponentielle \(e^{-x}\) pour avoir les points simulés en dessous de la densité exponentielle. On obtiens le suivant:

Ensuite, on rejette les points que sont entre les deux courbes:

Comme vous l’avez remarqué, on garde les points en dessous de la densité normale, mais ceux ci ne couvrent que la partie \(\mathbb{R}^+\) de la loi normale centrée réduite. C’est pour cela qu’on rajoute une condition alétoire qui permet de garder l’opposé de l’abscisse avec une chance 1/2 : if (runif(1)<0.5){X[i]=-X[i]}.

Simulons maintenant des valeurs un échantillon pour voir si on génére bien une variable alétoire normale centrée réduite.

TD4

On va appliquer sur l’exemple suivant: Soit \(I = \int_0^1 e^x dx = E[e^U] = E[f(U)] \quad \text{où} \, U \thicksim U(0,1)\)

Remarque: la valeur théorique de \(I\) est \(e-1\approx 1.72\).

Estimation par MC:

\[I = E[e^U] = \frac{1}{N}\sum_{i=1}^N e^{u_i} \quad \text{où les } u_i \thicksim U(0,1) \]

## valeur approchée de I par MC simple =  1.728177

Calculons la variance de cet estimateur MC simple:

## variance de l'estimateur MC simple =  0.2473273

Réduction de variance par variable de contrôle

L’idée est d’écrire

\[ E[f(X)] = E[f(X)-h(X)] + E[h(X)]\]

  • \(E[h(X)]\) explicite
  • \(V[f(X)-h(X)] << V[f(X)]\)
  • intuituivement \(f(X)\) et \(h(X)\) proches.

Donc pour I, on va considérer \(f(U)= e^U\). On va choisir \(h(U)=1+U\) comme \(e^x \approx 1 + x\) près de 0 (dl d’ordre 1).

  • D’une part \(E[h(U)] = E[1+U] = 3/2\).

  • Donc \(I = E[f(U)-h(U)]+ E[h(U)] = E[e^U -1 -U] + E[h(U)]= \int_0^1 (e^x - 1 - x) dx + \frac{3}{2}\)

  • On calcule \(\int_0^1 (e^x - 1 - x) dx\) par la méthode MC \(= \frac{1}{N} \sum_{i=1}^N (e^{u_i}-1-u_i)\)\(u_i \thicksim U(0,1)\).

Donc

\[I= \frac{1}{N} \sum_{i=1}^N (e^{u_i}-1-u_i) + \frac{3}{2}\]

Nous remarquerons que

  • Pour MC simple, \(V[f(U)]=V(e^U) \approx 0.242\)

  • Pour MC avec variable de contrôle \(V[f(U)-h(U)] = V[e^U-1-U] = ... \approx 0.0436\)

## valeur approchée de I par MCVC =  1.72302
## variance de l'estimateur MCVC =  0.04471738

Affichons maintenant les estimations par les deux méthodes en fonction de N:

Maintenant testons une variable de contrôle d’ordre supérieur. On prends \(h(U)=1+U + \frac{U^2}{2!}\).

## valeur approchée de I par MCVC d'ordre 2 =  1.719774
## variance de l'estimateur MCVC d'ordre 2 =  0.003752648

Réduction de variance par variables antithétiques

L’idée est que si on calcule \(I = \int_0^1 f(x) dx\) on prend \[I = \frac{1}{2} \int_0^1 (f(x)+f(1-x)) dx\] Et donc \(I = \frac{1}{2N} \sum_{i=1}^N (f(U_i)+f(1-U_i))\)

## valeur approchée de I par MC variables antithétiues =  1.718955
## variance de l'estimateur MCA =  0.01553028

Exemple supplémentaire

Soit \(I = \int_0^2cos(x)dx\)

Remarque: l’exemple est à travailler sur papier d’abord. Attention on calcule l’intégrale entre 0 et 2.

## [1] 0.8839422
## [1] 0.7853686
## [1] 0.9140276
## [1] 0.09827291
## [1] 0.9090616
## [1] 0.001534122
## [1] 0.9057011

Mohamad Ghassany