Méthode de Monte-Carlo — Wikipédia

Une méthode de Monte-Carlo, ou méthode Monte-Carlo, est une méthode algorithmique visant à calculer une valeur numérique approchée en utilisant des procédés aléatoires, c'est-à-dire des techniques probabilistes.

Les méthodes de Monte-Carlo sont particulièrement utilisées pour calculer des intégrales en dimensions plus grandes que 1 (en particulier, pour calculer des surfaces et des volumes). Elles sont également couramment utilisées en physique des particules, où des simulations probabilistes permettent d'estimer la forme d'un signal ou la sensibilité d'un détecteur. La comparaison des données mesurées à ces simulations peut permettre de mettre en évidence des caractéristiques inattendues, par exemple de nouvelles particules.

La méthode de simulation de Monte-Carlo permet aussi d'introduire une approche statistique du risque dans une décision financière. Elle consiste à isoler des variables clés du projet, telles que le chiffre d'affaires ou la marge, et à leur affecter une loi de probabilités. Pour chacun de ces facteurs, un grand nombre de tirages aléatoires, suivant les lois de probabilité déterminées précédemment, est effectué, afin de trouver la probabilité d'occurrence de chacun des résultats. À titre d'exemple, le choix de mode de gestion d'une collectivité territoriale dans le cadre d'un partenariat public-privé (PPP) peut s'analyser par la méthode de Monte-Carlo, afin de prendre en compte la répartition des risques entre acteurs publics et privés. On parle alors de « risques valorisés » ou « valeurs à risque ».

Le véritable développement des méthodes de Monte-Carlo s'est effectué sous l'impulsion de John von Neumann et Stanislaw Ulam notamment, lors de la Seconde Guerre mondiale, et des recherches sur la fabrication de la bombe atomique. Ils ont en particulier utilisé ces méthodes probabilistes pour résoudre des équations aux dérivées partielles dans le cadre de la Monte-Carlo N-Particle transport (MCNP).

Le nom de ces méthodes, qui fait allusion aux jeux de hasard pratiqués au casino de Monte-Carlo, a été inventé en 1947 par Nicholas Metropolis[1], et apparaît pour la première fois en 1949 dans un article coécrit avec Stanislaw Ulam[2].

De manière générale, le problème que l'on cherche à résoudre par les méthodes de Monte-Carlo est celui de l'estimation de l'espérance d'une variable aléatoire , que l'on note généralement .

La méthode de Monte-Carlo la plus simple consiste à générer un échantillon de variables aléatoires indépendantes et identiquement distribuées (iid) suivant la même loi que . Ensuite on estime l'espérance avec l'estimateur, dit de Monte-Carlo ou encore de la moyenne empirique,

Ainsi est censé être une bonne approximation de la valeur que l'on recherche, à savoir . Cet estimateur est non biaisé dans le sens où . Ce qui justifie la pertinence de cet estimateur est la loi forte des grands nombres qui nous dit que, si admet une espérance finie (ce qui est en pratique très souvent le cas puisque l'on cherche justement à estimer cette espérance qui a priori est finie), alors on a la convergence presque sûre lorsque la taille de l'échantillon tend vers l'infini.

Il est même possible de connaître l'ordre de grandeur de l'erreur commise par cet estimateur grâce au théorème central limite. En effet, si admet une variance finie , alors le théorème central limite nous dit que la convergence

a lieu en loi quand tend vers l'infini, où désigne une loi normale centrée réduite. On peut donc en déduire que, si admet une variance finie, alors l'erreur de l'estimateur de Monte-Carlo est de l'ordre de et l'on voit bien que plus la taille de l'échantillon est grande, plus l'erreur se rapproche de zéro. Par exemple, multiplier par 100 la taille de l'échantillon devrait, à peu près, diviser par 10 l'erreur commise.

En utilisant le théorème central limite, on peut déduire des intervalles de confiance asymptotiques pour l'estimateur de Monte-Carlo. Soit un réel qui correspond au niveau de confiance désiré et notons le quantile d'ordre de la loi normale centrée réduite. C'est-à-dire que, si alors (par exemple pour on a ). Alors on a la convergence

lorsque tend vers l'infini. Il faut garder en tête que cet intervalle de confiance est bien asymptotique et pas exact car il repose sur le théorème central limite qui est un résultat de convergence et non une égalité. En pratique, on connaît rarement la variance de ce qui est gênant dans le calcul de l'intervalle de confiance asymptotique ci-dessus. On peut résoudre ce problème en approximant cette variance via l'estimateur

Encore une fois, par la loi forte des grands nombres, cet estimateur converge vers la variance lorsque cette dernière est finie.

Il est à noter que pour appliquer la méthode de Monte-Carlo décrite ci-dessus, il est supposé qu'il est possible de générer des variables aléatoires suivant la loi de . En pratique, cela peut constituer une difficulté à part entière, de plus il n'est pas toujours possible de générer facilement de telles variables aléatoires avec exactitude. Dans ce dernier cas, on cherchera alors à générer des variables aléatoires suivant une loi approximant au mieux la loi théorique de .

La méthode de Monte-Carlo présentée ci-dessus est l'une des versions les plus simples et épurées qui soient. Il existe de nombreuses variantes, plus précises ou plus rapides ou adaptées à d'autres circonstances, dont certaines sont mentionnées dans la section dédiées plus bas.

Applications

[modifier | modifier le code]

Estimer l'aire d'une surface ou un volume

[modifier | modifier le code]

Une grande catégorie de problèmes pouvant se résoudre par l'approche de Monte-Carlo est celle de l'estimation de l'aire d'une surface ou plus généralement d'un volume en dimension quelconque. Le principe général consiste à générer des points uniformément au hasard dans une zone bornée mais assez large pour contenir la surface ou le volume à estimer. Ensuite, il suffit de compter le nombre de points tombant dans la surface ou le volume et de diviser par le nombre total de points générés pour estimer l'aire ou le volume. Quelques exemples sont présentés ci-dessous.

Détermination de la superficie d'un lac

[modifier | modifier le code]

Cet exemple est un classique en vulgarisation de la méthode de Monte-Carlo. Soit une zone rectangulaire ou carrée dont les côtés sont de longueur connue. Au sein de cette aire se trouve un lac dont la superficie est inconnue. Grâce aux mesures des côtés de la zone, on connaît l'aire du rectangle. Pour trouver l'aire du lac, on demande à une armée de tirer X coups de canon de manière aléatoire sur cette zone. On compte ensuite le nombre N de boulets qui sont restés sur le terrain ; on peut ainsi déterminer le nombre de boulets qui sont tombés dans le lac : XN. Il suffit ensuite d'établir un rapport entre les valeurs :

Par exemple, si le terrain fait 1 000 m2, que l'armée tire 500 boulets et que 100 projectiles sont tombés dans le lac, alors une estimation de la superficie du plan d'eau est de : 1000×100÷500 = 200 m2.

Estimation de la surface du lac grâce à des tirs d'artillerie aléatoires.

La qualité de l'estimation s'améliore (lentement) en augmentant le nombre de tirs et en s'assurant que les artilleurs ne visent pas toujours le même endroit mais couvrent bien la zone, de manière uniforme. Cette dernière remarque est à mettre en parallèle avec la qualité du générateur aléatoire qui est primordiale pour avoir de bons résultats dans la méthode de Monte-Carlo. Un générateur biaisé est comme un canon qui tire toujours au même endroit : les informations qu'il apporte sont réduites.

Détermination de la valeur de π

[modifier | modifier le code]

Cette méthode est proche de l'expérience de l'aiguille de Buffon.

Soit un point M de coordonnées (x, y), où 0 < x < 1 et 0 < y < 1. On tire aléatoirement les valeurs de x et y entre 0 et 1 suivant une loi uniforme. Le point M appartient au disque de centre (0,0) de rayon R = 1 si et seulement si x2 + y2 ≤ 1. La probabilité que le point M appartienne au disque est π/4, puisque le quart de disque est de surface σ=π R2/4 = π/4, et le carré qui le contient est de surface S = R2=1 : si la loi de probabilité du tirage de point est uniforme, la probabilité de tomber dans le quart de disque vaut σ/S = π/4.

En faisant le rapport du nombre de points dans le disque au nombre de tirages, on obtient une approximation du nombre π/4 si le nombre de tirages est grand.

Représentation du calcul de la valeur de π par rapport du nombre de points aléatoires étant contenus dans un quart de cercle, l'ensemble des possibles étant un carré de côté R.

Calcul d'une intégrale

[modifier | modifier le code]

L'intégrale d'une fonction correspond à l'aire algébrique sous sa courbe. Estimer l'intégrale d'une fonction revient donc à estimer l'aire d'une surface et on peut donc appliquer une méthode de Monte-Carlo.

Par exemple supposons que l'on veuille estimer l'intégrale suivante

est une fonction continue. Cette intégrale peut être vue comme une espérance. En effet, soit une variable aléatoire de loi uniforme sur , alors par la formule du transfert on a

On peut alors appliquer une méthode simple de Monte-Carlo et générer variables aléatoires iid uniformément au hasard dans et approximer l'intégrale ci-dessus par Ce procédé peut s'appliquer à une intégrale en dimension quelconque et pas nécessairement en dimension une comme ici. D'ailleurs en grande dimension, les méthodes de Monte-Carlo sont bien plus efficaces que d'autres méthodes classiques comme celle des sommes de Riemann par exemple.

Recouvrement de courbes et méthode contrainte-résistance

[modifier | modifier le code]
Méthode contrainte-résistance : la fréquence de défaillance correspond à l'aire sous l'intersection des courbes rouge et bleue (haut).

La méthode de Monte-Carlo peut être utilisée pour déterminer l'aire sous l'intersection de deux courbes, qui n'est qu'une surface particulière.

Les courbes peuvent être les courbes représentatrices des densités de probabilité de deux lois. C'est par exemple utilisé dans la méthode contrainte-résistance :

  • un système est soumis à une contrainte — une sollicitation quelle qu'elle soit (effort mécanique, variation de température, passage de courant électrique, …) — dont l'intensité est une variable aléatoire S ;
  • le système est conçu pour résister à cette contrainte, sa résistance est exprimée par une valeur, une variable aléatoire R ;
  • le système est validé si la résistance est supérieure à la contrainte — R > S — dans un certain nombre de cas (typiquement 99 % ou 99,9 %).

La probabilité complémentaire — les cas de défaillance, celle pour laquelle R ≤ S — est l'aire sous l'intersection des deux courbes représentant les lois.

On peut déterminer la probabilité P(R > S) en faisant des tirages aléatoires sur R et S et en dénombrant les cas pour lesquels « R > S » est vrai.

Application au modèle d'Ising

[modifier | modifier le code]

Estimation de la valeur d'un coup au go

[modifier | modifier le code]

Aux échecs, comme dans beaucoup de jeux de plateau, il est possible de mesurer la valeur d'une position, et donc des coups y conduisant, en évaluant quantitativement la position obtenue : nombre de pièces sur l'échiquier, valeurs des pièces (1 point par pion, 5 par tour...), position relative des pièces entre elles, et en pondérant la valeur trouvée par les libertés, les protections des pièces, etc. Cette évaluation basée sur l'analyse et l'expertise est d'autant plus rapide à mesurer qu'on avance dans la partie, car le nombre de pièces diminue.

Dans le jeu de go, l'évaluation d'une position globale reste très difficile avec des méthodes d'analyses classiques du fait de l’enchevêtrement et de la complexité des positions locales et du nombre virtuellement infini de suites de coups possibles. En 2006, le mathématicien Rémi Coulom a fait progresser de manière très sensible cette fonction d'évaluation et l'efficience des logiciels de jeu de go en utilisant la méthode de Monte-Carlo : on joue "au hasard" un grand nombre de fins de parties réalistes à partir de la position "en cours d'évaluation" et on comptabilise la proportion de parties gagnantes/perdantes. Cette estimation statistique s'affine en biaisant le hasard par élimination de coups a priori stupides. Cette méthode s'avère très efficace[3],[4]. Elle est utilisée en particulier par les programmes AlphaGo et AlphaZero[5].

Estimation de la valeur d'un coup aux échecs

[modifier | modifier le code]

Parfois, pour savoir si un coup ambigu doit être fait (échange de pièces par exemple), lorsqu'on manque d'information [Lesquels ?], ou pour choisir entre plusieurs coups menant tous à des pertes de matériel, il est possible de lancer plusieurs parties rapides au hasard[C'est-à-dire ?], pour savoir quelle est la moins mauvaise ou la meilleure des solutions[réf. nécessaire].

Probabilité de la performance en bourse

[modifier | modifier le code]

Selon l'hypothèse des marchés efficients, les performances boursières sont aléatoires et suivent une loi normale. Dans ces conditions, il est possible de réaliser des milliers de tirages aléatoires pour déterminer les probabilités d'atteindre certaines performances boursières dans le futur[6]. Cette caractéristique des marchés financiers permet d'utiliser la méthode de Monte-Carlo pour valoriser des options, ou encore des SPAC.

Espérance du gain d'une option dans le modèle de Black et Scholes

[modifier | modifier le code]

On note le prix d'un actif fixé au temps . Le modèle de Black et Scholes consiste à dire que le prix de cet actif répond à l'équation différentielle stochastique suivante : est un réel (appelé parfois dérive), est un réel positif (appelé volatilité) et désigne un mouvement brownien standard.

On suppose que l'on veuille estimer l'espérance du gain perçu par la détention d'une option européenne d'achat (call) de maturité et de prix d'exercice (strike) . Si le prix au temps , à savoir , est plus grand que , l'option est exercée et le gain est de , sinon le gain est nul. On cherche donc à estimer la quantité .

Pour estimer cette espérance, on peut avoir recours à une méthode de Monte-Carlo. Pour cela, il faut alors pouvoir générer des variables aléatoires suivant la loi de . On peut utiliser directement la forme de la solution de l'équation différentielle stochastique, à savoir

Il suffit alors de générer des variables aléatoires iid de même loi que qui est simplement une gaussienne centrée de variance . On approxime ensuite l'espérance du gain de l'option par

sont variables iid de même loi que .

Maintenant on suppose que l'on veuille étudier cette fois-ci une option américaine et non plus européenne. Dans ce cas il nous faudra générer tout le processus et non plus simplement la variable . Une solution consiste à utiliser la méthode d'Euler à partir de l'équation différentielle stochastique. On commence par découper l'intervalle de temps en parties égales et on pose . Ensuite on génère une suite de variables aléatoires

sont des gaussiennes centrées réduites indépendantes. On complète ensuite par interpolation linéaire. Pour choisi très grand, le processus aléatoire ainsi construit devrait avoir une loi assez proche de celle de . On peut répéter la construction précédente pour obtenir processus aléatoires iid de loi proche de celle de .

Méthodes accélérées

[modifier | modifier le code]

Le nombre de simulations nécessaires pour atteindre une marge d'erreur voulue est parfois trop important avec la méthode Monte-Carlo. C'est le cas notamment pour estimer la probabilité d'un évènement rare. Dans ce cas la méthode Monte-Carlo est déconseillée, car le nombre de simulations nécessaires pour obtenir une bonne précision est énorme, ce qui donne des temps calcul beaucoup trop long...

Diverses méthodes, dites techniques de réduction de la variance, permettent d'améliorer la précision de l'estimation — ou de diminuer le nombre de simulations nécessaires — en remplaçant par une autre variable aléatoire. Ces techniques entrent en général dans l'une des classes suivantes : l'échantillonnage préférentiel, les variables de contrôle, le conditionnement, la variable antithétique, la stratification. L'échantillonnage préférentiel est théoriquement la méthode qui peut réduire le plus la variance, mais en pratique, cette méthode est parfois difficile a mettre en œuvre. Le cas échéant, les autres méthodes peuvent donner de meilleur résultat. Dans le cas où la variable aléatoire est une trajectoire aléatoire (suite de variable aléatoire, ou trajectoire d'un processus), on peut aussi utiliser des méthodes particulaires, ou si l'on dispose d'une densité pour la trajectoire , l'échantillonnage préférentiel est aussi une possibilité.

Notes et références

[modifier | modifier le code]
  1. Nicholas Metropolis, « The Beginning of the Monte Carlo Method », Los Alamos Science, no 15,‎ , p. 125-130 (lire en ligne).
  2. Nicholas Metropolis et Stanislaw Ulam, « The Monte Carlo Method », Journal of the American Statistical Association, vol. 44, no 247,‎ , p. 335-341 (DOI 10.2307/2280232, lire en ligne).
  3. « le jeu de go, le seul jeu où l'ordinateur ne bat pas l'homme », sur Slate, (consulté le ).
  4. « le jeu de go et la révolution de monte-carlo », sur interstices.info, (consulté le ).
  5. (en) David Silver et Demis Hassabis, « AlphaGo: Mastering the ancient game of Go with Machine Learning », sur Google Research Blog, .
  6. Edouard Petit, « Prévoir la bourse et votre patrimoine grâce aux simulations de Monte-Carlo », sur Epargnant 3.0, (consulté le ).

Bibliographie

[modifier | modifier le code]

Articles connexes

[modifier | modifier le code]

Codes de simulation utilisant des méthodes de Monte-Carlo

Liens externes

[modifier | modifier le code]