1 Méthodes de réduction de variance pour Monte Carlo Josselin Garnier (Université Paris Diderot) Méthode de Monte Carlo : estimer par simulation une quantité qui peut s écrire sous la forme I = E[f(X)] où : - f est une fonction numérique (souvent coûteuse), - X est une variable aléatoire qu on sait simuler.
2 Exemple 1 : On a I = f(x)dx [0,1] d I = E[f(X)] avec X de loi uniforme sur [0,1] d Exemple 2 : u(t,x) solution de l équation de la chaleur : u t = 1 u, u(t = 0,x) = f(x) 2 On a u(t,x) = E[f(x+B t )] où B t est un mouvement brownien. Exemple 3 : u(t,x,v) solution de l équation du transfert radiatif (densité de particules en x avec la vitesse v) : [ φ(x,v)u(t,x,v)dxdv = E φ(x t,v t )exp ( t r(x s,v s )ds )] 0 où (X t,v t ) est un processus Markovien (V t est un processus de sauts et t X t = V t ).
3 Estimation par Monte Carlo On tire un n-échantillon (X (k) ),...,n (des réalisations indépendantes de X). Estimateur de I = E[f(X)] : Î n = 1 n f(x (k) ) Estimation non-biaisée : E[În] = I pour tout n Convergence (loi des grands nombres) : Erreur (risque quadratique) : Î n n I avec probabilité 1 E [ (În I) 2] = Var(În) = 1 n Var(f(X)) Avantages: 1) pas de régularité requise sur f (seule condition à vérifier : E[f(X) 2 < ). 2) vitesse de convergence indépendante de la dimension.
4 Intervalles de confiance Question : L estimateur În donne une valeur approchée de I, d autant meilleure que n est grand. Comment quantifier précisément l erreur? Réponse : On construit un intervalle de confiance au niveau 0.95, i.e. un intervalle [â n,ˆb n ] tel que P ( ) I [â n,ˆb n ] 0.95 Construction basée sur le théorème central limite : ) P( Î n I < c Var(f(X))1/2 n 2 c e x2 /2 dx n 2π Le membre de droite vaut 0.95 si c = 1.96. Donc ( P I [Î n 1.96 Var(f(X))1/2 n,în +1.96 Var(f(X))1/2 n ]) 0.95 0
5 ( P I [Î n 1.96 Var(f(X))1/2 n,în +1.96 Var(f(X))1/2 n ]) 0.95 Les bornes sont encore inconnues car on ne connaît pas Var(f(X))! Deux solutions : - solution conservatrice, du type Var(f(X)) f 2, et alors ( [ P I Î n 1.96 f,în +1.96 f ]) 0.95 n n - asymptotiquement, on remplace Var(f(X)) dans les bornes par son estimateur empirique ˆσ 2 n : P ( I [ Î n 1.96 ˆσ n n,în +1.96 ˆσ n n ]) 0.95 où ˆσ n = ( 1 n f(x (k) ) 2 Î2 n ) 1/2 Conclusion : Il n y a aucun intervalle borné de R dont on puisse dire avec certitude qu il contient I, mais il y a des intervalles, dits intervalle de confiance, dont on peut dire qu ils contiennent I avec une probabilité très proche de 1.
6 Techniques de réduction de variance Objectif : réduire la variance de l estimateur de Monte Carlo classique : E [ (În I) 2] = 1 n Var(f(X)) Les méthodes - Echantillonnage préférentiel - Variables de contrôle - Variables antithétiques - Stratification ont pour but de réduire la constante, en restant proches de l esprit Monte Carlo (parallélisable). Les méthodes - Quasi-Monte Carlo ont pour but de changer le 1/n. Les méthodes - Systèmes de particules en interaction s éloignent de l esprit Monte Carlo (séquentielle).
7 Echantillonnage préférentiel (importance sampling) Observation : la représentation de I comme espérance n est pas unique. Si X est à densité p : f(x)p(x) [ f(x)p(x) ] I = E p [f(x)] = f(x)p(x)dx = q(x)dx = E q q(x) q(x) L utilisateur est libre dans le choix de la densité q. Idée : Dans la situation où on sait que f(x) est surtout sensible à certaines valeurs de X, au lieu de tirer les X (k) selon la densité originale p(x) de X, on les tire selon une densité biaisée q(x) qui favorise les valeurs de X dans la zone d importance. En considérant la représentation on propose l estimateur : I = E p [f(x)] = E q [ f(x) p(x) q(x) Î n = 1 n f(x (k) ) p(x(k) ) q(x (k) ) où (X (k) ),...,n est un n-échantillon tiré selon q. Estimateur non-biaisé : E q [În] = I. ]
8 Estimateur convergent : Î n = 1 n f(x (k) ) p(x(k) ) q(x (k) ) [ n E q f(x) p(x) q(x) ] = E p [ f(x) ] = I Variance de l estimateur : Var(În) = 1 ( n Var q f(x) p(x) ) q(x) = 1 n [ ) (E p f(x) 2 p(x) ] E p [f(x)] 2 q(x) En choisissant bien q, on peut fortement réduire la variance. En fait, en choisissant (en supposant f 0) on trouve q opt (x) = f(x)p(x) I Var(În) = 0 Mais q opt (x) dépend de I! ( méthodes séquentielles/adaptatives). Points pratiques importants pour pouvoir implémenter la méthode : Il faut savoir simuler X de loi q et il faut savoir calculer le rapport de vraisemblance p(x) q(x).
9 Exemple : On veut estimer I = E[f(X)] avec X N(0,1) et f(x) = [x 3] +. I = 1 2π (x 3) + 1 e x2 2 dx = 2π 3 (x 3)e x2 2 dx 3.8210 4 Monte Carlo : Î n = 1 n On a Var(În) = 1 n 2.0310 4. (X k 3) +, X k N(0,1) Echantillonnage préférentiel : on tire X k selon la loi N(3,1). Î n = 1 n (X k 3) + e X 2 k 2 e (X k 3)2 2 = 1 n (X k 3) + e 3X k+ 9 2, Xk N(3,1) On a Var(În) = 1 n 2.4710 7. Il faut 1000 fois moins de simulations avec la méthode IS pour atteindre la même précision!
10 Exemple : On veut estimer I = E[f(X)] avec X N(0,1) et f(x) = exp(x). I = 1 2π e x e x2 2 dx = e 1 2 Ce sont les grandes valeurs de X qui sont importantes. Echantillonnage préférentiel : on tire X (k) selon la loi N(µ,1), µ > 0. Î n = 1 n [X (k) ] 2 f(x (k) ) e 2 e [X(k) µ] 2 2 = 1 N (e µ2 2µ+2 e 1) f(x (k) )e µx(k) + µ2 2 Var(În) = 1 n Monte Carlo µ = 0 : Var(În) = 1 n ( e 2 e 1) Echantillonnnage préférentiel optimal µ = 1 : Var(În) = 0.
11 Exemple : Le jeu de pile ou face Question : sur une suite de 100 lancers de pile ou face, quelle est la probabilité p que plus de 70 lancers donnent pile? Réponse : On note S le nombre de piles obtenus. La probabilité d obtenir k piles est P(S = k) = p S (k) = ( 100 k ) 2 100 On cherche p = P(S > 70) Donc p = P(S > 70) = 100 k=71 p S (k) 1.610 5
12 Imaginons maintenant qu on ne sache pas faire le calcul. Méthode de Monte Carlo. On réalise n expériences indépendantes. - on lance 100 pièces, Expérience i : - on note S (i) le nombre de piles obtenus. On compte le nombre de fois où on a eu plus de 70 piles, et on divise par n : ˆp n = 1 n 1 S (i) >70 On a ainsi un estimateur non-biaisé et convergent de p. Mais : L erreur relative est donc : Var[ˆp n ] = E [ (ˆp n p) 2] = 1 n ( p p2 ) Erreur = Var[ˆpn ] p = 1 n ( 1 p 1 ) 1/2 1 n p Il faut n 100 p 1 pour avoir une erreur realtive de moins de 10%.
13 Echantillonnage préférentiel : on utilise une pièce biaisée, dont la probabilité de faire pile est q > 1/2. Alors la probabilité de faire k piles est : ( ) P IS (S = k) = p IS 100 S (k) = k q k (1 q) 100 k On réalise n expériences indépendantes, pendant lesquelles on lance 100 pièces biaisées. On note S (i) le nombre de piles obtenus lors de l expérience i. Estmateur non-biaisé convergent : ˆp n = 1 n = 1 n 1 S (i) >70 1 S (i) >70 p S (S (i) ) p IS S (S(i) ) ( 1 2q ) S (i) ( ) 100 S (i) 1 2(1 q) Remarque : un rapport de vraisemblance peut être plus facile à calculer qu une vraisemblance!
14 On connaît tout ici, on peut donc tout calculer et vérifier analytiquement Var IS [ˆp n ] = 1 [ } p(s {E (i) ) 2 IS 1 n S (i) >70 ] p 2 p IS (S (i) ) 2 { = 1 100 ( )( ) k ( ) } 100 k 100 1 1 1 k>70 n k p 2 4q 4(1 q) k=0 La variance de l estimateur dépend explicitement du choix de q! 249 si q = 0.5 VarIS [ˆp n ] Erreur IS [ˆp n ] = = 1 8.86 si q = 0.6 p n 2.06 si q = 0.7 6.78 si q = 0.8 En choisissant bien q, l erreur peut être fortement réduite. - Il faut pousser q, pour que l événement plus de 70 piles devienne de probabilité d ordre 1. - Il ne faut pas trop pousser, car sinon les rapports de vraisemblance deviennent grands et amplifient les erreurs.
15 Remarque : si on choisit alors q opt (x) = f(x)p(x) I Var(În) = 0 Différentes méthodes (séquentielles, adaptatives,...) existent pour trouver la densité q opt (x) : - analyse théorique (style grandes déviations). - utilisation d un modèle réduit f r (x) q opt,r (x) = f r(x)p(x) I r, avec I r = f r (x)p(x)dx. - méthodes paramétriques : choisir une famille de lois biaisées, estimer ses paramètres à partir des premières simulations, puis tirer les dernières simulations pour approcher la loi estimée. - méthodes non-paramétriques : idem mais par des méthodes d estimation à noyaux ou autres. Contraintes : il faut savoir simuler q et calculer les rapports de vraisemblance. Pas facile : il faut trouver comment biaiser l entrée X pour que la sortie f(x) ait le comportement désiré.
16 Variables de contrôle dans la situation où on dispose d un modèle réduit f r (X). Supposons qu on connaisse I r = E[f r (X)]. En considérant la représentation I = E[f(X)] = I r +E[f(X) f r (X)] on propose l estimateur : Î n = I r + 1 n f(x (k) ) f r (X (k) ) Variance de l estimateur : Peut réduire beaucoup la variance. Var(În) = 1 n Var[f(X) f r(x)]
17 Exemple : on souhaite estimer I = E[f(X)] avec X U(0,1), f(x) = exp(x). Résultat : I = e 1 1.72. Monte Carlo. Î n = 1 n exp[x (k) ] Variance de l estimateur MC = 1 n (2e 1) 1 n 4.44. Variable de contrôle. Modèle réduit : f r (x) = 1+x (ici I r = 3 ). Estimateur 2 VC : Î n = I r + 1 {exp[x (k) ] 1 X (k)} n Variance de l estimateur VC = 1 n (3e e2 2 53 12 ) 1 n 0.044. Il faut donc 100 fois moins de simulations avec l estimateur VC!
18 Exemple : Méthodes de Romberg statistiques pour l estimation de I = E[f(X)] On dispose d un code léger f r en plus du code lourd f. Le rapport du coût calcul entre un appel à f et un appel à f r est q > 1. Estimateur avec n r n. Î n = 1 n r n r f r ( X (i) )+ 1 n f(x (i) ) f r (X (i) ) Allocation entre appels au code lourd et appels au code léger à optimiser sous la contrainte n r /q +n(1+1/q) = n tot. Compromis classique entre erreur d approximation et erreur d estimation. Utilisé dans le cas où f(x) est la solution d une équation différentielle stochastique discrétisée finement, avec f r (X) la solution avec un schéma de discrétisation grossier.
19 Stratification on force l échantillon à respecter exactement les proportions théoriques dans certaines strates. Méthode utilisée pour les sondages (échantillon représentatif). Ici : on souhaite estimer I = E[f(X)], X à valeurs dans D. Deux ingrédients : i) Une partition de l espace D : D = m D i. On connaît p i = P(X D i ). ii) Formule des probabilités totales : E[f(X)] = m Estimation : 1) On estime J i par n i tirages de Monte Carlo : 2) On forme l estimateur Ĵ i = 1 n i n i j=1 E[f(X) X D i ] P(X D i ) }{{}}{{} J i p i f(x (j) ), X (j) L(X X D i ) Î n = m Ĵ i p i
20 Î n = m Ĵ i p i, Ĵ i = 1 n i n i j=1 Le nombre de simulations total est n = m n i. f(x (j) ), X (j) L(X X D i ) L estimateur est non-biaisé, convergent (si n i ) et sa variance est Var ( ) m Î n = p 2 ivar(ĵi) = m p 2 i σ 2 i n i, avec σ 2 i = Var(f(X) X D i ). L utilisateur est libre de choisir les allocations n i (sous la contrainte m n i = n fixé). Stratification proportionnelle n i = p i n. Alors Var ( Î n ) SP = 1 n Or (inégalité de convexité pour x x 2 ) : Var ( Î n ) MC = 1 n Var( f(x) ) 1 n m p i σi, 2 m p i σi 2 = Var(În) SP Cependant, l allocation proportionnelle n est pas optimale!
21 L allocation optimale est celle qui minimise la variance Var(În) = m p2 i C est la solution du problème de minimisation sous contrainte : trouver (n i ),...,m minimisant m Solution (allocation optimale) : et alors On a : Var ( Î n ) p 2 i Var ( Î n ) σ 2 i n i avec n i = n SO = 1 n SO Var( Î n ) m n i = n p i σ i m l=1 p lσ l ( m ) 2 p i σ i, Problème : σ i inconnu. stratégie adaptative. SP Var( Î n )MC σ 2 i n i.
22 Exemple : on souhaite estimer I = E[f(X)] avec X U( 1,1) et f(x) = exp(x). Résultat : I = E[f(X)] = sinh(1) 1.18. Monte Carlo. Î n = 1 n exp[x (k) ] Variance de l estimateur MC = 1 n (1 2 e 2 2 ) 1 n 0.43. Stratification proportionnelle. On tire - X (1),..., X (n/2) selon U( 1,0), - X (n/2+1),..., X (n) selon U(0,1). Î n = 1 n n/2 exp[x (k) ]+ 1 n k=n/2+1 exp[x (k) ] = 1 n exp[x (k) ] Variance de l estimateur SP 1 n 0.14. Il faut 3 fois moins de simulations avec l estimateur SP.
23 Stratification non-proportionnelle. On tire - X (1),..., X (n/4) selon U( 1,0), - X (n/4+1),..., X (n) selon U(0,1). Î n = 2 n n/4 Variance de l estimateur 1 n 0.048. Il faut 9 fois moins de simulations. exp[x (k) ]+ 1 2n k=n/4+1 exp[x (k) ]
24 Variables antithétiques On cherche à calculer I = f(x)dx [0,1] d Monte Carlo avec un échantillon i.i.d. (X (1),...,X (n) ) de loi U([0,1] d ) : Î n = 1 n f(x (i) ) E [ (În I) 2] = 1 n Var(f(X)) = 1 ( ) f 2 (x)dx I 2 n [0,1] d On a aussi I = [0,1] d f(1 x)dx et I = f(x)+f(1 x) [0,1] d 2 dx Monte Carlo avec un échantillon i.i.d. (X (1),...,X (n/2) ) de loi U([0,1] d ) : Ĩ n = 1 n n/2 f(x (i) )+f(1 X (i) )
25 Estimateur de type Monte Carlo avec un échantillon ( X (1),..., X (n) ) := (X (1),...,X (n/2),1 X (1),...,1 X (n/2) ) non indépendant : Ĩ n = 1 n f( X (i) ) La fonction f est appelée n fois. E [ (Ĩn I) 2] = 1 n ( ) Var(f(X))+Cov(f(X), f(1 X)) = 1 ( ) f 2 (x)+f(x)f(1 x)dx 2I 2 n [0,1] d La variance est réduite si Cov(f(X),f(1 X)) < 0 (vrai si f monotone par exemple).
26 Exemple : La valeur exacte est I = ln2. I = 1 0 1 1+x dx Monte Carlo : Î n = 1 n 1 1+X (i) Var(În) = 1 n( 1 0 (1+x) 2 dx ln2 2) = 1 n( 1 2 ln22) 1 n 1.9510 2. Variables antithétiques : Var(Ĩn) = 2 n ( 1 0 Ĩ n = 1 n n/2 ( 1 + ) ) 1 2 dx ln2 2 2(1+x) 2(2 x) 1 1+X (i) + 1 2 X (i) 1 n 1.210 3. Il faut trois 15 fois moins de simulations avec la méthode VA.
27 Plus généralement : il faut trouver un couple (X, X) tel que f(x) et f( X) ont la même espérance et variance et Cov(f(X),f( X)) < 0. Monte Carlo avec un échantillon i.i.d. ((X (1), X (1) ),...,(X (n/2), X (n/2) )) : Ĩ n = 1 n E [ (Ĩn I) 2] = 1 n n/2 f(x (i) )+f( X (i) ) ( Var(f(X))+Cov(f(X),f( X)) ) Application récente : calcul de tenseurs effectifs en homogénéisation aléatoire (le tenseur effectif est une espérance d une fonctionnelle de la solution d une EDP elliptique en milieu aléatoire; on tire des paires antithétiques de réalisations du milieu; on gagne un facteur 3; cf C. Le Bris).
28 Suite à discrépance faible (quasi Monte Carlo) on tire l échantillon de manière moins aléatoire que MC, pour combler les trous qui se forment naturellement dans un échantillon aléatoire. Cette technique - réduit la variance si f a un peu de régularité et/ou de monotonie; on peut aller jusqu à une variance en C d (logn) s(d) /n 2, - marche en dimension pas trop grande, - représente un intermédiaire entre MC et quadrature usuelle, - en compétition avec des méthodes de quadrature creuse (Smolyak). Attention : - il n est pas facile de rajouter des points, - on n a pas d estimée d erreur (sans hypothèse supplémentaire).
29 Exemple : suites de Sobol en dimension 2. n = 100 n = 1000 n = 10000