Simulation stochastique et m ´ethode de Monte Carlo
Afif Masmoudi
Laboratoire de probabilit ´es et statistique Universit ´e de Sfax
Journ ´ees de Statistique Math ´ematique et Data Science (JSMDS 2019)
Plan
1 M ´ethode de Monte Carlo
2 Simulation stochastique M ´ethode d’inversion M ´ethode de rejet
R ´eduction de la variance 3 MC avec variable de contr ˆole 4 Echantillonnage pr ´ef ´erentiel´ 5 Algorithme de Metropolis-Hastings
Plan
1 M ´ethode de Monte Carlo
2 Simulation stochastique M ´ethode d’inversion M ´ethode de rejet
R ´eduction de la variance 3 MC avec variable de contr ˆole 4 Echantillonnage pr ´ef ´erentiel´ 5 Algorithme de Metropolis-Hastings
Plan
1 M ´ethode de Monte Carlo
2 Simulation stochastique M ´ethode d’inversion M ´ethode de rejet
R ´eduction de la variance 3 MC avec variable de contr ˆole 4 Echantillonnage pr ´ef ´erentiel´ 5 Algorithme de Metropolis-Hastings
Plan
1 M ´ethode de Monte Carlo
2 Simulation stochastique M ´ethode d’inversion M ´ethode de rejet
R ´eduction de la variance 3 MC avec variable de contr ˆole 4 Echantillonnage pr ´ef ´erentiel´ 5 Algorithme de Metropolis-Hastings
Plan
1 M ´ethode de Monte Carlo
2 Simulation stochastique M ´ethode d’inversion M ´ethode de rejet
R ´eduction de la variance 3 MC avec variable de contr ˆole 4 Echantillonnage pr ´ef ´erentiel´ 5 Algorithme de Metropolis-Hastings
Plan
1 M ´ethode de Monte Carlo
2 Simulation stochastique M ´ethode d’inversion M ´ethode de rejet
R ´eduction de la variance 3 MC avec variable de contr ˆole 4 Echantillonnage pr ´ef ´erentiel´ 5 Algorithme de Metropolis-Hastings
M ´ethode de Monte Carlo
SoitX une v.a. et soitg :R→Rune fonction bor ´elienne telle queg(X)∈L1.
Probl `eme:Calculer num ´eriquement θ=E(g(X)) =
Z
g(x)f(x)dx avecf est la densit ´e de probabilit ´es deX.
M ´ethode de Monte Carlo
Exemples
En finance: Prix d’une option d’achat.
•Mod `ele de Black-Scholes:
c=e−rTE
S0e(r−σ2/2)T+σWT −K+ avec WT ∼ N(0,1).
En assurance:
•Prime pure:E(X);
•Prime exponentielle: 1clog E(ecX)
;
Calcul de la Value At Risk en finance: P(X < seuil).
M ´ethode de Monte Carlo
M ´ethode
Pour calculerθ=E(g(X)),
Simuler N v.a. (Xn)16n6N i.i.d. de m ˆeme loi queX, L’estimateur deθ:
θb= 1 N
N
X
i=1
g(Xi) = g(X1) +...+g(XN)
N .
θb −→p−s
N→+∞I:loi des grands nombre θb'I, pourNassez grand.
PROBL `EME: quelle est l’erreur d’estimation?
T.C.L√
N(θb−θ) −→d
N→+∞N(0, σ2); σ2=Var(g(X)).
M ´ethode de Monte Carlo
M ´ethode
Simuler N v.a. (Xn)16n6N i.i.d. de m ˆeme loi queX,
θb= 1 N
N
X
i=1
g(Xi) = g(X1) +...+g(XN)
N ,
bσN = v u u t
1 N−1
N
X
i=1
(g(Xi)−bθ)2. Intervalle de confiance :
θ∈
θb±1,96σbN
√N
.
Exemples.
Exemple 1 : Calculerθ1=Rπ
0 exsin(x)dx
1 la valeur th ´eorique : θ1= 12eπ+1=12.0703.
2 Valeur estim ´ee :θˆ1=12.1045 Exemple 2 :θ2=R R
x2+y2≤1 dx dy
1 la valeur th ´eorique : θ2=π=3.1415.
2 Valeur estim ´ee :θˆ2=3.144.
Simulation stochastique
Th ´eor `eme
(X1, ...,Xd) =
en loiΦ (U1, ...,Ud) avec
U1, ...,Ud sont ind ´ependantes et identiquement distribu ´ees selon la loi uniforme sur[0,1],
la fonctionΦest bor ´elienne et a ses points de discontinuit ´e dans un ensemble de mesure de Lebesgue nulle.
Simulation stochastique
Loi Gaussienne
SiY ∼ N(µ, σ2),alorsX = (Y −µ)/σ∼ N(0,1).
Pour simulerX etY
1 Simuler deux v.aU etV ind ´ependantes et uniformes sur [0,1];
2 Poser X =p
−2ln(U)cos(2πV), Y =p
−2ln(U)sin(2πV).
X etY sont deux v.a. ind ´ependantes et de m ˆeme loi normale centr ´ees r ´eduites.
Plan
1 M ´ethode de Monte Carlo
2 Simulation stochastique M ´ethode d’inversion M ´ethode de rejet
R ´eduction de la variance 3 MC avec variable de contr ˆole 4 Echantillonnage pr ´ef ´erentiel´ 5 Algorithme de Metropolis-Hastings
Simulation stochastique
Simuler la loi uniforme consistera `a produire par un algorithme des suites finies de nombres que nous pouvons consid ´erer comme autant de r ´ealisations ind ´ependantes de variables al ´eatoires uniformes sur[0,1].
M ´ethode d’inversion
D ´efinition
La fonction de r ´epartition deX, not ´eeFX, est d ´efinie surRpar:
∀x ∈R, FX(x) =P(X 6x).
Proposition
SoitFX la fonction de r ´epartition d’une v.a.r. X. Alors:
FX ∈[0,1].
FX est croissante.
x→−∞lim FX(x) =0 et lim
x→+∞FX(x) =1.
FX est continue `a droite et a une limite `a gauche en tout point.
Plan
1 M ´ethode de Monte Carlo
2 Simulation stochastique M ´ethode d’inversion M ´ethode de rejet
R ´eduction de la variance 3 MC avec variable de contr ˆole 4 Echantillonnage pr ´ef ´erentiel´ 5 Algorithme de Metropolis-Hastings
M ´ethode d’inversion
CommeFX est croissante, on peut d ´efinir la fonction pseudo-inverseqX deFX :
∀u∈(0,1), qX(u) = inf{x ∈R,FX(x)≥u}.
Th ´eor `eme
SiUsuit une loi uniforme sur[0,1], alorsqX(U)suit la m ˆeme loi queX.
M ´ethode d’inversion u ∼ U[0,1];
x =qX(u). : r ´ealisation deX
M ´ethode d’inversion
SiUsuit la loi uniforme sur[0,1], alors Loi uniforme sur [a,b]
X =a+ (b−a)U=qX(u) suit la loi uniforme sur[a,b].
Loi exponentielle
X =−1λln(1−U) =qX(u) suit la loi exponentielle de param `etreλ.
Loi de Cauchy
X =ctan(π(U−1/2)) =qX(u) suit la loi de Cauchy de param `etrec.
Loi de Bernoulli
siU<1−p,X =0,sinonX =1 suit la loi de Bernoulli de param `etrep ∈[0,1].
M ´ethode d’inversion
SoitX = (X1,X2)un couple al ´eatoire absolument continu de densit ´ef(x,y).
Fonction de r ´epartition deX1:
FX1(x1) = Z x1
−∞
Z
R
f(x,y)dy dx.
Fonction de r ´epartition deFXX1=x1
2 de la loi conditionnelle deX2 sachantX1=x1:
FXX1=x1
2 (x2) = Z x2
−∞
f(x1,y)dy Z +∞
−∞
f(x1,y)dy .
M ´ethode d’inversion
SiU1etU2sont deux v.a. uniformes sur[0,1]et ind ´ependantes, alors
X1=q1(U1), X2=q2(q1(U1),U2).
Plan
1 M ´ethode de Monte Carlo
2 Simulation stochastique M ´ethode d’inversion M ´ethode de rejet
R ´eduction de la variance 3 MC avec variable de contr ˆole 4 Echantillonnage pr ´ef ´erentiel´ 5 Algorithme de Metropolis-Hastings
M ´ethode de rejet
Soitf une densit ´e de probabilit ´e. On suppose qu’ il existe une densit ´egsimulable facilement et une constantek ≥1 telles que
∀x ∈R,f(x)≤k g(x).
Soitα(x) = k g(x)f(x) . Proposition
Soit(Xi)i≥1une suite de v.a. i.i.d de m ˆeme densit ´eg, et soit (Ui)i≥1une suite de v.a. i.i.d de m ˆeme loi uniforme sur[0,1], ind ´ependante de la suite(Xi)i≥1.Si
T =inf {i≥1,Ui ≤α(Xi)}, (1) alors la variable al ´eatoireXT a pour densit ´ef.
M ´ethode de rejet
M ´ethode
Soit(X1,U1)un couple de v.a. ind ´ependantes telles queX1a pour densit ´eg etU1suit la loi uniforme sur[0,1]. Si
U1≤α(X1),on choisitX =X1.
Sinon on rejetteX1et on recommence en g ´en ´erant une suite (Xn,Un)n≥2de v.a. ind ´ependantes de m ˆeme loi que(X1,U1) jusqu’ `a l’instantpo `uUp≤α(Xp).On choisit alorsX =Xp. Remarques
1 On n’a pas besoin de connaitreFX, niFX−1;
2 Elle s’ ´etend `aRd, `a des lois discr `etes, etc.
M ´ethode de rejet : Vitesse.
Calcul de la probabilit ´e d’acceptation : p=P(U ≤α(X)) = 1
k.
DoncT suit la loi g ´eom ´etrique de param `etrep.En moyenne, on doit rejeterk =1/pfois avant d’accepter la valeur. Ainsi il faut choisirgtelle que
k =max f
g
.
Exemple
Exemple plus concret. Calculerθ=E((5e(Z−1/2)−3)+)avec Z ∼ N(0,1)
1 Valeur exacte : 2.71.
2 Nombre de tirages : N=1000.
3 Valeur estim ´ee :θ=2.83.
4 Intervalle de confiance : θ∈[2.42;3.24].
Plan
1 M ´ethode de Monte Carlo
2 Simulation stochastique M ´ethode d’inversion M ´ethode de rejet
R ´eduction de la variance 3 MC avec variable de contr ˆole 4 Echantillonnage pr ´ef ´erentiel´ 5 Algorithme de Metropolis-Hastings
R ´eduction de la variance.
BUT :Calculerθ=E(Y) =E(g(X)).
Deux v.aY1etY2de m ˆeme loi queY.
1 E(Y) = 12(E(Y1) +E(Y2)) =E Y1+Y2
2
;
2 Var
Y1+Y2 2
= Var(Y1)+Var(Y42)+2Cov(Y1,Y2);
3 SiY1etY2d ´e-corr ´el ´ees ( ou ind ´ependantes ), alors Var
Y1+Y2
2
= Var(Y)2 ;
4 SiCov(Y1,Y2)<0,alorsVar
Y1+Y2 2
< Var(Y2 ).
R ´eduction de la variance.
θ= Z 1
0
g(x)dx =E(g(X)), avecX ∼ U[0,1]
X1,X2, ...,Xn: iid de m ˆeme loiU[0,1].
θˆ= 1 n
n
X
i=1
g(Xi)
R ´eduction de la variance.
θ= Z 1
0
g(1−x)dx =E(g(X))
= Z 1
0
g(x) +g(1−x)
2 dx
θ˜= 1 2n
n
X
i=1
(g(Xi) +g(1−Xi)) Var(˜θ)≤Var(ˆθ)
Variables anth ´etiques uniformes.
Approcherθ=E(g(U)) =R1
0 g(x)dx o `uU est uniforme sur [0,1].
Agorithme classique de Monte Carloavec ´echantillon de taille 2n.
M ´ethode De i =1 `a2n G ´en ´erer Ui D ´efinir Yi =g(Ui) Fin
D ´efinir θˆ= ¯Y2n= 2n1 P2n
i=1Yi etσˆ2= 2n−11 P2n
i=1(Yi−θ)ˆ2 D ´efinir I.C = [ˆθ−1.96√ˆσ
2n,θˆ+1.96√ˆσ
2n]
Variable anth ´etique uniforme.
Hypoth `eses:Y =g(U)avecU uniforme sur[0,1]. Diff ´erents r ´esultats:
θˆ= ¯Y = 1 2n
2n
X
i=1
Yi,
θ˜= ¯Zn= 1 n
n
X
i=1
Zi,avecZi =Yi+ ˜Yi,Y˜i =g(1−Ui).
R ´eduction de la variance.
Cas g ´en ´eral :
θ= Z
∆
g(x)f(x)dx, o `uf est la densit ´e deX.
x →t(x) =y : changement de variable ( bijective ) pr ´eservant la loi deX;
Y =t(X)a la m ˆeme loi queX. θ=
Z
∆
g(t−1(y))f(y)dy.
R ´eduction de la variance.
θ= 1 2
n
E(g(X)) +E(g(t−1(X))) o
,
o `uf est la densit ´e deX. θ˜= 1
2n
n
X
i=1
g(Xi) +g(t−1(Xi)) ,
Var(˜θ)≤Var(ˆθ)
EXEMPLE : OPTION KNOCK-IN
CONTRAT FINANCIER de PAYOFF g(ST) =max(0,ST −K)1ST>B. MOD ´ELE BLACK-SCHOLES ST =S0exp((r −σ2/2)T +σ√
T X),X ∼ N(0,1).
PRIX DU CONTRAT
C= e−rT E(g(ST)) = e−rTE(max(0,ST −K)1ST>B).
JEU DE PARAM ´ETERS
S0=2,K =1,B =2,5,r =0,1, σ=0.3,T =10,N=5000.
R ´ESULTATS OBTENUS
sans r ´eduction de variance: C=1.5720 (variance 5.4236), avec r ´eduction de variance: C=1.5543 (variance 1.5827).
Variable de contr ˆole
BUT:calculer θ=E(Y) =E(g(X)).
AJOUTd’une variableZ facilement simulable,
E(Z)connue ou facilement calculable (variance ”petite”).
Deux calculs possible deθ:
par la m ´ethode de Monte Carlo standard,
en posantWc =Y +c(Z −E(Z))et en calculantE(Wc) parMonte Carlo.
Question: Var(Wc)<Var(Y)?
Variable de contr ˆole
Var(Wc) =Var(Y) +c2Var(Z) +2cCov(Y,Z) Choix optimal dec:Var(Wc)<Var(Y)
On posec∗=−2Cov(Y,Z) Var(Z) c ∈(0,c∗),ˆc= c2∗
Var(Wˆc) =Var(Y)−3Cov(Y,Z)2 Var(Z) Z :variable de contr ˆole de Y.
Algorithme:
θˆN,ˆc = 1 N
N
X
i=1
(Yi+ ˆc(Zi −E(Z)))≈θ.
Probl `eme:Calcul deE(Z)?DeCov(Y,Z)?
Plan
1 M ´ethode de Monte Carlo
2 Simulation stochastique M ´ethode d’inversion M ´ethode de rejet
R ´eduction de la variance 3 MC avec variable de contr ˆole 4 Echantillonnage pr ´ef ´erentiel´ 5 Algorithme de Metropolis-Hastings
MC avec variable de contr ˆole.
M ´ethode
ETAPE 1:´ p petit−→d ´eterminer une valeur approch ´ee deˆc.
Simuler p v.a.(Yn)1≤n≤petpv.a.(Zn)1≤n≤p. Poser :
Eˆ(Z) = 1 p
p
X
i=1
Zi,Eˆ(Y) = 1 p
p
X
i=1
Yi
Vˆar(Z) = 1 p−1
p
X
j=1
(Zj−Eˆ(Z))2,
Cˆov(Z,Y) = 1 p−1
p
X
i,j=1
(Zi−E(Zˆ ))(Yj−E(Yˆ )).
MC avec variable de contr ˆole.
M ´ethode
Calculerˆc=−Cov(Y,Z) Vˆar(Z) . ETAPE 2:´ N grand .
SimulerN v.a.(Yn)1≤n≤N etN v.a.(Zn)1≤n≤N. Poser :
θˆ= 1 N
N
X
i=1
(Yi+ ˆc(Zi−Eˆ(Z)))≈θ.
Exemple
Enonc ´e´
Calculerθ=E(e(U+V)2)avecU etV sont de loi uniforme sur [0,1].
Y = e(U+V)2.
Variables de contr ˆole :Z1=U+V,Z2= (U+V)2ou encoreZ3=exp(U+V).
Exemple
X suit une loi normale de param `etres 0 et 1, θ=P(X >4) =E(1X>4).
Monte-Carlo classique:
Nombre de tirageN variant de 1000 `a 10000000.
Valeur estim ´ee : 0.
Conclusion erron ´ee: θ=0.
Valeur exacte:θ=7.6199×10−24.
Nombre de tirages n ´ecessaires de l’ordre de 1025: impossible!
Plan
1 M ´ethode de Monte Carlo
2 Simulation stochastique M ´ethode d’inversion M ´ethode de rejet
R ´eduction de la variance 3 MC avec variable de contr ˆole 4 Echantillonnage pr ´ef ´erentiel´ 5 Algorithme de Metropolis-Hastings
Echantillonnage pr ´ef ´erentiel ´
Soitf la densit ´e deX et soitψune autre densit ´e telle que Supp f ⊂Supp ψ.Alors
θ =E(g(X)) = Z
g(x)f(x)dx
= Z
g(x)f(x)
ψ(x)ψ(x)dx,
=E(h(Y)), avech(y) = g(y)f(y)
ψ(y) etY ∼ψ.
θˆ= N1 PN
i=1h(Yi)est l’estimateur deθ.
D ´efinition:hest une fonction d’importance.
Question: comment choisirψ?
Choix de la fonction d’importance.
Calcul de la variance:
Var(g(X)) = Z
g2(x)f(x)dx −θ2,
Var(h(Y)) =
Z g2(y)f2(y)
ψ(y) dy−θ2. Donc
Var(g(X))−Var(h(Y)) = Z
g2(x)
1− f(x) ψ(x)
f(x)dx.
Choix de la fonction d’importance.
PISTE:Siψ(x) = g(x)fθ(x),alors Var(h(Y)) =R
θgg(y)f2(y)f2(y)(y) dy −θ2=0!.Prendreψproche de g.f...
TH ´EOR `EME (RUBINSTEIN)
La densit ´eψqui minimise la variance est ψ(x) = |g(x)|f(x)
R|g(x)|f(x)dx.
Plan
1 M ´ethode de Monte Carlo
2 Simulation stochastique M ´ethode d’inversion M ´ethode de rejet
R ´eduction de la variance 3 MC avec variable de contr ˆole 4 Echantillonnage pr ´ef ´erentiel´ 5 Algorithme de Metropolis-Hastings
Algorithme de Metropolis-Hastings
Principe
Points Communs avec la m ´ethode d’acceptation-rejet
I f unedensit ´e cible, suivant laquelle on cherche `a simuler.
I q une densit ´e de proposition, selon laquelle on va
´echantillonner, en acceptant la proposition avec une probabilit ´e donn ´ee.
Diff ´erence
I q d ´epend de la valeur pr ´ec ´edente de l’ ´echantillon:
q() =q(.|x).
I Si la proposition `a partir dexnest refus ´ee, on pose xn+1=xn: l’ ´echantillon contiendra des valeurs r ´ep ´et ´ees.
I L’ ´echantillon correspond `a une trajectoire d’une chaˆıne de Markov.
Algorithme de Metropolis-Hastings
Algorithme de Metropolis-Hastings
Etant donn ´exn,
1. G ´en ´ereryn∼q(y |xn).
2. Choisir
xn+1=
yn avec probabilit ´eρ(xn,yn), xn avec probabilit ´e 1−ρ(xn,yn).
o `u
ρ(x,y) = min f(y)
f(x)
q(x |y) q(y |x),1
Algorithme de Metropolis-Hastings
Algorithme de Metropolis-Hastings
Th ´eor `eme
Les(xn)forment une chaˆıne de Markov. Siqest tel que cette chaˆıne est irr ´eductible, sa distribution limite estf.
I Toute loi de propositionqrendant la chaˆıne irr ´eductible convient.
I Contrairement `a l’algorithme d’acceptation-rejet, on a plus besoin d’ ´evaluermaxgf.
Le choix deqn’influe pas sur le fait qu’il y a convergence, mais il influe sur la vitesse de celle-ci. Certains choix sont privil ´egi ´es.
Algorithme de Metropolis-Hastings
Algorithme de Metropolis-Hastings ind ´ependant
I La proposition ne d ´epend pas de la valeur courante.
Etant donn ´exn,
1. G ´en ´ereryn∼q(.|xn).
2. Choisir
xn+1=
yn avec probabilit ´eρ(xn,yn), xn avec probabilit ´e 1−ρ(xn,yn).
o `u
ρ(x,y) = min f(y)
f(x)
q(x |y) q(y |x),1
Algorithme de Metropolis-Hastings
Algorithme de Metropolis-Hastings ind ´ependant
I tr `es ressemblant `a l’acceptation-rejet.
I pas de besoin d’ ´evaluermaxgf, mais on perd l’ind ´ependance entre les valeurs de l’ ´echantillon.
I La convergence sera d’autant plus rapide que la distributiongest proche def.
Algorithme de Metropolis-Hastings
Algorithme de Metropolis-Hastings par marche al ´eatoire
I La proposition suit une marche al ´eatoire sym ´etrique.
1. G ´en ´ereryn∼g(.|xn),g sym ´etrique.
2. Choisir
xn+1=
yn avec probabilit ´eρ(xn,yn), xn avec probabilit ´e 1−ρ(xn,yn).
o `u
ρ(x,y) = min f(y)
f(x),1
Algorithme de Metropolis-Hastings
Algorithme de Metropolis-Hastings par marche al ´eatoire
I la probabilit ´e d’acceptation ne d ´epend plus deg.
I approche tr `es simple qui peut ˆetre utilis ´ee quandf est tr `es mal connue, contrairement `a l’algorithme ind ´ependant:
espaces de grande dimension et /ou espaces d’objets discrets.