• Aucun résultat trouvé

Partie I Problématique et état de l'art

3.2 Les nouveaux tests de validation : Monte-Carlo, bootstrap, jackknife, permu-

3.2.3 Les simulations de Monte-Carlo

D'après Malvin H. Kalos et Paula A. Whitlock [137], ce sont des chercheurs travaillant dans le domaine nucléaire américain dans les années 1940 qui ont utilisé les premiers le nom de "méthode de Monte Carlo" en référence aux jeux de hasard. Les méthodes mathématiques ainsi désignées avaient pour but de trouver des valeurs approchées de quantités numériques en utilisant des simulations du hasard. L'exemple le plus connu est celui du calcul de la valeur approchée d'une intégrale quand on ne peut calculer sa valeur exacte. Il remonterait à Buon, auteur également en 1777 de l'expérience de l'"aiguille de Buon"57. Dans leur premier chapitre intitulé "What is

Monte Carlo", les auteurs choisissent la dénition suivante d'une "méthode de Monte Carlo" :  C'est une méthode de calcul qui requiert une utilisation délibérée de nombres tirés au hasard selon un processus stochastique .

Ils dénissent un tel processus comme une succession d'états dont l'évolution est déterminée par des évènements aléatoires. C'est donc plus qu'une simple génération de nombres aléatoires. La distinction que certains chercheurs font entre cette méthode de résolution approchée et la seule transcription informatique d'un processus stochastique naturel que serait la simulation proprement dite, leur semble théoriquement justiée mais dicile à maintenir dans la pratique, tant les deux paraissent liées.

Reuven Y. Rubinstein, au début de son ouvrage intitulé "Simulation and the Monte Carlo method" [209], donne trois éléments qui peuvent aider à distinguer les méthodes de Monte Carlo des simulations. Ce sont le rôle plus important du temps dans les secondes, l'indépendance entre observations dans les premières ainsi que leur facilité d'écriture de la "réponse" en une fonction des observations simulées. Dans le reste de son ouvrage, il fait une revue détaillée des divers types d'utilisation des simulations de Monte-Carlo et de leurs fondements. Il décrit la résolution approchée d'équations linéaires variées (simultanées, intégrales, diérentielles) par simulations de chaînes de Markov à temps discret ou continu, la résolution approchée de problèmes d'optimisa- tion, mais également les méthodes de génération de nombres aléatoires vériant des distributions de probabilité variées qui sont davantage dans notre champ d'investigations.

Nous allons nous attarder sur les méthodes de simulation de Monte-Carlo permettant de tirer "au hasard" une série statistique vériant une loi de probabilité donnée, qu'elle soit uni- dimensionnelle ou multidimensionnelle. D'après Reuven Y. Rubinstein, ces méthodes ont vu le jour dans les années 1950, les plus anciennes étant la méthode de la transformation inverse et la méthode d'acceptation-rejet, due à Von Neumann (1951)58. Prenons l'exemple simple d'une

57Elle consiste à calculer une valeur approchée de π obtenue en comptant le nombre de fois qu'une aiguille de

longueur L jetée de façon répétée sur un parquet formé de lames de largeur l < L tombe à cheval sur deux lames, sachant que la probabilité que cet évènement arrive est P = 2L

πl.

58L'auteur cite également la méthode de composition, due à Butler (1956), ramenant une loi de probabilité

variable X continue "triangulaire" dont la densité de probabilité est dénie par

f (x) =

½ x

8 si 0 6 x 6 4

0 sinon et la loi de répartition par F (x) =

   0 si x < t0 Rx 0 v8dv = x 2 16 si 0 6 x 6 4 1 si x > 4

dont on peut voir une représentation graphique dans la gure 3.2.

Fig. 3.2  Les éléments caractéristiques de la loi de probabilité de X : f sa densité, F sa fonction de répartition

Dans le premier cas (méthode de la transformation inverse) la simulation d'une valeur X se fait de la façon suivante :

1. on tire un nombre U au hasard entre 0 et 1

2. on calcule l'antécédent X de U par F, donc en résolvant l'équation59 F(X)=U

Appliquons cette procédure à la création d'une valeur X concernant la densité f triangulaire citée précédemment. Imaginons qu'on a tiré la valeur U = 0, 25. X est obtenu en résolvant l'équation

x2

16 = 0.25sur l'intervalle (0, 4), ce qui donne X=2.

Dans le second cas (méthode d'acceptation-rejet), voici une version très simpliée de la pro- cédure de tirage d'une valeur (dans l'intervalle (a, b) pour lequel la fonction de densité n'est pas nulle) selon l'algorithme d'acceptation-rejet :

1. on tire deux valeurs U et V au hasard entre 0 et 1,

2. on pose X = a + V (b − a) (ce qui revient à tirer X au hasard entre a et b) 3. si U 6 f(X), on accepte la valeur X, sinon on la rejette,

Cette procédure revient à choisir un point(U,V) au hasard à l'intérieur du rectangle contenant la courbe de la densité, donc avec U dans l'intervalle (0, 1) et X dans (a, b). Si le point est au dessus de la courbe, il et rejeté, sinon il est gardé. Ainsi les points gardés se trouvent répartis au hasard sous la courbe de densité. Reprenons notre même exemple et la valeur tirée U=0.25 avec cette seconde méthode. On tire alors une deuxième valeur V. Si V=0.4, comme a=0 et b=4,

X = a + V (b − a) = 0 + 0.4(4 − 0), soit 1.6, et f(X) = x8 = 1.68 = 0.2. L'inégalité U 6 f(X) n'est pas vériée, le point de coordonnées (1.6, 0.25) se trouvant au-dessus de la courbe. On

59Cette résolution se fait de façon exacte, c'est-à-dire en utilisant la forme analytique de la fonction F−1

réciproque de F. Ce qui restreint l'utilisation de cette procédure aux lois, peu nombreuses, pour lesquelles on sait la calculer.

3.2. Les nouveaux tests de validation : Monte-Carlo, bootstrap, jackknife, permutation, randomisation. ne garde pas cette valeur de X. On voit qu'il faudra dans notre cas60 beaucoup d'essais "ratés"

pour simuler des valeurs correctes, car on prend au hasard des points dans un rectangle d'aire 4 fois supérieure à celle sous la courbe (qui est 1 par dénition de la fonction de densité). On aura donc besoin d'environ 400 tirages pour obtenir 100 valeurs. Cet algorithme s'étend sans diculté théorique au cas d'une variable multidimensionnelle, en tirant comme ici une valeur de U dans l'intervalle (0,1), et autant de valeurs que de dimensions an de se trouver dans un hyper-rectangle englobant toutes les valeurs de probabilité non nulles.

Les deux procédures que nous venons de décrire sont les plus anciennes. Dans la première, aucune valeur tirée n'est rejetée, mais il faut connaître non seulement la forme analytique de la fonction de densité, mais aussi celle de sa réciproque. La seconde, dans sa version très simpliée, ne nécessite que la connaissance de la forme de sa fonction de densité, mais produit une bonne quantité d'essais infructueux. Toutefois la proportion de rejets peut être diminuée par l'ajout de connaissance experte dans le modèle. Depuis une cinquantaine d'année, les chercheurs ont fait preuve d'ingéniosité pour développer des procédures de simulation ecaces répondant à leurs besoins spéciques ( en biologie [173], en écologie [157]). Mais comme on vient de le voir pour ces deux procédures, augmenter l'ecacité d'une procédure de simulation a souvent pour eet connexe de restreindre son champ d'application. Pour notre part, nous ne pouvons pas accepter la méthode analytique, qui nous obligerait à spécier la loi de distribution. Nous pouvons utiliser la méthode d'acceptation-rejet d'origine uniquement si la proportion de rejets reste raisonnable, ce qui n'a pas été le cas dans nos simulations (cf. partie II de ce mémoire).