• Aucun résultat trouvé

I. Présentation de la méthode

N/A
N/A
Protected

Academic year: 2022

Partager "I. Présentation de la méthode"

Copied!
8
0
0

Texte intégral

(1)

TP17 : Méthode de Monte Carlo

I Dans votre dossier Info_2a, créez le dossierTP_17.

I. Présentation de la méthode

I.1. Rappel de la loi faible des grands nombres

Loi Faible des Grands Nombres (LfGN)

Soit(Xn)n∈N une suite de variables aléatoires indépendantes de même espérancem et de même variance.

On noteXn= 1 n

n

P

i=1

Xi (moyenne empirique).

On a alors : ∀ε >0, lim

n→+∞P(|Xn−m|>ε) = 0 ou encore Xn −→P

n→+∞m

Signification dans le contexte de l’estimation

On considère X une v.a.r. dont on souhaite estimer la moyenne m.

On note (X1, . . . , Xn) un échantillon den v.a.r. toutes de même loi queX.

Afin d’estimer m, on considère l’estimateur moyenne empirique Tn=Xn. I Qu’énonce la LfGN sur l’estimateurTn?

Ce théorème affirme que l’estimateur moyenne empirique est un estimateur convergent de E(X).

I De quelle autre manière peut-on démontrer ce type de résultat surTn?

La propriété r(Tn) −→

n→+∞0 suffit à démontrer que l’estimateurTn est convergent.

I.2. Méthode de Monte-Carlo I.2.a) Principe de la méthode

La Méthode de Monte-Carlo (MMC) est simplement l’application directe de la LfGN. Plus pré- cisément, il s’agit d’approcher m par l’estimateurTn=Xnpour un n suffisamment grand.

Cas pratique d’utilisation

La méthode de Monte-Carlo est souvent utilisée pour déterminer une valeur approchée d’un intégrale difficile à calculer. Pour ce faire, on agit comme suit :

× on fait apparaître l’intégrale en question sous la forme d’une espérance, (penser au théorème de transfert)

× on approche cette espérance à l’aide de la LfGN.

Si la LfGN garantit la convergence, elle ne permet d’en mesurer la rapidité. On assortit géné-

(2)

I.2.b) Illustration sur un exemple

On souhaite déterminer une valeur approchée de I = Z 1

0

(ln(t))2 dt.

Dans la suite, on note g:t7→(ln(t))2.

I Soit U une v.a.r. telle queU ,→ U([0,1]). On noteV =g(U).

Justifier queI =E(V).

Notons

f : R → R

x 7→

1 si x∈[0,1]

0 sinon

une densité de la loi uniforme sur[0,1].

La fonctiont7→g(t)f(t)est continue sur ]0,1].

Tout d’abord :

Z +∞

−∞

g(t)f(t)dt= Z 1

0

g(t)f(t) dt

car la fonctionf est nulle en dehors de [0,1].

Lav.a.r. g(U) admet une espérance ssi l’intégrale Z 1

0

g(t)f(t) dt est absolument convergente. Commeg etf sont des fonctions positives, cela équivaut à démontrer la convergence.

SoitA >0. Par double IPP, on a : Z 1

A

(ln(t))2 dt =

t (ln(t))2 1

A

−2 Z 1

A

ln(t) dt

=

1 ln(1)2

−A (ln(A))2

−2

[t ln(t) ]1

A − Z 1

A

1 dt

= −A (ln(A))2+ 2A ln(A) + 2(1−A) −→

A→02

Ainsig(U) admet une espérance qui vaut I.

I Coder la fonction gen Scilab.

1 function y = g(x)

2 y = (log(x))2

3 enfunction

I Par quel appel peut-on simuler n v.a.r. indépendantes suivant la loi uniforme sur[0,1]? grand(1,n,"def")

(3)

I Expliquer la méthode permettant d’obtenir une valeur approchée deE(V).

L’énoncé demande donc de déterminer une valeur approchée deE(V).

L’idée naturelle pour obtenir une approximation de cette espérance est :

× de simuler un grand nombre de fois (N = 100000 par exemple) la v.a.r.V. Formellement, on souhaite obtenir un N-uplet(v1, . . . , vN) qui correspond à l’observation d’un N-échantillon(V1, . . . , VN) de la v.a.r. V.

(les v.a.r. Vi sont indépendantes et ont même loi queV)

× de réaliser la moyenne des résultats de cette observation.

Cette idée est justifiée par la loi faible des grands nombres (LfGN) qui affirme : moyenne de l’observation= 1

N PN

i=1

vi ' E(V)

I Écrire une fonction estimME1qui prend en paramètre un entiern et qui renvoie la variableT simulant l’estimateur moyenne empirique associé au problème.

1 function T = estimME1(n)

2 ObsU = grand(1,n,"def")

3 ObsV = g(ObsU)

4 T = mean(ObsV)

5 enfunction

Cela se traduit de la manière suivante enScilab:

× la ligne 2 permet d’obtenir des valeurs (u1, . . . , u100000) qui correspondent à l’ob- servation d’un100000-échantillon(U1, . . . , U100000) de la v.a.r. U.

× en ligne3, on applique la fonctiongà tous les éléments du100000-uplet précédent, ce qui permet d’obtenir des valeurs(v1, . . . , v100000) qui correspondent à l’observa- tion d’un 100000-échantillon(V1, . . . , V100000) de la v.a.r. V.

× en ligne 4, il faut calculer la moyenne de ces observations.

On complète donc cette ligne comme suit.

I Tester cette fonction8 fois de suite avec le paramètre n = 102 puis avecn = 103. 1) Avec n = 102 : 1.84 1.88 2.09 1.66 1.78 2.11 1.66 1.90 2) Avec n = 103 : 2.07 1.79 2.09 1.87 2.04 1.84 2.07 2.28 I Commenter les résultats obtenus.

On observe une certaine variabilité des résultats.

Cette variabilité semble moins forte lorsquen augmente.

I Commenter l’intérêt de l’utilisation de la MMC pour cette intégrale.

L’utilisation de la MMC pour cette intégrale a un intérêt uniquement pédagogique.

En effet, comme on sait calculerI, en trouver une valeur approchée a pour seul

(4)

I.2.c) Quantification des garanties d’approximations par le TCL

Dans le cas où l’on ne connaît pas intialement la valeur de I la méthode de Monte-Carlo ne semble pas particulièrement intéressante : on a accès à une valeur approchée de I mais pour l’instant on ne sait quelle confiance on peut accorder à la valeur obtenue (contrairement aux méthodes permettant de déterminer des valeurs approchées à 104près).

Il est donc nécessaire d’associer à la MMC un critère de validation du résultat obtenu.

C’est là que le TCL entre en jeu.

Intervalles de confiance asymptotiques via le TCL

Soit(Xn)n∈N une suite de v.a.r. :

× indépendantes,

× de même loi,

× d’espérance m,

× de variance σ26= 0.

Soitα∈ ]0,1[. On note u1−α

2 le quantile d’ordre 1−α2 de la loi N(0,1).

,→u1−α

2 est l’unique réel tel que : Φ u1−α

2

= 1−α2 i.e. u1−α

2 = Φ−1 1−α2 .

On noteXn= 1 n

n

P

i=1

Xi (moyenne empirique).

On a alors : lim

n→+∞P

Xn−u1−α

2

√σ

n 6 m 6 Xn+u1−α

2

√σ n

> 1−α

Quel sens donner à ce résultat ?

Pour plus de lisibilité, notonsεn=u1−α

2

√σ n.

Le résultat précédent signifie que pournsuffisamment grand, on a :

P

Xn−εn 6 m 6 Xnn

> 1−α ce qu’on peut écrire :

P

m ∈ [Xn−εn, Xnn]

> 1−α

Pour peu que l’on choisisseα= 0,05et donc1−α= 0.95, ce résultat signifie que le paramètre m recherché a plus de 95% de chance (on parle de niveau de confiance) de se trouver dans l’intervalle[Xn−εn, Xnn].

Il est à noter que le TCL offre une convergence rapide : les résultats obtenus sont proches de ceux attendus dès que n>30. On peut donc se débarrasser du symbole limite ( lim

n→+∞ ) pour des valeurs denpeu élevées.

Il est à noter que l’amplitude de l’intervalle[Xn−εn, Xnn]est de : (Xnn)−(Xn−εn) = 2εn= 2 u1−α

2

√σ n

Le réel εn (demi-amplitude de l’intervalle) est appelée la marge d’erreur produite par la méthode.

(5)

I Rappeler l’appel permettant le calcul deΦ−1(1−alpha/2)oùalphaest une variable donnée.

cdfnor("X",0,1,1-alpha/2,alpha/2) I Calculer l’écart-type de la v.a.r. g(U).

Par une succession d’IPP, on obtient : Z 1

0

(g(t))2 dt= 24

et doncV(g(U)) =E(g(U)2)−(E(g(U)))2 = 24−22= 20.

Ainsi,σ =√

20'4.47.

I En déduire la précision des intervalles de confiance obtenu par le TCL dans le casn1 = 102 etn2 = 103 avec alpha = 0.05.

Le TCL fournit des IC de largeur :2 u1−α

2

√σ

n '2×1.96

√20 n.

Avec n1 = 102, on obtient une largeur de : 2×1.96

√20

100 '1.75.

Avec n2 = 103, on obtient une largeur de : 2×1.96

√20

√1000 '0.55.

I Compléter le programme suivant qui simule 100 intervalles de confiance et affiche en vert ceux qui contiennent la valeur cherchée met en rouge les autres.

On l’appellera une première fois avec n = 102 puis avec n = 103 et on affichera les graphes obtenus à côté l’un de l’autre.

1 n = 102

2 m = 2

3 N = 100

4 alpha = 0.05

5

6 x0 = cdfnor("X",0,1,1-alpha/2,alpha/2)

7

8 subplot(1,2,1)

9 for i = 1:N

10 T = estimME1(n)

11 eps = x0/(2*sqrt(n))

12 if abs(T-m) <= eps then

13 plot([i, i], [T-eps, T+eps], "g")

14 else

15 plot([i, i], [T-eps, T+eps], "r")

16 end

17 end

18 plot([1, N], [m, m])

// "Astuce" pour que les ordonnées soient entre 0 et 4

(6)

I.2.d) Quantification des garanties d’approximations par le TCL, version 2

Dans les exemples précédents, on a déterminer la marge d’erreur à l’aide de la valeur exacte de σ. En pratique, on n’a pas forcément accès à la valeur de σ (cela ne semble pas forcément raisonnable de penser quem est inconnu etσ connu).

Pour autant, cela ne remet pas en cause l’utilisation de la MMC. Une idée plutôt naturelle est de remplacer la valeur de σ par l’écart-type empirique. Cette méthode est validée par le théorème suivant.

Intervalles de confiance asymptotique via le TCL

Soit(Xn)n∈N une suite de v.a.r.indépendantesidentiquement distribuées, d’espérancem et de varianceσ.

Soitα∈ ]0,1[. On note u1−α

2 le quantile d’ordre 1−α2 de la loi N(0,1). Par définition, u1−α

2 est l’unique réel tel que : Φ

u1−α

2

= 1−α2 i.e. u1−α

2 = Φ−1 1−α2 .

On noteXn= 1 n

Pn

i=1

Xi (moyenne empirique).

On noteSn2= 1 n

n

P

i=1

(Xi−Xn)2= 1 n

n P

i=1

Xi2

−Xn2 (variance empirique).

On a alors : lim

n→+∞ P

Xn−u1−α

2

Sn

√n 6 m 6 Xn+u1−α

2

Sn

√n

= 1−α

(7)

II. La méthode de Monte-Carlo aux concours

L’épreuveEDHEC 2018proposait l’étude d’une fonctionf définie par une intégrale. Plus précisé- ment, on considérait :

f :x7→

Z x

0

ln(1 +t2) dt

La Partie 1 était consacrée à l’étude classique de cette fonction : déterminer le signe de f, étudier sa régularité, étudier ses variations, étudier la parité, étudier la convexité, déterminer un équivalent en0, déterminer un équivalent en +∞. On trouvait alors la question suivante.

I On rappelle qu’enScilab, la commandegrand(1, 1, 'unf', a, b)simule une variable aléa- toire suivant la loi uniforme sur[a, b]. Compléter le scriptScilabsuivant pour qu’il calcule et affiche, à l’aide de la méthode de Monte-Carlo, une valeur approchée def(1) :

1 U = grand(1, 100 000, 'unf', 0, 1)

2 V = log(1 + U .2)

3 f = –––––

4 disp(f)

L’idée de la méthode de Monte-Carlo est de faire apparaître f(1) =

Z 1 0

ln(1 +t2)dt sous forme d’une espérance qu’on pourra alors approcher à l’aide d’une simulation informatique.

On considère U une v.a.r. telle que U ,→ U([0,1]) de densité : fU :t7→

( 1 sit∈[0,1]

0 sinon

Notons alors V la v.a.r. définie parV =g(U) = ln(1 +U2).

D’après le théorème de transfert, la v.a.r.V admet une espérance si et seulement si l’intégrale

Z 1 0

g(t) fU(t) dtest absolument convergente.

Les fonctions g etfU étant à valeurs positives, cela revient à démontrer qu’elle est convergente.

La fonction t7→g(t) fU(t)étant de classe Cm0 sur[0,1], l’intégrale Z 1

0

g(t) fU(t) dt est bien définie.

La v.a.r.V admet une espérance.

Enfin, par définition defU on obtient l’espérance deV sous la forme : E(V) =

Z 1 0

g(t) fU(t) dt = Z 1

0

ln(1 +t2)dt = f(1)

(8)

L’énoncé demande donc de déterminer une valeur approchée de E(V). L’idée naturelle pour obtenir une approximation de cette espérance est :

× de simuler un grand nombre de fois (N = 100000 par exemple) la v.a.r.V. Formellement, on souhaite obtenir un N-uplet(v1, . . . , vN) qui correspond à l’observation d’unN-échantillon (V1, . . . , VN) de la v.a.r. V.

(les v.a.r. Vi sont indépendantes et ont même loi que V)

× de réaliser la moyenne des résultats de cette observation.

Cette idée est justifiée par la loi faible des grands nombres (LfGN) qui affirme : moyenne de l’observation= 1

N

N

P

i=1

vi ' E(V)

Cela se traduit de la manière suivante en Scilab:

× la ligne1permet d’obtenir des valeurs(u1, . . . , u100000)qui correspondent à l’observation d’un100000-échantillon(U1, . . . , U100000) de la v.a.r. U.

× en ligne2, on applique la fonctiong à tous les éléments du 100000-uplet

précédent, ce qui permet d’obtenir des valeurs (v1, . . . , v100000) qui correspondent à l’observation d’un100000-échantillon (V1, . . . , V100000)de la v.a.r. V.

× en ligne3, il faut calculer la moyenne de ces observations.

On complète donc cette ligne comme suit. 3 f = mean(V)

I Modifier le script de la question précédente afin d’obtenir une valeur approchée de Z 1

0

1

1−ln(1 +t2) dt

1 U = grand(1, 100 000, 'unf', 0, 1)

2 W = 1 / (1 - log(1 + U .2) )

3 res = mean(W)

4 disp(res)

Références

Documents relatifs

(la loi forte des grands nombres énonce, sous des hypothèses plus fortes, la convergence de la moyenne empirique vers E (X) pour un mode de convergence plus fort).. I Démontrer la

Une méthode bien connue qui réduit l’erreur d’une estimation de Monte Carlo est la méthode d’échantillonnage suivant l’importance

Cela consiste à payer un montant C (convenu à l’avance entre vendeur et acheteur), pour qu’à une date fixée T (ici dans six mois), vous puissiez exercer votre droit d’acheter ou

On aimerait pouvoir arrêter le processus lorsque l'erreur de méthode est inférieure à la précision demandée. Malheureusement ce test n'est pas simple à réaliser.. Donc le

 numpy pour les fonctions array, linspace et les fonctions usuelles chargé avec l'alias np..  matplotlib.pyplot pour plot, show…… chargé avec

En général, la notation |.| n'a pour utilité que de simplier la dénition d'une fonction. Fonction

Sur une droite munie d’un repère normé (O;

5) Lire et compléter une graduation sur une demi-droite graduée, à l’aide d’entiers naturels, de décimaux, de fractions simples 1/2, 1/10, 1/4, 1/5 * ou de quotients (placement