Méthode de Monte Carlo.
Transcription
Méthode de Monte Carlo.
M ÉTHODE DE M ONTE C ARLO . Alexandre Popier Université du Maine, Le Mans A. Popier (Le Mans) Méthode de Monte Carlo. 1 / 95 P LAN DU COURS 1 2 M ÉTHODE DE M ONTE C ARLO P ROBLÈME DE SIMULATION Théorème fondamental Simulation de la loi uniforme Fonction de répartition Méthode d’inversion Cas particuliers Vérifications Méthode de rejet Lois gaussiennes 3 R ÉDUCTION DE VARIANCE Variables antithétiques Variables de contrôle Monte Carlo conditionnel Échantillonnage d’importance Échantillonnage stratifié A. Popier (Le Mans) Méthode de Monte Carlo. 2 / 95 B UT : CALCUL D ’ ESPÉRANCE . Soient X une v.a.r. et f : R → R une fonction. B UT Calculer numériquement E(f (X )). E XEMPLES F INANCE : prix d’une option d’achat I modèle de Cox-Ross-Rubinstein : !+ N Y 1 . E S0 Ti − K C= (1 + r )N i=1 I P(Ti = 1 + u) = p = 1 − P(Ti = 1 + d) où p = (u − r )/(u − d). modèle de Black-Scholes : + −rT (r −σ 2 /2)T +σWT C = e E S0 e −K avec WT ∼ N (0, T ). A. Popier (Le Mans) Méthode de Monte Carlo. 3 / 95 B UT : CALCUL D ’ ESPÉRANCE . Soient X une v.a.r. et f : R → R une fonction. B UT Calculer numériquement E(f (X )). E XEMPLES F INANCE : prix d’une option d’achat A SSURANCE : calcul de la prime I I I Prime pure : E(X ), Prime exponentielle : 1c ln E(ecX ), Prime quantile : FX−1 (1 − ε), C ALCUL DE PERTE ou Value At Risk en finance : P(X < seuil). etc. A. Popier (Le Mans) Méthode de Monte Carlo. 3 / 95 P LAN 1 2 M ÉTHODE DE M ONTE C ARLO P ROBLÈME DE SIMULATION Théorème fondamental Simulation de la loi uniforme Fonction de répartition Méthode d’inversion Cas particuliers Vérifications Méthode de rejet Lois gaussiennes 3 R ÉDUCTION DE VARIANCE Variables antithétiques Variables de contrôle Monte Carlo conditionnel Échantillonnage d’importance Échantillonnage stratifié A. Popier (Le Mans) Méthode de Monte Carlo. 4 / 95 L OI DES GRANDS NOMBRES . T HÉORÈME Soit (Yi )i∈N une suite de variables aléatoires. H YPOTHÈSES indépendance distribution identique (comme une v.a. Y ) E(|Y |) < +∞. Alors presque sûrement : lim Yn = lim n→+∞ n→+∞ 1 (Y1 + . . . + Yn ) = E(Y ). n Autrement dit, pour n assez grand n 1X Yi ≈ E(Y ). n i=1 A. Popier (Le Mans) Méthode de Monte Carlo. 5 / 95 M ÉTHODE DE M ONTE C ARLO . M ÉTHODE Pour calculer µ = E(f (X )), simuler N v.a. (Xn )1≤n≤N i.i.d. de même loi que X , poser : N 1X f (X1 ) + . . . + f (XN ) µ̂N = f (Xi ) = . N N i=1 Loi des grands nombres : µ̂N ≈ µ pour N grand. P ROBLÈME : quelle est l’erreur commise ? A. Popier (Le Mans) Méthode de Monte Carlo. 6 / 95 L OI EXPONENTIELLE (2) ( ESPÉRANCE 1/2) A. Popier (Le Mans) Méthode de Monte Carlo. 7 / 95 L OI DE PARETO (0,5) PAS D ’ ESPÉRANCE A. Popier (Le Mans) Méthode de Monte Carlo. 8 / 95 T HÉORÈME CENTRAL LIMITE . T HÉORÈME Soit (Yi )i∈N une suite de v.a. H YPOTHÈSES indépendance distribution identique (comme une v.a. Y ) E(|Y |2 ) < +∞. Alors Yn ∼ = N (0, 1) : pour tout a < b √ Yn − µ lim P a < n <b n→+∞ σ A. Popier (Le Mans) ! = P(a < Z < b), Z ∼ N (0, 1). Méthode de Monte Carlo. 9 / 95 I NTERVALLE DE CONFIANCE . TCL : µ = E(Y1 ), Y n = n1 (Y1 + . . . + Yn ) ! √ Yn − µ σ σ ≤a P Yn − a√ ≤ µ ≤ Yn + a√ = P −a ≤ n σ n n ≈ P(|Z | ≤ a), où σ 2 = Var(f (X )). Pour un niveau de confiance α ∈ [0, 1] fixé, il existe cα > 0 tel que P(|Z | ≤ cα ) = α. Donc avec a = cα , pour n grand P (µ ∈ Iα,n ) ≈ P(|Z | ≤ cα ) = α avec Iα,n σ σ : intervalle de confiance. = Y n − cα √ , Y n + cα √ n n A. Popier (Le Mans) Méthode de Monte Carlo. 10 / 95 M ÉTHODE DE M ONTE C ARLO : ERREUR . M ÉTHODE Simuler N v.a. (Xn )1≤n≤N i.i.d. de même loi que X . Poser : N f (X1 ) + . . . + f (XN ) 1X f (Xi ) = . µ̂N = N N i=1 Erreur donnée par un intervalle de confiance : P µ ∈ Iα,N ≈ α avec Iα,N σ σ √ √ = µ̂N − cα , µ̂N + cα , N N σ 2 = Var (f (x)). Problème : on ne connaît pas en général la variance σ 2 . A. Popier (Le Mans) Méthode de Monte Carlo. 11 / 95 E STIMATION DE LA VARIANCE . n 1 X (Yi − Y n )2 . On peut n−1 On estime σ 2 grâce à l’estimateur Sn2 = i=1 montrer que ESn2 = σ 2 = Var(Y ) et lim Sn2 = σ 2 . n→+∞ M ÉTHODE Simuler N v.a. (Xn )1≤n≤N i.i.d. de même loi que X . Poser : v u u σ̂N = t N 1 X (f (Xi ) − µ̂N )2 . N −1 i=1 A. Popier (Le Mans) Méthode de Monte Carlo. 12 / 95 M ÉTHODE DE M ONTE C ARLO COMPLÈTE . M ÉTHODE 1 Simuler N v.a. (Xn )1≤n≤N i.i.d. de même loi que X . 2 Poser : N 1X f (X1 ) + . . . + f (XN ) f (Xi ) = , N N i=1 v u N u 1 X t σ̂N = (f (Xi ) − µ̂N )2 . N −1 µ̂N = i=1 3 Erreur donnée par intervalle de confiance avec niveau de confiance α σ̂N σ̂N Iα,N = µ̂N − cα √ , µ̂N + cα √ . N N A. Popier (Le Mans) Méthode de Monte Carlo. 13 / 95 L OI EXPONENTIELLE (2) ( ESPÉRANCE 1/2) A. Popier (Le Mans) Méthode de Monte Carlo. 14 / 95 √ L OI EXPONENTIELLE (2) ( DÉCROISSANCE EN 1/ N ) A. Popier (Le Mans) Méthode de Monte Carlo. 15 / 95 PARETO (1,5) ( ESPÉRANCE 3, PAS DE VARIANCE ) A. Popier (Le Mans) Méthode de Monte Carlo. 16 / 95 PARETO (1,5) ( TAILLE INTERVALLE CONFIANCE ) A. Popier (Le Mans) Méthode de Monte Carlo. 17 / 95 M ÉTHODE DE M ONTE C ARLO : REMARQUES . O BLIGATOIRE Donner µ̂N sans intervalle de confiance n’a aucune valeur ! E RREUR Pour diminuer la taille de IC, diminuer le niveau de confiance α, augmenter N, diminuer σ (−→ réduction de variance). AVANT : S IMULATION Que signifie « Simuler N v.a. (Xn )1≤n≤N i.i.d. de même loi que X » ? A. Popier (Le Mans) Méthode de Monte Carlo. 18 / 95 P LAN 1 2 M ÉTHODE DE M ONTE C ARLO P ROBLÈME DE SIMULATION Théorème fondamental Simulation de la loi uniforme Fonction de répartition Méthode d’inversion Cas particuliers Vérifications Méthode de rejet Lois gaussiennes 3 R ÉDUCTION DE VARIANCE Variables antithétiques Variables de contrôle Monte Carlo conditionnel Échantillonnage d’importance Échantillonnage stratifié A. Popier (Le Mans) Méthode de Monte Carlo. 19 / 95 P LAN 1 2 M ÉTHODE DE M ONTE C ARLO P ROBLÈME DE SIMULATION Théorème fondamental Simulation de la loi uniforme Fonction de répartition Méthode d’inversion Cas particuliers Vérifications Méthode de rejet Lois gaussiennes 3 R ÉDUCTION DE VARIANCE Variables antithétiques Variables de contrôle Monte Carlo conditionnel Échantillonnage d’importance Échantillonnage stratifié A. Popier (Le Mans) Méthode de Monte Carlo. 20 / 95 T HÉORÈME FONDAMENTAL DE LA SIMULATION . T HÉORÈME Toute variable aléatoire X à valeurs dans Rd peut être simulée sous la forme X = f (U1 , U2 , . . . , Un ) en loi où (U1 , U2 , . . . , Un ) est uniformément répartie sur [0, 1]n , la fonction f : Rn → Rd est borélienne et a ses points de discontinuité dans un ensemble Lebesgue-négligeable. Il est même possible de réaliser ceci en imposant n = 1 ou n = d ou encore n ≥ 1 donné. R EMARQUE : f est « explicite ». A. Popier (Le Mans) Méthode de Monte Carlo. 21 / 95 P LAN 1 2 M ÉTHODE DE M ONTE C ARLO P ROBLÈME DE SIMULATION Théorème fondamental Simulation de la loi uniforme Fonction de répartition Méthode d’inversion Cas particuliers Vérifications Méthode de rejet Lois gaussiennes 3 R ÉDUCTION DE VARIANCE Variables antithétiques Variables de contrôle Monte Carlo conditionnel Échantillonnage d’importance Échantillonnage stratifié A. Popier (Le Mans) Méthode de Monte Carlo. 22 / 95 S UITES ALÉATOIRES . Considérons une suite finie x := x1 , . . . , xn ∈ {0, 1}. Toutes les suites finies de ce type sont équiprobables et de probabilité 2−n . Certaines suites moins aléatoires que d’autres 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0 Quel sens donner et comment quantifier le caractère aléatoire d’une suite finie ou infinie donnée ? Comment produire des suites finies qui sont de « bonnes » approximations finies des suites infinies probables correspondant à des réalisations i.i.d. d’une loi donnée ? Comment mesurer la qualité de ces algorithmes ? A. Popier (Le Mans) Méthode de Monte Carlo. 23 / 95 S UITES ALÉATOIRES . D.H. Lehmer (1951) : A random sequence is a vague notion... in which each term is unpredictable to the uninitiated and whose digits pass a certain number of tests traditional with statisticians... A. Popier (Le Mans) Méthode de Monte Carlo. 23 / 95 N OMBRES PSEUDO - ALÉATOIRES . Simuler la loi uniforme consistera à produire par un algorithme des suites finies de nombres que nous pouvons considérer comme autant de réalisations indépendantes de variables aléatoires uniformes sur [0, 1]. Mathématiquement les n sorties successives d’un tel générateur seront considérées comme la donnée de U1 (ω), . . . , Un (ω) pour un ω ∈ Ω où les Ui sont des v.a.r. Ui : (Ω, F, P) → [0, 1] de loi uniforme. Matlab permet de simuler la loi uniforme via la fonction rand, qui renvoie un nombre « aléatoire » compris entre [0, 1]. A. Popier (Le Mans) Méthode de Monte Carlo. 24 / 95 N OMBRES PSEUDO - ALÉATOIRES . Intéressons nous au nombre 0, 950129285147175. C’est par défaut le premier nombre produit par la fonction rand de Matlab. Pour cela redémarrer Matlab, et exécuter les commandes format l o n g rand Si tous les utilisateurs de Matlab trouvent toujours ce même nombre il ne peut être qualifié d’aléatoire. D’ailleurs il ne l’est pas. A. Popier (Le Mans) Méthode de Monte Carlo. 25 / 95 N OMBRES PSEUDO - ALÉATOIRES . À ce stade il est important de faire la distinction entre deux types de méthodes de génération de suites « aléatoires ». Méthodes prédictibles : ce sont des méthodes déterministes basées entièrement sur des algorithmes bien établis qui nécessitent d’être initialisés. On parlera de suites ou nombres pseudo-aléatoires. Méthodes non-prédictibles : surtout utiles en cryptographie, où il est capital que le hasard utilisé ne soit pas prédictible ni reproductible. Elles peuvent être obtenues à partir des premières en utilisant des « fonctions de hachage », difficilement inversibles en terme de temps de calcul. A. Popier (Le Mans) Méthode de Monte Carlo. 26 / 95 A LGORITHMES PAR CONGRUENCE (L EHMER , 1950). utilisent trois paramètres entiers a, c et m et une valeur initiale x0 , appelé seed ; créent une suite d’entiers yn+1 = ayn + c mod m compris entre 0 et m ; ramènent les valeurs entre 0 et 1 : xn = yn /m. Exemple : a = 13, c = 0, m = 31 et x0 = 1. Suite des yn : 1 13 14 27 10 6 16 22 7 29 5 3... Celle des xn : 0.0323, 0.4194, 0.4516, 0.8710, 0.3226, 0.1935, 0.5161, . . . A. Popier (Le Mans) Méthode de Monte Carlo. 27 / 95 A LGORITHMES PAR CONGRUENCE (L EHMER , 1950). Dans les années 60, sur IBM, Scientific Subroutine Package (SSP) : a = 65539, c = 0, et m = 231 . Comme le codage se fait en 32-bits, l’arithmétique modulo 231 se fait très rapidement. a = 216 + 3 : multiplication par a = shift + addition. Problème : yk +2 = 6yk +1 − 9yk : très forte corrélation. cf. graphique randssp A. Popier (Le Mans) Méthode de Monte Carlo. 27 / 95 A LGORITHMES PAR CONGRUENCE (L EHMER , 1950). À partir de Matlab 4, on a choisi : a = 75 = 16807, c = 0, m = 231 − 1 = 2147483647. Toujours disponible via I I s=rand(’seed’) : fournit le paramètre x0 de cette méthode. rand(’seed’,s) : impose à Matlab d’utiliser cet algorithme avec x0 = s. Périodicité grande : m − 1. Génére toutes les valeurs k /m avec k = 1, . . . , m, i.e. [0, 1] ≈ Dr = {k /m, 1 ≤ k ≤ m} ⊂ [0.00000000046566, 0.99999999953434]. cf. graphique randmcg A. Popier (Le Mans) Méthode de Monte Carlo. 27 / 95 A LGORITHME PAR DÉFAUT. À partir de la version 5 (1995), Du à G. Marsaglia. N’utilise plus les algorithmes à la Lehmer, plus de multiplication, plus de division. Génère directement des nombres décimaux. Disponible via I I s=rand(’state’) : fournit le paramètre x0 de cette méthode (vecteur de dimension 35). rand(’state’,s) : impose à Matlab d’utiliser cet algorithme avec x0 = s. Peut générer tous les nombres (flottants) entre 2−53 et 1 − 2−53 (on ne connaît pas de nombre non atteint). Période proche de 21492 . A. Popier (Le Mans) Méthode de Monte Carlo. 28 / 95 A LGORITHME « M ERSENNE T WISTER ». Troisième algorithme implémenté sous Matlab (version 5 et plus). Disponible via I I s=rand(’twister’) : fournit le paramètre x0 de cette méthode (vecteur de dimension 625). rand(’twister’,s) : impose à Matlab d’utiliser cet algorithme avec x0 = s. Période de l’ordre de (219937 − 1)/2. A. Popier (Le Mans) Méthode de Monte Carlo. 29 / 95 I MPORTANCE DE LA RACINE . R EMARQUE Connaître la valeur de la racine avant de lancer un programme peut être important ! Notamment pour pouvoir : comparer des vitesses de calcul ; générer des variables aléatoires couplées. Pour éviter d’avoir toujours le même nombre de départ : rand ( ’ s t a t e ’ ,sum(100∗ clock ) ) rand A. Popier (Le Mans) Méthode de Monte Carlo. 30 / 95 P LAN 1 2 M ÉTHODE DE M ONTE C ARLO P ROBLÈME DE SIMULATION Théorème fondamental Simulation de la loi uniforme Fonction de répartition Méthode d’inversion Cas particuliers Vérifications Méthode de rejet Lois gaussiennes 3 R ÉDUCTION DE VARIANCE Variables antithétiques Variables de contrôle Monte Carlo conditionnel Échantillonnage d’importance Échantillonnage stratifié A. Popier (Le Mans) Méthode de Monte Carlo. 31 / 95 F ONCTION DE RÉPARTITION . D ÉFINITION La fonction de répartition de X , notée FX , est définie sur R par : ∀x ∈ R, FX (x) = P(X ≤ x). P ROPOSITION Soit FX la fonction de répartition d’une v.a.r. X . Alors : 1 FX (x) ∈ [0, 1]. 2 FX est croissante. 3 lim FX (x) = 0 et lim FX (x) = 1. x→−∞ 4 x→+∞ FX est continue à droite et a une limite à gauche en tout point. A. Popier (Le Mans) Méthode de Monte Carlo. 32 / 95 V. A . À DENSITÉ . D ÉFINITION Une v.a. X est à densité (par rapport à la mesure de Lebesgue) s’il existe f t.q. pour tout x ∈ R, f (x) ≥ 0 ; Z +∞ f (x) dx = 1 ; −∞ et pour tout −∞ ≤ a < b ≤ +∞, P(a < X ≤ b) = Rb a f (t)dt. E XEMPLE : LOI UNIFORME SUR [a, b] X suit une loi uniforme sur [a, b] si sa densité f est f (x) = A. Popier (Le Mans) 1 1 (x). b − a [a,b] Méthode de Monte Carlo. 33 / 95 V. A . À DENSITÉ . P ROPOSITION Si X a pour densité f , alors ∀x ∈ R, FX (x) = P(X ≤ x) = Rx −∞ f (t)dt. FX est continue. FX est dérivable aux points de continuité de f avec fX (x) = FX0 (x). E XEMPLE : LOI UNIFORME SUR [a, b] Si X suit la loi uniforme sur [a, b], alors FX (x) = 0 si x ≤ a, x −a FX (x) = si x ∈ [a, b], b−a FX (x) = 1 pour x ≥ b. A. Popier (Le Mans) Méthode de Monte Carlo. 33 / 95 V. A . DISCRÈTES . D ÉFINITION Une v.a. X est discrète si elle ne prend qu’un nombre fini (ou dénombrable) de valeurs {xi ∈ R, i ∈ N} avec probabilité +∞ +∞ X X pi = 1. P(X = xi ) = pi = P(X = xi ) ≥ 0. De plus i=0 i=0 R EPRÉSENTATION en tableau X x0 x1 x2 x3 . . . (valeurs prises parX) P(X = xi ) p0 p1 p2 p3 . . . (probabilité) P ROPOSITION Si X est une v.a. discrète, FX est constante par morceaux. A. Popier (Le Mans) Méthode de Monte Carlo. 34 / 95 E XEMPLE : DÉ À SIX FACES . F ONCTION DE RÉPARTITION d’une v.a. de loi uniforme sur {1, . . . , 6} A. Popier (Le Mans) Méthode de Monte Carlo. 35 / 95 P LAN 1 2 M ÉTHODE DE M ONTE C ARLO P ROBLÈME DE SIMULATION Théorème fondamental Simulation de la loi uniforme Fonction de répartition Méthode d’inversion Cas particuliers Vérifications Méthode de rejet Lois gaussiennes 3 R ÉDUCTION DE VARIANCE Variables antithétiques Variables de contrôle Monte Carlo conditionnel Échantillonnage d’importance Échantillonnage stratifié A. Popier (Le Mans) Méthode de Monte Carlo. 36 / 95 M ÉTHODE D ’ INVERSION . Si X est une v.a.r. alors la fonction de répartition FX est définie par ∀x ∈ R, FX (x) = P(X ≤ x). Comme FX est croissante, on peut définir la fonction pseudo-inverse qX de FX ainsi : ∀u ∈ (0, 1), qX (u) = inf{x ∈ R, FX (x) > u}. T HÉORÈME Si U suit une loi uniforme sur [0, 1], qX (U) suit la même loi que X . P ROPOSITION Si F est inversible, alors q = F −1 . A. Popier (Le Mans) Méthode de Monte Carlo. 37 / 95 E XEMPLES . Si U suit une loi uniforme sur [0, 1], alors L OI UNIFORME SUR [a, b] X = a + (b − a)U suit la loi uniforme sur [a, b]. L OI EXPONENTIELLE 1 X = − ln(1 − U) suit la loi exponentielle de paramètre λ. λ L OI DE C AUCHY X = c tan(π(U − 1/2)) suit la loi de Cauchy de paramètre c. L OI DE B ERNOULLI Si U < 1 − p, X = 0, sinon X = 1 : suit la loi de Bernoulli de paramètre p ∈ [0, 1]. A. Popier (Le Mans) Méthode de Monte Carlo. 38 / 95 L OI DISCRÈTE À SUPPORT FINI . function r e a l i s = r d i s t ( x , p ) n=length ( p ) ; r = rand ; a = 0 ; b = p ( 1 ) ; f o r i = 1 : n−1, i f ( ( r >=a ) & ( r <b ) ) realis = x( i ); return ; end a = b ; b = b + p( i +1); end realis = x(n ); A. Popier (Le Mans) Méthode de Monte Carlo. 39 / 95 L OI UNIFORME . function r e a l i s = r a n d d i s c r ( x , n ,m) %Renvoie des realisations iid %de loi uniforme sur x(1),...,x(length(x)). %n et m sont des entiers optionnels, valant 1 par defaut. i f ( nargin ==0) e r r o r ( ’ Pas assez de parametres ’ ) ; e l s e i f ( nargin ==1) n =1;m=1; e l s e i f ( nargin ==2) m=1; e l s e i f ( nargin >3) e r r o r ( ’ Trop de parametres ’ ) ; end ; r e a l i s = reshape ( x ( c e i l ( length ( x ) ∗ rand ( n ,m) ) ) , n ,m) ; return ; A. Popier (Le Mans) Méthode de Monte Carlo. 40 / 95 I NVERSION : DIMENSION QUELCONQUE . Soit une v.a. X = (X1 , X2 ) de loi connue PX sur R2 avec densité f > 0. Fonction de répartition de X1 : Z x1 Z FX1 (x1 ) = f (x, y )dxdy . −∞ R Soit q1 son inverse. Fonction de répartition FXX21 =x1 de la loi conditionnelle de X2 sachant X1 = x1 : R x2 f (x1 , y )dy X1 =x1 . FX2 (x2 ) = R −∞ +∞ f (x , y )dy 1 −∞ Inverse : q2 . M ÉTHODE Si U1 et U2 sont deux v.a. uniformes sur [0, 1] indépendantes, alors X1 = q1 (U1 ), A. Popier (Le Mans) X2 = q2 (q1 (U1 ), U2 ). Méthode de Monte Carlo. 41 / 95 P LAN 1 2 M ÉTHODE DE M ONTE C ARLO P ROBLÈME DE SIMULATION Théorème fondamental Simulation de la loi uniforme Fonction de répartition Méthode d’inversion Cas particuliers Vérifications Méthode de rejet Lois gaussiennes 3 R ÉDUCTION DE VARIANCE Variables antithétiques Variables de contrôle Monte Carlo conditionnel Échantillonnage d’importance Échantillonnage stratifié A. Popier (Le Mans) Méthode de Monte Carlo. 42 / 95 L OI BINOMIALE . D ÉFINITION Une v.a. X à valeurs entières comprises entre 1 et N suit une loi binômiale de paramètres N ∈ N∗ et p ∈ [0, 1] si : ∀k = 1, . . . , N, P(X = k ) = CNk pk (1 − p)N−k . P ROPOSITION Soient Ui , i = 1, . . . , N des v.a. uniformes sur [0, 1] indépendantes. N X Soit X le nombre des Ui inférieures à p ∈ [0, 1], i.e. X = 1Ui <p . i=1 Alors X suit une loi binomiale de paramètres N et p. M ÉTHODE Simuler N v.a. de Bernoulli Xi et en faire la somme. A. Popier (Le Mans) Méthode de Monte Carlo. 43 / 95 L OI GÉOMÉTRIQUE . D ÉFINITION Une v.a. X à valeurs entières strictement positives suit une loi géométrique de paramètre p ∈]0, 1[ si : ∀n ≥ 1, P(X = n) = p(1 − p)n−1 . Q UELQUES RÉSULTATS : 1−p . p2 p)k −1 . E(X ) = p1 , Var(X ) = P(X ≥ k ) = (1 − P ILE OU FACE Une loi géométrique est la loi du nombre de tirages à pile ou face (indépendants) à réaliser pour obtenir face (si face a p % de chances de sortir). A. Popier (Le Mans) Méthode de Monte Carlo. 44 / 95 L OI DE P OISSON . D ÉFINITION Une v.a. X à valeurs entières positives suit une loi de Poisson de paramètre λ > 0 si : ∀n ≥ 0, P(X = n) = e−λ λn . n! M OMENTS : E(X ) = Var(X ) = λ. P ROPOSITION Soit (En )n∈N v.a. i.i.d. exponentielles de paramètre λ. Alors P(E1 + . . . + En ≤ 1 < E1 + . . . + En+1 ) = e−λ A. Popier (Le Mans) Méthode de Monte Carlo. λn . n! 45 / 95 L OI DE P OISSON . D ÉFINITION Une v.a. X à valeurs entières positives suit une loi de Poisson de paramètre λ > 0 si : ∀n ≥ 0, P(X = n) = e−λ λn . n! M OMENTS : E(X ) = Var(X ) = λ. M ÉTHODE X = 1E1 ≤1<E1 +E2 + 2 × 1E1 +E2 ≤1<E1 +E2 +E3 + . . . +n × 1E1 +...+En ≤1<E1 +...+En+1 + . . . suit une loi de Poisson de paramètre λ. A. Popier (Le Mans) Méthode de Monte Carlo. 45 / 95 P LAN 1 2 M ÉTHODE DE M ONTE C ARLO P ROBLÈME DE SIMULATION Théorème fondamental Simulation de la loi uniforme Fonction de répartition Méthode d’inversion Cas particuliers Vérifications Méthode de rejet Lois gaussiennes 3 R ÉDUCTION DE VARIANCE Variables antithétiques Variables de contrôle Monte Carlo conditionnel Échantillonnage d’importance Échantillonnage stratifié A. Popier (Le Mans) Méthode de Monte Carlo. 46 / 95 Q UELLES VÉRIFICATIONS ? D EUX TYPES de vérifications : histogramme normalisé contre densité, fonctions de répartition empirique contre théorique. Dans les deux cas, il faut d’abord simuler un grand nombre de fois la loi en question. Pour n ∈ N∗ , on obtient un vecteur (x1 , . . . , xn ) qui contient n réalisations de la loi de X . A. Popier (Le Mans) Méthode de Monte Carlo. 47 / 95 H ISTOGRAMME VS . DENSITÉ . H ISTOGRAMME NORMALISÉ 1 regrouper les n termes dans un certain nombre m de classes (avec X m < n). Dans chaque classe rm réalisations de X avec rm = n. 2 normalisation : la somme des aires des colonnes fait 1 −→ rm /(n(Cm+1 − Cm )). 3 tracé : sur l’axe des abscisses, placer les m centres des m classes, et mettre une colonne de hauteur rm /(n(Cm+1 − Cm )). m C ONVERGENCE VERS LA DENSITÉ rm 1 −→ P(X ∈ [Cm , Cm+1 [). n(Cm+1 − Cm ) n→+∞ Cm+1 − Cm A. Popier (Le Mans) Méthode de Monte Carlo. 48 / 95 H ISTOGRAMME VS . DENSITÉ . C ONVERGENCE VERS LA DENSITÉ rm 1 −→ P(X ∈ [Cm , Cm+1 [). n(Cm+1 − Cm ) n→+∞ Cm+1 − Cm C ONCLUSION Si X discrète avec Ck espacés de 1, approximativement pk . Si X à densité, alors P(X ∈ [Cm , Cm+1 [) 1 = Cm+1 − Cm Cm+1 − Cm A. Popier (Le Mans) Z Cm+1 f (t)dt Cm Méthode de Monte Carlo. −→ Cm+1 −Cm →0 f (Cm ). 48 / 95 R ÉPARTITION EMPIRIQUE VS . THÉORIQUE . F ONCTION DE RÉPARTITION EMPIRIQUE n ∀t ∈ R, F n (t) = 1X 1]−∞,t] (xi ). n i=1 T HÉORÈME DE KOLMOGOROV-S MIRNOV ∀t ∈ R, A. Popier (Le Mans) lim F n (t) = FX (t). n→+∞ Méthode de Monte Carlo. 49 / 95 E XEMPLE SUR LA LOI EXPONENTIELLE (2). n=100 Histogramme vs densite Fcts de repartition 2.0 empirique 1.8 theorique 1.0 1.6 0.8 1.4 1.2 0.6 1.0 0.4 0.8 0.6 0.2 0.4 0.0 0.2 0.0 !0.2 0 1 2 A. Popier (Le Mans) 3 4 5 6 !1 Méthode de Monte Carlo. 0 1 2 3 4 5 50 / 95 E XEMPLE SUR LA LOI EXPONENTIELLE (2). n=10000 Histogramme vs densite Fcts de repartition 2.0 empirique 1.8 theorique 1.0 1.6 0.8 1.4 1.2 0.6 1.0 0.4 0.8 0.6 0.2 0.4 0.0 0.2 0.0 !0.2 0 1 2 3 A. Popier (Le Mans) 4 5 6 7 8 !1 Méthode de Monte Carlo. 0 1 2 3 4 5 6 7 51 / 95 E XEMPLE SUR LA LOI DE B ERNOULLI (0.3). n=100 Histogramme Fcts de repartition 0.8 empirique theorique 0.7 1.0 0.6 0.8 0.5 0.6 0.4 0.4 0.3 0.2 0.2 0.0 0.1 0.0 !0.5 0.0 0.5 A. Popier (Le Mans) 1.0 1.5 2.0 !0.2 !1.0 Méthode de Monte Carlo. !0.5 0.0 0.5 1.0 1.5 2.0 52 / 95 E XEMPLE SUR LA LOI DE B ERNOULLI (0.3). n=10000 Histogramme Fcts de repartition 0.7 empirique theorique 0.6 1.0 0.5 0.8 0.4 0.6 0.3 0.4 0.2 0.2 0.1 0.0 0.0 !0.5 0.0 0.5 A. Popier (Le Mans) 1.0 1.5 2.0 !0.2 !1.0 Méthode de Monte Carlo. !0.5 0.0 0.5 1.0 1.5 2.0 53 / 95 P LAN 1 2 M ÉTHODE DE M ONTE C ARLO P ROBLÈME DE SIMULATION Théorème fondamental Simulation de la loi uniforme Fonction de répartition Méthode d’inversion Cas particuliers Vérifications Méthode de rejet Lois gaussiennes 3 R ÉDUCTION DE VARIANCE Variables antithétiques Variables de contrôle Monte Carlo conditionnel Échantillonnage d’importance Échantillonnage stratifié A. Popier (Le Mans) Méthode de Monte Carlo. 54 / 95 M ÉTHODE DE REJET. On veut simuler une v.a. de densité f , et il existe une densité g simulable facilement et une constante k ≥ 1 telle que ∀x ∈ R, f (x) ≤ kg(x). Soit α(x) = f (x) . kg(x) P ROPOSITION Soit (Xi )i≥1 une suite de v.a. i.i.d. de densité g, et (Ui )i≥1 une suite de v.a. i.i.d. de loi uniforme sur [0, 1], indépendante de la suite (Xi )i≥1 . Soit T = inf{i ≥ 1, Ui ≤ α(Xi )}. La variable XT a pour densité f . A. Popier (Le Mans) Méthode de Monte Carlo. 55 / 95 M ÉTHODE DE REJET. M ÉTHODE Soit (X1 , U1 ) un couple de v.a. indépendantes telles que X1 suive la loi de densité g et U1 suive une loi uniforme sur [0, 1]. Si U1 ≤ α(U1 ), on pose X = X1 . Sinon on rejette X1 et on recommence en générant une suite (Xn , Un )n≥2 de v.a. indépendantes de même loi que (X1 , U1 ) jusqu’à l’instant p où Up ≤ α(Xp ). On pose alors X = Xp . R EMARQUES on n’a pas besoin de connaître F , ni F −1 . elle s’étend à Rd , à des lois discrètes, etc. A. Popier (Le Mans) Méthode de Monte Carlo. 56 / 95 M ÉTHODE DE REJET : VITESSE . Calcul de la probabilité d’acceptation : p = P(U ≤ α(X )) = 1 . k Donc T a pour distribution une loi géométrique de paramètre p. En moyenne, on doit rejeter k = 1/p fois avant d’accepter la valeur. Ainsi il faut choisir g telle que f k = max g soit la plus petite possible. A. Popier (Le Mans) Méthode de Monte Carlo. 57 / 95 P LAN 1 2 M ÉTHODE DE M ONTE C ARLO P ROBLÈME DE SIMULATION Théorème fondamental Simulation de la loi uniforme Fonction de répartition Méthode d’inversion Cas particuliers Vérifications Méthode de rejet Lois gaussiennes 3 R ÉDUCTION DE VARIANCE Variables antithétiques Variables de contrôle Monte Carlo conditionnel Échantillonnage d’importance Échantillonnage stratifié A. Popier (Le Mans) Méthode de Monte Carlo. 58 / 95 L OI NORMALE : MÉTHODE POLAIRE . P ROPOSITION Si Y ∼ N (µ, σ 2 ), alors X = (Y − µ)/σ ∼ N (0, 1). Pour simuler X (et Y ) simuler deux lois uniformes U et V sur [0, 1] ; poser X = √ −2 ln U cos(2πV ), Y = √ −2 ln U sin(2πV ). P ROPOSITION X et Y sont deux v.a. normales centrées réduites indépendantes. Ou utiliser sous Matlab randn(n,m). A. Popier (Le Mans) Méthode de Monte Carlo. 59 / 95 L OI NORMALE : MÉTHODE POLAIRE . Pour simuler X (et Y ) simuler deux lois uniformes U et V sur [0, 1] ; poser X = √ −2 ln U cos(2πV ), Y = √ −2 ln U sin(2πV ). c l f ; hold on t i t l e ( ’ S i m u l a t i o n d ’ ’ une l o i normale ’ ) ylabel ( ’ E f f e c t i f s ’ ) ; xlabel ( ’ Valeurs ’ ) ; [ E ,C] = e c d f ( s q r t (−2∗ log ( rand ( 5 0 0 0 , 1 ) ) ) . ∗ cos ( 2 ∗ p i ∗rand ( 5 0 0 0 , 1 ) ) ) ; e c d f h i s t ( E , C, 4 0 ) ; hold on p l o t (C, ( 2 ∗ p i ) ^ ( − 1 / 2 ) ∗ exp(−C . ^ 2 / 2 ) , ’ r− ’ ) ; legend ( ’ Empirique ’ , ’ Theorique ’ ) hold o f f A. Popier (Le Mans) Méthode de Monte Carlo. 60 / 95 L OI NORMALE : MÉTHODE POLAIRE . A. Popier (Le Mans) Méthode de Monte Carlo. 61 / 95 L OI NORMALE : MÉTHODE POLAIRE . A. Popier (Le Mans) Méthode de Monte Carlo. 61 / 95 L OI NORMALE : MÉTHODE POLAIRE - REJET. P ROPOSITION (X , Y ) = (ρ cos(θ), ρ sin(θ)) suit une loi uniforme sur le disque unité du plan, alors p −4 ln(ρ) (X , Y ) ρ suit une loi normale centrée réduite bidimensionnelle. (X , Y ) facile à simuler par rejet à partir d’une uniforme sur le carré [−1, 1]2 (rejet dans 21 % des cas puisque π/4 ≈ 0, 79). θ et ρ indépendantes, ρ loi de densité u 7→ 2u1[0,1] (u), −4 ln(ρ) exponentielle de paramètre 1/2, θ uniforme sur [0, 2π]. A. Popier (Le Mans) Méthode de Monte Carlo. 62 / 95 L OI UNIFORME SUR LE DISQUE . A. Popier (Le Mans) Méthode de Monte Carlo. 63 / 95 V ECTEUR GAUSSIEN . P ROPOSITION Soit m ∈ Rn , Γ ∈ Sn+ (R) matrice réelle de taille n symétrique positive, Y vecteur aléatoire gaussien standard de moyenne nulle et matrice de covariance Idn . Alors le vecteur aléatoire X = Γ1/2 Y + m est gaussien de moyenne m et de matrice de covariance Γ. Si Y est un vecteur gaussien de loi N (0, Idn ), ses coordonnées sont i.i.d. de loi N (0, 1). Ainsi on peut simuler une réalisation de Y en simulant n réalisations indépendantes Y1 (ω), . . . , Yn (ω) de loi N (0, 1). A. Popier (Le Mans) Méthode de Monte Carlo. 64 / 95 P LAN 1 2 M ÉTHODE DE M ONTE C ARLO P ROBLÈME DE SIMULATION Théorème fondamental Simulation de la loi uniforme Fonction de répartition Méthode d’inversion Cas particuliers Vérifications Méthode de rejet Lois gaussiennes 3 R ÉDUCTION DE VARIANCE Variables antithétiques Variables de contrôle Monte Carlo conditionnel Échantillonnage d’importance Échantillonnage stratifié A. Popier (Le Mans) Méthode de Monte Carlo. 65 / 95 D EUX EXEMPLES . 2 /2 E XEMPLE THÉORIQUE . Calculer θ = E(e5Z ) = e5 variance théorique : σ2 = e50 − e25 ≈7× avec Z ∼ N (0, 1) 1010 . valeur exacte : 268337. nombre tirages : N = 500000. valeur estimée : θ = 221741. Intervalle de confiance : I = [−65186, 508668]. A. Popier (Le Mans) Méthode de Monte Carlo. 66 / 95 D EUX EXEMPLES . E XEMPLE PLUS CONCRET. Call C = E((5e(Z −1/2) − 3)+ ) avec Z ∼ N (0, 1) valeur exacte : 2,71. nombre tirages : N = 1000. valeur estimée : 2,83. Intervalle de confiance : I = [2, 42; 3, 24]. Put P = E((3 − 5e(Z −1/2) )+ ) et C − P = 2. valeur exacte : 0,71. valeur estimée : 0,70. Intervalle de confiance : I = [0, 64; 0, 76]. Contrôle : C = 2 + P. A. Popier (Le Mans) Méthode de Monte Carlo. 66 / 95 R ÉDUCTION DE VARIANCE : MÉTHODES . Variables antithétiques. Variables de contrôle. Échantillonnage préférentiel (ou d’importance). Échantillonnage stratifié. Méthodes adaptatives (chaînes de Markov). A. Popier (Le Mans) Méthode de Monte Carlo. 67 / 95 P LAN 1 2 M ÉTHODE DE M ONTE C ARLO P ROBLÈME DE SIMULATION Théorème fondamental Simulation de la loi uniforme Fonction de répartition Méthode d’inversion Cas particuliers Vérifications Méthode de rejet Lois gaussiennes 3 R ÉDUCTION DE VARIANCE Variables antithétiques Variables de contrôle Monte Carlo conditionnel Échantillonnage d’importance Échantillonnage stratifié A. Popier (Le Mans) Méthode de Monte Carlo. 68 / 95 VARIABLES ANTITHÉTIQUES . B UT : calculer θ = E(Y ) = E(f (X )). D EUX V. A . Y1 et Y2 de même loi que Y . 2 ; E(Y ) = 12 (E(Y1 ) + E(Y2 )) = E Y1 +Y 2 2 = Var (Y1 )+Var (Y42 )+2Cov(Y1 ,Y2 ) ; Var Y1 +Y 2 si Y1et Y2 décorrélées (ou indépendantes), Var (Y ) Y1 +Y2 = ; Var 2 2 si Cov(Y1 , Y2 ) < 0, alors Var Y1 +Y2 2 < Var2(Y ) . Q UESTION : comment obtenir Y1 et Y2 de même loi que Y avec Cov(Y1 , Y2 ) < 0 ? A. Popier (Le Mans) Méthode de Monte Carlo. 69 / 95 VARIABLES ANTITHÉTIQUES UNIFORMES . H YPOTHÈSE : Y = g(U) où U uniforme sur [0, 1] . A LGORITHME CLASSIQUE avec échantillon de taille 2n. M ÉTHODE de i = 1 à 2n générer Ui définir Yi = g(Ui ) fin 2n 2n 1 X 1 X 2 définir θ̂2n = Y 2n = = Yi et σ̂2n (Yi − θ̂2n )2 2n 2n − 1 i=1 i=1 σ̂2n σ̂2n définir CI = [θ̂2n − cα √ , θ̂2n + cα √ ] 2n 2n A. Popier (Le Mans) Méthode de Monte Carlo. 70 / 95 VARIABLES ANTITHÉTIQUES UNIFORMES . H YPOTHÈSE : Y = g(U) avec U uniforme sur [0, 1]. A LGORITHME avec échantillon de taille 2n. M ÉTHODE de i = 1 à 2n générer Ui définir Yi = g(1 − Ui ) fin 2n 2n 1 X 1 X 2 définir θ̂2n = Y 2n = Yi et σ̂2n = (Yi − θ̂2n )2 2n 2n − 1 i=1 i=1 σ̂2n σ̂2n définir CI = [θ̂2n − cα √ , θ̂2n + cα √ ] 2n 2n A. Popier (Le Mans) Méthode de Monte Carlo. 70 / 95 VARIABLES ANTITHÉTIQUES UNIFORMES . H YPOTHÈSE : Y = g(U) avec U uniforme sur [0, 1]. A LGORITHME MÉLANGÉ avec échantillon de taille n. M ÉTHODE de i = 1 à n générer Ui Yi + Ỹi définir Yi = g(Ui ), Ỹi = g(1 − Ui ) et Zi = 2 fin n n 1X 1 X définir θ̂n,a = Z n = Zi et σ̂n2 = (Zi − θ̂n )2 n n−1 i=1 i=1 σ̂n σ̂n définir CI = [θ̂n,a − cα √ , θ̂n,a + cα √ ] n n A. Popier (Le Mans) Méthode de Monte Carlo. 70 / 95 VARIABLES ANTITHÉTIQUES UNIFORMES . H YPOTHÈSE : Y = g(U) avec U uniforme sur [0, 1]. D IFFÉRENTS RÉSULTATS : 1 P2n θ̂2n = Y 2n = 2n i=1 Yi ; 1 Pn θ̂n,a = Z n = n i=1 Zi . C OMPARAISON DES VARIANCES P2n Var (θ̂2n ) = Var i=1 Yi 2n Var (θ̂n,a ) = Var (θ̂2n ) + ! = Var (Y ) 2n Cov(Y , Ỹ ) . 2n Ainsi Var (θ̂n,a ) < Var (θ̂2n ) ⇐⇒ Cov(g(U), g(1 − U)) < 0. A. Popier (Le Mans) Méthode de Monte Carlo. 70 / 95 VARIABLES ANTITHÉTIQUES UNIFORMES . H YPOTHÈSE : Y = g(U) avec U uniforme sur [0, 1]. T HÉORÈME Si g est une fonction monotone, alors Cov(g(U), g(1 − U)) < 0. C ONSÉQUENCE Méthode d’inversion : g = f (FX−1 ) est monotone si f l’est. A. Popier (Le Mans) Méthode de Monte Carlo. 70 / 95 VARIABLES ANTITHÉTIQUES : GÉNÉRALISATION . H YPOTHÈSE SUR X : il existe a t.q. X et a − X aient la même loi. E XEMPLES Lois normales N (µ, σ 2 ) : a = 2µ. Lois de Laplace de paramètre λ > 0 : f (x) = λ 2 exp(−λ|x|). a = 0. M ÉTHODE de i = 1 à n générer Xi Yi + Ỹi définir Yi = g(Xi ), Ỹi = g(a − Xi ) et Zi = 2 fin n n 1 X 1X définir θ̂n,a = Z n = Zi et σ̂n2 = (Zi − θ̂n )2 n n−1 i=1 i=1 σ̂n σ̂n définir CI = [θ̂n,a − cα √ , θ̂n,a + cα √ ] n n A. Popier (Le Mans) Méthode de Monte Carlo. 71 / 95 E XEMPLE : OPTION K NOCK -I N . C ONTRAT FINANCIER de payoff h(ST ) = max(0, ST − K )1ST >B . √ M ODÈLE B LACK -S CHOLES ST = S0 exp((r − σ 2 /2)T + σ T X , X ∼ N (0, 1). P RIX DU CONTRAT C = e−rT E (h(ST )) = e−rT E max(0, ST − K )1ST >B . J EU DE PARAMÈTRES S0 = 2, K = 1, B = 2, 5, r = 0, 1, σ = 0.3, T = 10, N = 5000. R ÉSULTATS OBTENUS sans réduction de variance : C = 1.5720 (variance 5.4236) ; avec réduction de variance : C = 1.5543 (variance 1.5827). A. Popier (Le Mans) Méthode de Monte Carlo. 72 / 95 P LAN 1 2 M ÉTHODE DE M ONTE C ARLO P ROBLÈME DE SIMULATION Théorème fondamental Simulation de la loi uniforme Fonction de répartition Méthode d’inversion Cas particuliers Vérifications Méthode de rejet Lois gaussiennes 3 R ÉDUCTION DE VARIANCE Variables antithétiques Variables de contrôle Monte Carlo conditionnel Échantillonnage d’importance Échantillonnage stratifié A. Popier (Le Mans) Méthode de Monte Carlo. 73 / 95 VARIABLES DE CONTRÔLE . B UT : calculer θ = E(Y ) = E(f (X )). A JOUT d’une variable Z facilement simulable ; E(Z ) connue ou facilement calculable (variance « petite »). D EUX CALCULS POSSIBLES DE θ : par méthode de Monte Carlo standard, en posant Wc = Y + c(Z − E(Z )) et en calculant E(Wc ) par Monte Carlo (c : paramètre constant fixé). Q UESTION : Var (Wc ) < Var (Y ) ? A. Popier (Le Mans) Méthode de Monte Carlo. 74 / 95 VARIABLES DE CONTRÔLE . C ALCUL DE LA VARIANCE : Var (Wc ) = Var (Y ) + c 2 × Var (Z ) + 2c × Cov(Y , Z ). C HOIX OPTIMAL DE c : c ∗ = − Cov(Y ,Z ) ; Var (Z ) Cov (Y ,Z )2 Var (Wc ∗ ) = Var (Y ) − ; Var (Z ) Var (Wc ∗ ) < Var (Y ) ⇔ Cov(Y , Z ) < 0 ; Z : variable de contrôle de Y . A LGORITHME : θ̂N,c ∗ N 1X = (Yi + c ∗ (Zi − E(Z ))) ≈ θ. N i=1 P ROBLÈMES : calcul de E(Z ) ? De Cov(Y , Z ) ? A. Popier (Le Mans) Méthode de Monte Carlo. 75 / 95 MMC AVEC VARIABLE DE CONTRÔLE . M ÉTHODE É TAPE 1 : p petit → détermine une valeur approchée de c ∗ . Simuler p v.a. (Yn )1≤n≤p et p v.a. (Zn )1≤n≤p . Poser : p p i=1 i=1 X X b )= 1 b )= 1 Zi , E(Y Yi , E(Z p p p d (Z ) = Var 1 X b ))2 , (Zj − E(Z p−1 j=1 d ,Z) = Cov(Y 1 p−1 p X b ))(Zj − E(Z b ))). (Yi − E(Y j=1 (Y ,Z ) Calculer cb∗ = − Cov . d Var (Z ) d A. Popier (Le Mans) Méthode de Monte Carlo. 76 / 95 MMC AVEC VARIABLE DE CONTRÔLE . M ÉTHODE É TAPE 1 : p petit → détermine une valeur approchée de c ∗ . É TAPE 2 : N grand. Simuler N v.a. (Yn )1≤n≤N et N v.a. (Zn )1≤n≤N . Poser : N 1X b b ))) ≈ θ. θ= (Yi + cb∗ (Zi − E(Z N i=1 A. Popier (Le Mans) Méthode de Monte Carlo. 76 / 95 U N EXEMPLE . É NONCÉ 2 Calculer θ = E(e(U+V ) ) avec U et V de loi uniforme sur [0, 1]. 2 Y = e(U+V ) . Variables de contrôle : Z1 = U + V , Z2 = (U + V )2 ou encore Z3 = exp(U + V ). A. Popier (Le Mans) Méthode de Monte Carlo. 77 / 95 L E PROGRAMME ( CALCUL DE c ∗ ). p=500; u=rand ( p , 1 ) ; v=rand ( p , 1 ) ; y=exp ( ( u+v ) . ^ 2 ) ; z1=u+v ; z2 =( u+v ) . ^ 2 ; z3=exp ( u+v ) ; a1=cov ( [ y z1 ] ) ; a2=cov ( [ y z2 ] ) ; a3=cov ( [ y z3 ] ) ; c_est1=−a1 ( 1 , 2 ) / a1 ( 2 , 2 ) c_est2=−a2 ( 1 , 2 ) / a2 ( 2 , 2 ) c_est3=−a3 ( 1 , 2 ) / a3 ( 2 , 2 ) Valeurs obtenues : c est1 = - 11.088954 c est2 = - 5.7049857 c est3 = - 3.9928724 A. Popier (Le Mans) Méthode de Monte Carlo. 78 / 95 L E PROGRAMME (MMC). n=5000; u=rand ( n , 1 ) ; v=rand ( n , 1 ) ; y=exp ( ( u+v ) . ^ 2 ) ; z1=u+v ; z2 =( u+v ) . ^ 2 ; z3=exp ( u+v ) ; m1=mean( z1 ) m2=mean( z2 ) m3=mean( z3 ) w1=y+ c_est1 ∗ ( z1−m1 ) ; w2=y+ c_est2 ∗ ( z2−m2 ) ; w3=y+ c_est3 ∗ ( z3−m3 ) ; b0 = [mean( y ) s t d e v ( y ) ^ 2 ] b1 = [mean( w1 ) v a r ( w1 ) ] b2 = [mean( w2 ) v a r ( w2 ) ] b3 = [mean( w3 ) v a r ( w3 ) ] %Intervalle de confiance CI = [ b2 (1) −1.96∗ s t d e v ( w2 ) / s q r t ( n ) , b2 ( 1 ) + 1 . 9 6 ∗ s t d e v ( w2 ) / s q r t ( n ) ] A. Popier (Le Mans) Méthode de Monte Carlo. 79 / 95 B ILAN . Valeurs obtenues : m1 = 1.0006399 (exacte 1) ; m2 = 1.171765 (exacte 7/6 ≈ 1.1666667) ; m3 = 2.959135 (exacte (e − 1)2 ≈ 2.9524924) ; b0 b1 b2 b3 moyenne 4.9317203 4.9317203 4.9317203 4.9317203 variance 34.564778 13.840552 7.7461357 7.2175877 CI = [4.8545742, 5.0088663]. A. Popier (Le Mans) Méthode de Monte Carlo. 80 / 95 P LAN 1 2 M ÉTHODE DE M ONTE C ARLO P ROBLÈME DE SIMULATION Théorème fondamental Simulation de la loi uniforme Fonction de répartition Méthode d’inversion Cas particuliers Vérifications Méthode de rejet Lois gaussiennes 3 R ÉDUCTION DE VARIANCE Variables antithétiques Variables de contrôle Monte Carlo conditionnel Échantillonnage d’importance Échantillonnage stratifié A. Popier (Le Mans) Méthode de Monte Carlo. 81 / 95 M ONTE C ARLO CONDITIONNEL . I DÉE : au lieu de calculer θ = E(Y ) = E(f (X )), pour Z v.a. poser V = E(Y |Z ) = g(Z ) v.a. ; et θ = E(V ). C ONDITIONS : Z facilement simulable ; V facilement calculable. C ALCULS DE LA VARIANCE : Var (Y |Z ) est une v.a. positive : h i Var (Y |Z ) = E (Y − E(Y |Z ))2 Z , et comme Y − E(Y ) − (E(Y |Z ) − E(Y )) ⊥ E(Y |Z ) − E(Y ), Var (Y ) = E(Var (Y |Z )) + Var (E(Y |Z )) ⇒ Var (Y ) ≥ Var (E(Y |Z )). A. Popier (Le Mans) Méthode de Monte Carlo. 82 / 95 P LAN 1 2 M ÉTHODE DE M ONTE C ARLO P ROBLÈME DE SIMULATION Théorème fondamental Simulation de la loi uniforme Fonction de répartition Méthode d’inversion Cas particuliers Vérifications Méthode de rejet Lois gaussiennes 3 R ÉDUCTION DE VARIANCE Variables antithétiques Variables de contrôle Monte Carlo conditionnel Échantillonnage d’importance Échantillonnage stratifié A. Popier (Le Mans) Méthode de Monte Carlo. 83 / 95 É VÉNEMENTS RARES . Technique utilisée beaucoup pour θ = P(X ≤ seuil ) = E(1X ≤seuil ), quand l’occurence de X ≤ seuil est très petite. E XEMPLES . Catastrophes climatiques, ferroviaires, aériennes, etc. Faillites de grosses entreprises, d’états, etc. Cracks boursiers importants B UT : mesurer les risques de portefeuille, opérationnels, etc. (obligation légale pour les banques ou les assurances). A. Popier (Le Mans) Méthode de Monte Carlo. 84 / 95 E XEMPLE . X suit une loi normale de paramètres 0 et 1 θ = P(X ≤ −10) = E(1X ≤−10 ). M ONTE -C ARLO CLASSIQUE . Nombre de tirages N variant de 1000 à 10000000. Valeur estimée : 0. C ONCLUSION ERRONÉE : θ = 0. VALEUR EXACTE : θ = 7.6199 × 10−24 . Nombre de tirages nécessaires de l’ordre de 1025 : impossible ! A. Popier (Le Mans) Méthode de Monte Carlo. 85 / 95 É CHANTILLONNAGE PRÉFÉRENTIEL : PRINCIPE . Changer la loi. Soient φ la densité de X et ψ une autre densité telle que ψ(x) 6= 0 si φ(x) 6= 0. Alors Z θ = E(f (X )) = = E(h(Y )), Z f (x)φ(x)dx = avec h(x) = f (x) f (x) φ(x) ψ(x)dx ψ(x) φ(x) et Y ∼ ψ. ψ(x) D ÉFINITION : g est une fonction d’importance. Q UESTION : comment choisir g ? A. Popier (Le Mans) Méthode de Monte Carlo. 86 / 95 R ETOUR SUR L’ EXEMPLE . X ∼ N (0, 1) et θ = P(X ≤ −10) : forcer les tirages de Y à être aux alentours de -10. Donc Y ∼ N (−10, 1). R EMARQUE Si Y ∼ N (µ, σ 2 ), alors P(Y ≤ µ) = 1/2. 2 1 x P(X ≤ −10) = 1x≤−10 √ exp − 2 2π R 2 Z √1 exp − x 2 1 (x + 10)2 2π √ exp − 1x≤−10 dx (x+10)2 2 2π R √1 exp − 2 2π Z 1 (x + 10)2 dx 1x≤−10 exp 10x + (−10)2 /2 √ exp − 2 2π R E [1Y ≤−10 exp (10Y + 50)] . Z θ = = = = A. Popier (Le Mans) Méthode de Monte Carlo. 87 / 95 R ETOUR SUR L’ EXEMPLE . θ = P(X ≤ −10) = E [1Y ≤−10 exp (10Y + 50)]. M ONTE -C ARLO AVEC Y. Valeur exacte θ = 7.6199 × 10−24 . Y=randn(N,1) - 10. Nombre de tirages N variant de 1 à 10000. Valeur estimée : 8.0060 × 10−24 . Écart-type : 2.6893 × 10−23 A. Popier (Le Mans) Méthode de Monte Carlo. 87 / 95 R ETOUR SUR L’ EXEMPLE . A. Popier (Le Mans) Méthode de Monte Carlo. 87 / 95 C HOIX DE LA FONCTION D ’ IMPORTANCE . D ONNÉES : φ densité de X , ψ autre densité t.q. ψ(x) 6= 0 si φ(x) 6= 0. φ(Y ) , Y ∼ ψ. θ = E(f (X )) = E(h(Y )) = E f (Y ) ψ(Y ) C ALCULS DE LA VARIANCE : Z f 2 (x)φ(x)dx − θ2 ; Z f 2 (x) Var (f (X )) = Var (h(Y )) = φ2 (x) dx − θ2 . ψ(x) Donc Z Var (f (X )) − Var (h(Y )) = A. Popier (Le Mans) φ(x) f (x) 1 − φ(x)dx > 0. ψ(x) 2 Méthode de Monte Carlo. 88 / 95 C HOIX DE LA FONCTION D ’ IMPORTANCE . D ONNÉES : φ densité de X , ψ autre densité t.q. ψ(x) 6= 0 si φ(x) 6= 0. φ(Y ) , Y ∼ ψ. θ = E(f (X )) = E(h(Y )) = E f (Y ) ψ(Y ) C ALCULS DE LA VARIANCE : Z Var (f (X )) − Var (h(Y )) = φ(x) f (x) 1 − φ(x)dx > 0. ψ(x) 2 P ISTE : si ψ(x) = f (x)φ(x)/θ, Var (h(Y )) = 0 ! Prendre ψ proche de f φ... T HÉORÈME (RUBINSTEIN ) La densité ψ qui minimise la variance est ψ(x) = R A. Popier (Le Mans) 1 |f (x)|φ(x). |f (x)|φ(x)dx Méthode de Monte Carlo. 88 / 95 C HOIX DE LA FONCTION D ’ IMPORTANCE . D ONNÉES : φ densité de X , ψ autre densité t.q. ψ(x) 6= 0 si φ(x) 6= 0. φ(Y ) , Y ∼ ψ. θ = E(f (X )) = E(h(Y )) = E f (Y ) ψ(Y ) C ALCULS DE LA VARIANCE : Z Var (f (X )) − Var (h(Y )) = φ(x) f 2 (x) 1 − φ(x)dx > 0. ψ(x) I DÉE : prendre φ/ψ > 1 quand f φ petit ; prendre φ/ψ < 1 quand f φ grand. A. Popier (Le Mans) Méthode de Monte Carlo. 88 / 95 P LAN 1 2 M ÉTHODE DE M ONTE C ARLO P ROBLÈME DE SIMULATION Théorème fondamental Simulation de la loi uniforme Fonction de répartition Méthode d’inversion Cas particuliers Vérifications Méthode de rejet Lois gaussiennes 3 R ÉDUCTION DE VARIANCE Variables antithétiques Variables de contrôle Monte Carlo conditionnel Échantillonnage d’importance Échantillonnage stratifié A. Popier (Le Mans) Méthode de Monte Carlo. 89 / 95 P RINCIPE DE L’ ÉCHANTILLONNAGE STRATIFIÉ . O BJECTIF : évaluer θ = E(Y ) avec Y v.a. réelle. Soit A1 , . . . , AK sous-ensembles disjoints de R tels que P(Y ∈ ∪i Ai ) = 1. Alors θ= K X P(Y ∈ Ai )E(Y |Y ∈ Ai ) = K X pi E(Y |Y ∈ Ai ). i=1 i=1 S TRATIFICATION PROPORTIONNELLE . Soit N la taille de l’échantillon. choisir les Ai avec pi = P(Y ∈ Ai ) ; poser ni = Npi (considéré comme entier) ; pour chaque i = 1, . . . , K , simuler Yij , j = 1, . . . , ni i.i.d. suivant la loi de Y sachant Y ∈ Ai . θ≈ K X i=1 A. Popier (Le Mans) ni ni K X 1 1 XX pi Yij = Yij . ni N j=1 Méthode de Monte Carlo. i=1 j=1 90 / 95 G ÉNÉRALISATION . I S TRATIFICATION FONCTION DE X . Ai choisis tels que P(X ∈ ∪i Ai ) = 1 : θ= K X P(X ∈ Ai )E(Y |Y ∈ Ai ) = i=1 K X pi E(Y |X ∈ Ai ). i=1 Générer (Xij , Yij ) suivant la loi conditionnelle de (X , Y ) sachant X ∈ Ai . I S UPPRIMER LA PROPORTIONNALITÉ . Autoriser le nombre de tirages n1 , . . . , nk arbitraire (avec P i ni = N) ; Poser qi = ni /N : b = θ≈Y K X i=1 A. Popier (Le Mans) ni ni K X 1 X pi X 1 Yij = Yij . pi ni N qi j=1 Méthode de Monte Carlo. i=1 j=1 91 / 95 E XEMPLES . I S TRATIFICATION DE LA LOI UNIFORME . Partition de ]0, 1[ : Ai =]ai , bi ] ; Loi de U sachant U ∈ Ai : uniforme entre ai et bi ; Échantillon : Vi = ai + (bi − ai )Ui . Exemple : Ai =](i − 1)/N, i/N], i = 1, . . . , N. I V IA FONCTION DE RÉPARTITION . Y de fonction de répartition F . Pour p1 , . . . , pK données, avec a0 = −∞, a1 = F −1 (p1 ), a2 = F −1 (p1 + p2 ), . . . , aK = F −1 (1), et Ai =]ai−1 , ai ] pour i = 1, . . . , K . Si ak = +∞, alors AK =]aK −1 , aK [. V = ai−1 + U(ai − ai−1 ) uniforme sur Ai et F −1 (V ) a la loi de Y sachant Y ∈ Ai . A. Popier (Le Mans) Méthode de Monte Carlo. 92 / 95 b. A NALYSE DE L’ ESTIMATEUR Y N OTATIONS : θi = E(Yij ) = E(Y |X ∈ Ai ), σ 2 = Var (Yij ) = Var (Y |X ∈ Ai ). E STIMATEUR SANS BIAIS : b) = E(Y K X i=1 ni N X X 1 pi E(Yij ) = pi θi = θ. ni j=1 i=1 de variance : b) = Var (Y K X i=1 ni N X X σ2 1 σ 2 (q) pi2 i = pi2 Var E(Yij ) = ni ni N i=1 j=1 avec 2 σ (q) = N X p2 i i=1 A. Popier (Le Mans) qi σi2 . Méthode de Monte Carlo. 93 / 95 b. A NALYSE DE L’ ESTIMATEUR Y I NTERVALLE DE CONFIANCE : 1 p [Nqi ] [Nqi ] X en loi (Yij − θi ) −→ N (0, σi2 ) j=1 d’où [Nqi ] K X √ X √ 1 b −θ N Y = N pi (Yij − θi ) [Nqi ] i=1 j=1 [Nqi ] K X X pi 1 ≈ (Yij − θi ) √ p qi [Nqi ] i=1 Ainsi A. Popier (Le Mans) j=1 √ loi b − θ en N Y −→ N (0, σ(q)2 ). Méthode de Monte Carlo. 93 / 95 b. A NALYSE DE L’ ESTIMATEUR Y I NTERVALLE DE CONFIANCE : Ainsi √ loi b − θ en −→ N (0, σ(q)2 ). N Y σ(q)2 : estimé via s2 (q) = N X p2 i i=1 qi si2 , avec si déviation standard de Yi1 , . . . , Yini ; ou I I I N = mk , ki = qi k et ni = mki , b moyenne de m estimateurs Y bi qui allouent une fraction qi Y d’observations pour la strate i et de taille k , bi de variance σ(q)2 /k et Y b de variance (σ(q)2 /k )/m. Y A. Popier (Le Mans) Méthode de Monte Carlo. 93 / 95 R ÉDUCTION DE VARIANCE ? I C AS PROPORTIONNEL . σ2 N = = = Ainsi : " K # X 1 1 (E(Y 2 ) − θ2 ) = pi E(Y 2 |X ∈ Ai ) − θ2 N N i=1 " K # 1 X pi (σi2 + θi2 ) − θ2 N 1 N i=1 K X pi σi2 + i=1 K 1X pi (θi − θ)2 N i=1 K X σ2 bProp ) = 1 − Var (Y pi (θi − θ)2 . N N i=1 A. Popier (Le Mans) Méthode de Monte Carlo. 94 / 95 R ÉDUCTION DE VARIANCE ? I I K 1X σ2 b − Var (YProp ) = pi (θi − θ)2 . C AS PROPORTIONNEL . Ainsi : N N i=1 O PTIMISATION . Trouver le minimum de σ 2 (q) = N X p2 i i=1 qi σi2 avec qi = ni /N et n1 + . . . + nk = N. pi σi Optimum : qi∗ = K . X pj σj j=1 Ainsi 2 K X σ̄ 2 bOpt ) = 1 Var (Y pj σj = . N N j=1 bProp ) − Var (Y bOpt ) = Var (Y K 2 1X pj σj − σ̄ . N j=1 A. Popier (Le Mans) Méthode de Monte Carlo. 94 / 95 R ÉDUCTION DE VARIANCE ? I K 1X σ2 b − Var (YProp ) = pi (θi − θ)2 . C AS PROPORTIONNEL . Ainsi : N N I O PTIMISATION . i=1 bProp ) − Var (Y bOpt ) = Var (Y K 2 1X pj σj − σ̄ . N j=1 I C ONCLUSION . σ2 N = = 2 σ2 bProp ) + Var (Y bProp ) − Var (Y bOpt ) + σ̄ − Var (Y N N K K X 2 1 X pi (θi − θ)2 + pj σj − σ̄ + σ̄ 2 . N i=1 A. Popier (Le Mans) j=1 Méthode de Monte Carlo. 94 / 95 E XEMPLE NUMÉRIQUE . √ O BJECTIF : calculer θ = E(Y ) = E( 1 − U 2 ), avec variable de stratification X = U. √ Pour Ai =]ai , bi ], Yi = ( 1 − U 2 |U ∈ Ai ) obtenue via (U|U ∈ Ai ) uniforme sur Ai . Choix : A1 =]0, K1 ], A2 =] K1 , K2 ], . . . , AK =] KK−1 , 1]. pi = 1/K , ni = Npi = N/K . R ÉSULTATS : N = 10000, K = 100. Monte-Carlo standard : θ = 0, 782 avec intervalle de confiance [0, 7775; 0, 7864]. Variance : 0,05. Échantillonnage stratifié : θ = 0, 7854 avec intervalle de confiance [0, 7853; 0, 7855]. Variance : 2, 65 × 10−5 . A. Popier (Le Mans) Méthode de Monte Carlo. 95 / 95