Chapter 2M´ethodes de Monte CarloR´ef´erences:[F] Fishman, A first course in Monte Carlo, chap 2.[R] Rubinstein, Simulation and the Monte Carlo method,[B] Bouleau, Probabilit´es de l’ing´enieur, chap 4.dCadre: Soit g :R →R int´egrable. On veut calculer une valeur approch´ee deZI = g(x)dx.dRCette int´egrale peut par exemple provenir d’un probl`eme concret: en fiabilit´e, calculer la dur´eemoyenne de vie (Mean Time To Failure MTTF) est souvent impossible analytiquement.Hypoth`eses:Z21. g (x)dx < +∞.dR Z2g (x)d2. Il existe une densit´e f surR telle que dx < +∞.d f(x)R3. On sait simuler une variable al´eatoire de densit´e f et on a a` notre disposition une suite(X ) de vaiid de densit´e f.i i∈NButs:ˆ1. Donner une valeur approch´ee I de I en fonction de X ,...,X .n 1 n2. Ecrire l’algorithme.3. Etudier sa convergence et estimer l’erreur.4. Am´eliorer la vitesse et comparer a` d’autres m´ethodes de calcul d’int´egrales.2.1 Loi des grands nombres et estimateurRPour calculer I = g(x)dx, l’id´ee est de l’´ecrire comme l’esp´erance d’une fonction de ladRg(X )ivariable al´eatoire X que l’on sait simuler. On pose pour tout i∈N, Y = . Les variablesi f(X )i15al´eatoires (Y ) sont ind´ependantes et de mˆeme loi; leur esp´erance commune esti i∈N Zg(x)E(Y ) = f(x)dx =I.1d f(x)ROn pense alors au r´esultat suivant:Th´eor`eme 2.1.1 (Loi forte des grands nombres) Soit (Y ) des variables al´eatoiresi i∈N1ind´ependantes identiquement distribu´ees et ...
Re´f´erences: [F] Fishman, A first course in Monte Carlo, chap 2. [R] Rubinstein, Simulation and the Monte Carlo method, [B]Bouleau,Probabilit´esdel’inge´nieur,chap4.
d Cadre: Soitg:R→RnOevlb.egearni´tevalerunlculutcaedee´hcorpparue Z I=g(x)dx. d R Cetteint´egralepeutparexempleprovenird’unprobl`emeconcret:enfiabilite´,calculerladur´ee moyenne de vie (Mean Time To Failure MTTF) est souvent impossible analytiquement.
Hypothe`ses: Z 2 1.g(x)dx <+∞. d R Z 2 g(x) d 2.Ilexisteunedensite´fsurRtelle quedx <+∞. df(x) R 3.Onsaitsimulerunevariableal´eatoirededensite´fpoisedtrunontisietiuseea`onotan (Xi)i∈Naiiddedensit´evedf. Buts: ˆ 1.Donnerunevaleurapproche´eIndeIen fonction deX1, ..., Xn. 2. Ecrire l’algorithme. 3. Etudier sa convergence et estimer l’erreur. 4.Am´eliorerlavitesseetcomparera`d’autresm´ethodesdecalculd’int´egrales.
2.1 Loi des grands nombres et estimateur R Pour calculerI=dg(x)dxaldeu’enofcnitnoedcommel’esp´erancseeeledtce´’erir,ld´’i R g(Xi) variableale´atoireXOn pose pour toutque l’on sait simuler. i∈N,YiLes variables= . f(Xi)
15
ale´atoires(Yi)i∈Ndne´noitsuneestancecommserure´polemel;itdseˆeemndpetean Z g(x) E(Y1) =f(x)dx=I. df(x) R Onpensealorsaur´esultatsuivant: Th´eor`eme2.1.1(Loi forte des grands nombres)Soit(Yi)i∈Nesdvaesirbaelas´laeotri 1 ind´ependantesidentiquementdistribu´eesetinte´grables.Alors,presquesuˆrementetdansL,
n X 1n→+∞ Yi−→EY1. n i=1
On introduit naturellemt l’estimateursuivant: n n X X 1 1g(Xi) ˆ In=Yi=. n n f(Xi) i=1i=1 ˆ CommeE(In) =I, l’estimateur estsans biais. Soit (Xi)i∈Ntedeesuiune´tisnededdiiavf. Alors nZ X 1g(Xi)n→+∞1 ˆ In=−→I=g(x)dx p.s.et dansL . n f(Xi)R d i=1
2.2
2.2.1
Variance, erreurs et intervalle de confiance
Variance et erreurs
♣Exercice 1:Soit (Yi)i∈Nlasetae´ravslbaipe´eanndreoindsiqieuemtnetisedtn´eesdistribued P 1n ˆ Ycreieatnelraavnaesp´ceerl’ admettant un moment d’ordre 2. On poseYn=n i=1i. Calcul ˆ deYnedecneencra´eiaaravtltcoifnnoe’psdnleeY1. Calculons la variance deY1: Z Z Z 2 2 2 g(x)g(x)g(x) 2 2 2 = E(Y1)f(x)dx=dx <+∞et var(Y1) =σ=dx−I . 2 df(x)df(x)df(x) R R R 2 ˆ Onaimme´diatementvar(In) =σ /n. Th´eore`me2.2.1ralLimit`emeCent(hTe´ro)eSoit(Yi)i∈Nl´saetsoierarivaleabsed ind´ependantesidentiquementdistribu´eesetadmettantunmomentd’ordre2. Alors, pour tout −∞ ≤a < b≤+∞, ! ! n X n1 limPa≤Yi−EY1≤b=P(a≤Z≤b) = Φ(b)−Φ(a), n→+∞ var(Y1)n i=1
n ˆ Ceci implique que (In−I) converge en loi versN(0,1),et signifie ”moralement” que 2 σ 2 ˆ σ In−I'Zo`u,Znegaestuenneissuee´rtnecteuiedr´dostle.Icnanuterdli’tnorduirel’erreur n 2 2 σ1σ standard et l’erreur relative . n I n 2 Cependant, la varianceσdeed´ependgne´seet(euenncoinalern´lle,reilucitrapnIva). On donc la remplacer par l’estimateur classique de la variance: ! n n X2X 1 1 2 2 2 ˆ ˆ Estimateur de la variance:s=Yi−In=Y−nIn. n i n−1n−1 i=1i=1
2 On sait (voir cours de statistique) quesconverge p.s. n 2 2 standard et l’erreur relative, on remplace doncσpars: n
erreur standart:
2 σ ' n
2 s n n
1 erreur relative: I
2 versσ.
2 σ1 ' nˆ In
2 s n . n
Pour estimer l’erreur
ˆ ♦En pratique:Dans l’algorithme de Monte Carlo pour calculerIn, il sera judicieux d’ajouter 2 le calcul desuspmetemeˆmneriol’deontimatiesneerreur.uravpo n
2.2.2
Intervalle de confiance par TCL
On peut maintenant donner des intervalles de confiance pour notre estimation: dans l’utilisation 2 2 duthe´ore`mecentrallimite,onremplacelavarianceσpar son estimations: n n n n ˆ ˆ P(|In−I| ≤ε) =P|In−I| ≤ε'2Φε−1 2 2 2 s s s n n n Pour un intervalle de confiance au niveauα= 95%, on prend n n α+ 1 2Φε−1 =α= 0,95⇔Φε= = 0,975 2 2 s s2 n n q 2 s nn et donc2ε= 1,96, ou encoreε= 1,96. s n n " r # 2 2 s s n n ˆ ˆ L’intervalle de confiance pourIau niveau 95% estIn−1,96, In+ 1,96. n n " # 2 2 α+ 1s α+ 1s −1n−1n ˆ ˆ L’intervalle de confiance au niveauαestIn−Φ, In+ Φ. 2n2n
Pour un niveau de confianceαtene´l,xfiegrularateinl’dedelealrvecnafinocıˆorce´d Onditquelame´thodedeMonteCarloaunevitessedeconvergenceen1/ n.
2 σ /n.
♦En pratique:effebchchit´tilTedeni’lage´aripssauutpeOniserutile,etiancvaraerlramojofsi pour obtenir des intervalles de confiance.
17
2.3
Algorithme de Monte Carlo
Onsupposequ’onaa`notredispositionuneproc´eduresimulfntlemusilspeaptsnere´ffidsedtnod unesuitedevaiiddedensite´ffonction. La cdfnor("X",0,1,p,1p)donne l’inverse de la fonctionder´epartitiondelaloinormalecentre´ere´duiteenp: Z x 1 2 x=cdfnor(”X”,0,1,p,1−p)⇔P(Z≤xexp() = −t /2)dt=p, −∞2π o`uZecelamronioluaslti.teuiedr´eer´nt Dansl’algorithmequisuit,ond´ecided’unniveaudeconfianceα(proche de 1), et de la largeur de l’intervalle de confiance 2δau niveau de confianceαnombre. Le nde simulations ´ ne´cessairesestd´ecid´eparuntest,etestparcons´equental´eatoire: entre´es function [n,I,e] = montecarlo(alpha,delta) // estimation de I par montecarlo // alpha: niveau de confiance alpha, 2delta: largeur intervalle de confiance // n: nombre de simulations effectuees, I: valeur estimee, e:erreur standart p=(alpha+1)/2; z= cdfnor("X",0,1,p,1p)}; x=simulf; y=g(x)/f(x); n=1; S1=y; S2=y^2; V=(S2S1^2/n)/(n1); while (z*sqrt(V/n)>delta); x=simulf; y=g(x)/f(x); n=n+1; S1=S1+y; S2=S2+y^2; V=(S2S1^2/n)/(n1); end; I=S1/n; e=sqrt(V);
Commentaires P P n n 2 2 ocke ansS on sti=1Yid1,YdansS2, l’estimateur de la variancesdansV. Le test i=1i n 2 s n regardesilademilargeurdel’intervalledeconfianceapre`snsimulations,zpue´sesterirue n a`cellesouhait´ee,δ, auquel cas on refait une simulation.