36
Modélisation et simulation INFO-F-305 Gianluca Bontempi Département d’Informatique Boulevard de Triomphe - CP 212 http://www.ulb.ac.be/di Modélisation et simulation – p. 1/36

Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

  • Upload
    lamnhi

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Modélisation et simulationINFO-F-305

Gianluca Bontempi

Département d’Informatique

Boulevard de Triomphe - CP 212

http://www.ulb.ac.be/di

Modélisation et simulation – p. 1/36

Page 2: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Simulation statistique• Jusqu’ici nos avons considéré des modèles déterministes. En réalité le

manque de connaissance, la procédure d’abstraction accompliependant la modélisation, les erreurs de mesures rendent souvent unereprésentation déterministe de la réalité trop limitée.

• Il est important donc représenter à l’intérieur de notre modèlel’incertitude et être capable de la tenir en considération pendant lasimulation.

• Le formalisme probabiliste a été souvent utilisé dans les sciences pourreprésenter et manipuler l’incertitude.

• Trouver une solution analytique d’un modèle probabiliste est souventimpossible. Dans ces cas, la seule manière d’étudier le système estdonc la simulation.

• Simuler un système avec des paramètres ou des conditions initialesprobabilistes demande la capacité de générer des nombres selon unedistribution de probabilité.

• On définit simulation statistique toute méthode qui utilise des séquencesdes nombres aléatoires (ou random).

Modélisation et simulation – p. 2/36

Page 3: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Les méthodes Monte Carlo• Les techniques de simulation Monte Carlo sont utilisées pour simuler

des systèmes déterministes avec des paramètres ou des entréesstochastiques.

• Le nom a été proposé par les scientifiques du projet Manhattan lors dela deuxième guerre mondiale et fait allusion aux jeux de hasardpratiqués à Monaco.

• Parmi les pionniers des méthodes MC nous retrouvons E. Fermi, J.Neumann, S. Ulam, N. Metropolis.

• Les méthodes MC sont aujourd’hui utilisées pour simuler desphénomènes physiques complexes dans plusieurs domainesscientifiques et appliqués: radioactivité, physique des hautes énergies,réseaux, économétrie, logistique.

• La technique de simulation Monte Carlo s’appuie sur l’échantillonnagedes distributions des quantités incertaines.

• Il peut être visualisé comme une boite noire où entre un flux de nombrespseudo-aléatoires (c.-à-d. générés par l’ordinateur) et un flux denombres sort; l’estimation de la quantité d’intérêt est obtenu enanalysant l’output. Modélisation et simulation – p. 3/36

Page 4: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

?

mésure 1paramètre 1

mésure 2

2

11.5

−2

paramètre 2

paramètre 3

Simulateur

?

Modélisation et simulation – p. 4/36

Page 5: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Exemple• Supposons d’avoir une population dont la décroissance est décrite par

l’équation différentielle

x = Kx, x(0) = 10

où la quantité K < 0 n’est pas connue de manière exacte mais qui peutêtre décrite par une distribution de probabilité uniforme K← U(−4,−2).

• Puisque K est aléatoire, la quantité x(t) le sera aussi.

• Supposons de vouloir répondre aux questions suivants: Aura quelleforme la distribution de la valeur x(t) pour t = 2? Sera-t-elle encore unedistribution uniforme? Quelle moyenne et/ou variance a-t-elle? Quelleprobabilité nous avons que x(t) soit entre .1 et .2?

• Script MATLAB mc.m.

Modélisation et simulation – p. 5/36

Page 6: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

0 0.05 0.1 0.15 0.20

50

100

150

200

250

300

350

400

450

500Histogramme de x(2)

1000 réalisations de la variable K.

Modélisation et simulation – p. 6/36

Page 7: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Les méthodes Monte Carlo• La simulation Monte Carlo peut être utilisée toutes les fois que le

comportement d’un système peut être décrit par l’évolution d’unedensité de probabilité (par exemple la densité de x(t) dans l’exempleprécédent).

• Il est intéressant de remarquer que parfois même des problèmes non

random peuvent être résolus par une approche stochastique. Unexemple est le calcul de la surface d’un lac

• La méthode est basée sur (i) l’échantillonnage des quantités aléatoires,(ii) de la répétition d’une simulation déterministe (trial) pour chaquequantité échantillonnée et (iii) sur l’agrégation des résultats.

• Ils existent problèmes qui ne peuvent être résolus que par la méthodede MC et des problèmes qui sont plus faciles à résoudre par la méthodede MC.

• MC est souvent considérée comme la méthode en dernier ressortpuisque elle demande des ressources computationnelles assezconsistantes.

Modélisation et simulation – p. 7/36

Page 8: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Calcul surface d’un lac• Considérons une zone rectangulaire ou carrée dont la surface A terrain

est connue. Au sein de cette aire se trouve un lac dont la superficie A lac

est inconnue.

• Pour trouver l’aire du lac, on demande à une armée de tirer N coups decanon de manière aléatoire et uniforme sur cette zone. On compteensuite le nombre N0 de boulets qui sont restés sur le terrain et ainsi lenombre N −N0 de boulets qui sont tombés dans le lac.

• Puisque la probabilité qu’un boulet tombe dans une région d’aire A estproportionelle à l’aire même, il suffit de calculer:

A terrain

A lac=

N

N −N0=⇒ A lac =

(N −N0)

N·A terrain

Si A terrain = 1000 m2 et l’armée tire N = 500 boulets et queN −N0 = 100 projectiles sont tombés dans le lac alors l’estimation est:A lac ≈ 100/500 ∗ 1000 = 200 m2.

• D’après la loi des grands nombres, la qualité de l’estimation s’amélioreen augmentant le nombre de tirs et en s’assurant que les artilleurs nevisent pas toujours le même endroit mais couvrent bien la zone.

Modélisation et simulation – p. 8/36

Page 9: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Composantes d’un algorithme MCDescription probabiliste: un modèle stochastique du problème.

Générateur uniforme de nombrés aléatoires: un générateur de nombresaléatoires uniformément distribués sur l’intervalle [0, 1].

Loi d’échantillonnage: une technique pour échantillonner une distribution deprobabilité générique.

Simulateur: un simulateur déterministe qui renvoie l’output quand tous lesparamètres sont connus.

Collecteur des outputs: structure des données pour stocker tous les outputs dela simulation.

Analyseur de l’output: ensemble de techniques statistiques qui permettent detirer conclusions à partir des données générées par le simulateur.

Estimateur d’erreur: ceci permet d’associer à chaque quantité estimée à partirde l’output une indication sur l’erreur ou sur la confiance (par exempleen fonction du nombre de répétitions).

Modélisation et simulation – p. 9/36

Page 10: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Variables aléatoires continues• Considérons une variable aléatoire z réelle et continue. Il est possible

définir les quantités suivantes:

Définition. La fonction de répartition de z est la fonction

Fz(z) = Prob {z ≤ z} (1)

Définition. La fonction de densité de z est la dérivée de la fonction de répartition:

pz(z) =dFz(z)

dz(2)

• La probabilité d’une v.a. continue n’est pas définie pour des valeurs z

ponctuelles mais seulement pour des intervalles de valeurs

Prob {a < z < b} =

∫ b

a

pz(z)dz,

Z

pz(z)dz = 1

Modélisation et simulation – p. 10/36

Page 11: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Moyenne et variance d’une v.a. continueEspérance (moyenne):

µ =

∫ h

l

zp(z)dz

Variance:

σ2 =

∫ h

l

(z − µ)2p(z)dz

Moments d’ordre r :

µr = E[zr] =

∫ h

l

zrp(z)dz

Modélisation et simulation – p. 11/36

Page 12: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Le problème Monte CarloConsidérons une variable aléatoire x ∈ R

n de dimensionnalité n. Lesméthodes Monte Carlo essaient de résoudre les deux problèmes suivants

Echantillonnage : comment générer une série d’échantillons indépendantes{xi}, i = 1, . . . , N , qui soient tous tirés à partir de la même densité deprobabilité px(x).

Estimation : étant donnée la fonction g(x) et la variable aléatoire x ∈ Rn,

estimer l’espérance de la variable aléatoire g(x)

θ = E[g(x)] =

g(x)p(x)dx

θ est la moyenne de la variable aléatoire g(x) qui représente la sortie dusystème.

Modélisation et simulation – p. 12/36

Page 13: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

La solution du premier problème rend possible la solution du deuxième.L’estimation de θ est obtenu à partir des N échantillons xi par

θ =1

N

N∑

i=1

g(xi)

La loi des grands nombres nous garantit que

limN→∞

θ = θ

Il est possible aussi de montrer que cet estimateur a des propriétésintéressantes d’un point de vue statistique. Il est non polarisé (en anglaisunbiased), c.-à-d.

E[θ] = θ

et sa variance est

Var[

θ

]

=σ2

N

où σ2 est la variance de g(x).

Modélisation et simulation – p. 13/36

Page 14: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

• La racine de la variance est une mesure de l’erreur moyenne commiseune fois que nous estimons θ avec θ.

• Nous remarquons que la variance de θ est indépendante de ladimensionalité n.

• La propriété la plus importante des méthodes MC est donc que la

précision de l’estimation renvoyée par Monte Carlo est indé pendante de la

dimensionnalité n de la variable x en entrée .

• Ceci signifie, que indépendamment de la dimensionnalité de x quelquedizaine d’échantillons de x peut être suffisante pour estimer θ d’unemanière satisfaisante.

Modélisation et simulation – p. 14/36

Page 15: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Qu’est-ce que un nombre aléatoire?• La simulation Monte Carlo s’appuie sur la capacité de générer des

nombres aléatoires. Un autre domaine qui est également intéressé parla capacité de générer des nombres aléatoires est celui de lacryptographie. Mais• Qu’est-ce que un nombre aléatoire?• Peut un nombre aléatoire être généré par une machine déterministe,

comme l’ordinateur?• Est-il possible de générer des séquences vraiment aléatoires?

• Il n’existe pas une réponse universellement partagée à ce genre dequestions.

• La raison est que plusieurs définitions de aléatoire (en anglaisrandomness) existent.

• Selon le livre de Papoulis, deux définitions des nombres aléatoirespeuvent être formulées.

Modélisation et simulation – p. 15/36

Page 16: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Les définitions de nombre aléatoireDéfinition conceptuelle: une séquence de nombres xi est appelée aléatoire

(random) si elle est égale à la séquence d’échantillons d’une variablealéatoire x.

Définition empirique: une séquence de nombres xi est appelée aléatoire(random) si ses propriétés statistiques sont les même que les propriétéd’une séquence de nombres obtenues dans une expérience aléatoire.

La définition empirique est une définition opérationnelle qui suggère unemanière pratique pour répondre à la question si une séquence de nombres(par exemple générés par un ordinateur) est aléatoire.

L’atout de cette définition est que la randomness d’une séquence peut êtredéterminée par des outils statistiques conventionnels (tests d’hypothèse,...).

Modélisation et simulation – p. 16/36

Page 17: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Les propriétés des nombres aléatoiresConsidérons une séquence de N nombres xi tirés à partir d’une distributionuniforme de la variable aléatoire x sur [0, 1]. Cette séquence de nombres doitsatisfaire deux propriétés:

1. uniformité , c.-à-d. ils sont equirepartis sur [0, 1].

2. indépendance , c.-à-d. la valeur xi ne doit avoir aucune relation oudépendance par rapport à la valeur xi−1 ou plus en général avec lesautres valeurs xj , j = 1, . . . , i− 1, i + 1, . . . , N .

Il s’ensuit que

1. Si l’intervalle [0, 1] est reparti en n sous-intervalles de la même taille,alors le nombre d’observations attendu dans chaque intervalle est N/n.Notons que N doit être suffisamment grand pour remarquer cettepropriété.

2. La probabilité d’observer une valeur dans un certain intervalle estindépendante des valeurs tirées à l’avance.

Modélisation et simulation – p. 17/36

Page 18: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Génération des nombres aléatoiresLes nombres aléatoires peuvent être générés par les manières suivantes

observation d’expériences de nature aléatoire:

• mesurer un dispositif physique qui présente certaines propriétésstochastiques (bruit d’une résistance, diode, compteur Geiger).

• observer les lancement d’une pièce équilibrée afin de générer uneséquence aléatoire de 0 (pile) et 1 (face);

• extraire des billes d’une urne (loterie);• utiliser les chiffres décimaux de π

par l’ordinateur : ceux ci sont appelés nombres pseudo-aléatoires

L’approche pseudo-aléatoire est souvent préférable puisque elle est plusrapide, plus facilement gérable et permet la contrôlabilité et la répétitivité del’expérience si nécessaire (par exemple pour des raison de débogage)

Modélisation et simulation – p. 18/36

Page 19: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Génération des nombres aléatoires• The generation of random numbers is too important to be left to chance.

(Robert R. Coveyou (1969))

• Anyone who considers arithmetical methods of producing random digits,is, of course, in a state of sin (J. von Neuman (1951))

Modélisation et simulation – p. 19/36

Page 20: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Génération des nombres pseudo-aléatoires• Le but est générer à l’ordinateur des échantillons d’une distribution de

probabilité générique.

• Bien que les nombres pseudo-random ne soient pas vraiment aléatoirespuisque ils ont été générés de manière déterministe, le but est de créerune séquence qui puisse apparaitre comme non déterministe àquelqu’un qui ne connait pas l’algorithme sous-jacent.

• D’un point vue statistique apparaitre come aléatoire revient à passer destest statistiques (comme le test Kolmogorov-Smirnov).

• Toutefois, a l’état actuel, ceci n’est pas fait de manière directe pour unedistribution pz(·) quelconque.

• Normalement on commence par générer une séquence de nombresaléatoires uniformes et après on applique une transformation pourobtenir une séquence qui appartient à la distribution désirée pz(·).

Nous verrons dans la suite comment générer des nombres aléatoiresuniformes et les méthodes pour les transformer.

Modélisation et simulation – p. 20/36

Page 21: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Propriétés d’un générateur pseudo-aléatoireUn bon générateur de nombres aléatoires devraient satisfaire les critèressuivants:

Distribution correcte. Les points devraient être distribués de manière conformeà la distribution échantillonnée. Aussi, aucune corrélation (nidépendance) ne devrait être observable entre les nombres générésséquentiellement.

Longue période. Comme un générateur de nombres aléatoires est exécuté surun ordinateur déterministe, il devient de facto un algorithmedéterministe. Ses sorties sont inévitablement entachées d’unecaractéristique absente d’une vraie suite aléatoire : la périodicité. Avecdes ressources limitées (mémoire, nombre de registres, etc.), legénérateur retrouvera le même état interne au moins deux fois. Afind’éviter des corrélations non désirées, la quantité de nombres généréedevrait toujours être inferieure à cette période.

Modélisation et simulation – p. 21/36

Page 22: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Répétabilité. Afin de faciliter l’utilisation et le testing de code qui s’appuie surla génération des nombres aléatoires il est nécessaire de pouvoirreproduire une séquence déjà obtenue. Aussi il serait bien de pouvoirgénérer de nouveau une partie de la séquence sans recommencer dudébut. A ce fin il est nécessaire d’associer un état (graine ou seed enanglais) au générateur afin de pouvoir rétablir une configuration déjàvue.

Longues séquences non corrélées. Pour des simulations de longues durées ilest important de pouvoir exécuter plusieurs sous-simulationsindépendantes et de pouvoir les recombiner dans la suite en s’assurantque la propriétés d’indépendance soit satisfaite.

Portabilité. ceci ne signifie pas seulement que le code devrait être portable(e.g. implémenté en un langage haut-niveau comme Fortran ou C) maisaussi que il devrait générer exactement le même séquence sur desmachines différentes.

Efficacité. La génération d’une séquence de nombre pseudo-aléatoires nedevrait pas demander des ressources de calcul excessives. La plupartdes langages de programmation contient aujourd’hui un générateur denombres pseudo-aléatoires.

Modélisation et simulation – p. 22/36

Page 23: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

La méthode de Von NeumannEn 1946, John von Neumann propose un générateur pseudo-aléatoire connusous le nom de la méthode middle-square (carré médian). Très simple, elleconsiste à prendre un nombre, à l’élever au carré et à prendre les chiffres aumilieu comme sortie. Celle-ci est utilisée comme graine pour l’itérationsuivante.Exemple: prenons le nombre 1111. Les étapes de l’algorithme sont:

1. 11112 = 1234321

2. on récupère les chiffres du milieu: 3432. C’est la sortie du générateur.

3. 34322 = 11778624

4. on récupère les chiffres du milieu: 7786, et ainsi de suite.

La méthode a surtout une importance historique. Elle est faible et la qualitédes sorties dépend de la graine. Par exemple l’état 0000 produit toujours lamême séquence et constitue un état absorbant de l’algorithme.

Modélisation et simulation – p. 23/36

Page 24: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Générateur congruentiel linéaire• Le générateur congruentiel linéaire (en anglais linear congruential

generator (LCG)) a été proposée en 1951 par Lehmer pour générer desnombres pseudo-aléatoires selon une distribution uniforme U(0, 1).

• Un générateur LCG génère une séquence zi de nombres entiers nonnégatifs grâce à la formule de récurrence (aussi connue comme l’algorithme de Lehmer )

zi = (azi−1 + c) mod m i ≥ 1

où a, c,sont des entiers, m est un nombre premier très grand et mod

dénote le reste de la division entière (par exemple 15 mod 4 = 3).

Modélisation et simulation – p. 24/36

Page 25: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

• La valeur initiale z0 est appelée la graine (ou seed) de la séquence.

• La suite ui = zi

m∈ [0, 1] est la suite de nombres pseudo-aléatoires qui

sont renvoyé par le générateur LCG.

• Si c = 0 le générateur est appelé générateur multiplicatif.

• La séquence de nombres entiers zi prenne valeur entre 0 et m− 1; ils’ensuit que si nous exécutons l’itération pour m étapes, au moins deuxvaleurs zi (et donc deux valeurs ui) seront identiques.

• La séquence est donc périodique pour N > m avec une périodem0 ≤ m. Si la période est m0 = m alors on dit que le générateur est àpériode maximale.

• Une séquence périodique ne peut évidemment pas être une séquencealéatoire. Toutefois, pour des applications où le nombre de ui généré estinferieur à m0, la périodicité n’a aucun effet.

• Il est possible montrer que seulement quelque ensemble de paramètrespermet la génération di une séquence avec des bonnes propriétésstatistiques.

• Des choix communs pour les paramètre du LCG sont: a = 75, c = 0 etm = 231 − 1.

Modélisation et simulation – p. 25/36

Page 26: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Tests d’aleatoiretéSupposons d’avoir généré N nombres pseudo-aléatoires xi par ungénérateur uniforme.

• Test des moments: si x ∼ U(0, 1) alors les trois premiers momentsdevraient être 1/2, 1/3 et 1/4, respectivement.

• Test chi-carré: supposons de diviser l’intervalle [0, 1] en s

sous-intervalles Ij de taille égale. Soit

cj = {#xi ∈ Ij}, j = 1, . . . , s

la quantité de valeurs observée à l’intérieur du jème intervalle. Laquantité

C =s

N

s∑

j=1

(

cj −N

s

)2

est une mesure de concordance entre les valeurs observées et lesvaleurs attendues. Si les nombres avaient été générés par une variablealéatoire uniforme alors la quantité C devrait être distribuée comme unevariable χ2 avec s− 1 degrés de liberté.

Modélisation et simulation – p. 26/36

Page 27: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Tests d’aleatoireté (II)• Goodness of fit : ceci calcule l’écart

KN = supx

|Fx(x)− Fx(x)|

entre la fonction de répartition empirique

Fx(x) =#xi ≤ x

N

et la fonction de répartition attendue Fx

• Test d’autocorrelation.

• Test du maximum.

• Test des séquences binaires.

Modélisation et simulation – p. 27/36

Page 28: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Transformation des variables aléatoires• Considérons une variable continue x ∈ X de densité px(x).

• Définissons une nouvelle variable aléatoire y ∈ Y en sort que y = F (x)

est une fonction monotone non décroissante.

• Que pouvons nous dire sur la densité py(y)?

• Selon la définition de densité de probabilité nous avons

px(x)dx = py(y)dy

et donc

py(y) =px(x)

dFdx

si F (x) est une fonction monotone non décroissante.

Modélisation et simulation – p. 28/36

Page 29: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Fonction de répartition• Prenons comme fonction F (x) la fonction suivante

F (x) = Fx(x)

où Fx : R→ [0, 1] est la fonction de répartition de x.

• Puisque Fx(x) est une fonction monotone non décroissante et

dy

dx=

dFx(x)

dx= px(x)

• Nous obtenonspy(y) = 1

• En d’autres termes la variable y = Fx(x) est toujours distribuée demanière uniforme sur [0, 1] pour quelconque densité de probabilité px(x).

• Ce résultat a un rôle clé pour la génération d’échantillons à partir dedistributions autres que l’uniforme.

Modélisation et simulation – p. 29/36

Page 30: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

La méthode de la transformation inverse• La méthode de la transformation inverse s’appuie sur la propriété de

monotonie non décroissante de la fonction de répartition Fx(·) et sur lapropriété y = Fx(x) ∼ U(0, 1).

• Soit x une variable aléatoire avec fonction de répartition Fx(x). Laméthode de la transformation inverse d’échantillonnage de la variable x

effectue les deux opérations suivantes

1. un nombre u est tiré à partir de la distribution U(0, 1)

2. la valeur x = F−1(u) est calculé.

• Cette règle connue comme la “Golden Rule for Sampling” a étéproposée par von Neumann en 1947.

Modélisation et simulation – p. 30/36

Page 31: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

2 x

F(x)

1

u1

x1

u2

x

Modélisation et simulation – p. 31/36

Page 32: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Exemples de transformation inverseDistribution uniforme Soit x ∼ U(a, b) une variable aléatoire distribuée de

manière uniforme entre a et b ≥ a

Fx(x) =x− a

b− a

Si u est un échantillon de U(0, 1) alors une réalisation de U(a, b)

obtenue, selon la méthode inverse par

x− a

b− a= u⇔ x = a + (b− a)u

Modélisation et simulation – p. 32/36

Page 33: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Exemples de transformation inverse (II)Distribution exponentielle . Soit x ∼ E(λ) et

Fx(x) = 1− e−λx

Si u est une réalisation de la variable uniforme U(0, 1) alors uneréalisation de E(λ) est obtenue par

1− e−λx = u⇔ x = −1

λln(1− u)

Il est important, toutefois, remarquer que pour plusieurs distributions (parexemple Gaussiens) il n’existe pas une forme analytique de l’inverse de lafonction de répartition. Méthodes alternatives ou méthodes numériques (parexemple basées sur l’interpolation) doivent être appliquées dans ces cas.

Modélisation et simulation – p. 33/36

Page 34: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

Méthode de rejection• Pour des distributions difficiles à gérer d’un point vue analytique, von

Neumann a proposé en 1951 un algorithme très général et indirectconnu sous le nom de méthode de rejection

• Cet algorithme permet d’échantillonner une fonction px(x) de manièreindirecte en passant par une densité de probabilité h(x) telle que

Ch(x) ≥ px(x), ∀x ∈ X

avec C > 1.

• Supposons de

1. savoir comment échantillonner la densité h(x).

2. savoir calculer la valeur de px(x) pour un x donné.

Modélisation et simulation – p. 34/36

Page 35: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

L’algorithme de rejection• La méthode est composée des étapes suivantes

1. Tirer un échantillon u selon la distribution U(0, 1)

2. Tirer un échantillon y selon la distribution h(y), indépendante de u.

3. Si u ≤ p(y)Ch(y) , la méthode renvoie x = y, autrement elle rejette y et

passe à l’étape 1.

• Il est possible montrer que la séquence générée suit la distributiontarget px(x).

Modélisation et simulation – p. 35/36

Page 36: Gianluca Bontempi Boulevard de Triomphe - CP 212 http ...di.ulb.ac.be/map/gbonte/modsim/simul.pdf · Les méthodes Monte Carlo •Les techniques de simulation Monte Carlo sont utilisées

ExempleSupposons de vouloir générer des nombres à partir de la densité deprobabilité suivante

p(x) =

{

2x, 0 ≤ x ≤ 1

0, ailleurs

par la méthode de rejection. Nous fixons h(x) = U(0, 1) et C = 2. Il s’ensuitque

Ch(x) ≥ p(x) ∀x ∈ X

L’algorithme de rejection effectue les étapes suivantes

1. Tirer un échantillon u selon la distribution U(0, 1)

2. Tirer un échantillon y selon la distribution U(0, 1), indépendante de u.

3. Si u ≤ p(y)Ch(y) = 2y

2 = y, la méthode renvoie x = y, autrement elle rejette

y et passe à l’étape 1.

Modélisation et simulation – p. 36/36