Вы находитесь на странице: 1из 44

Chapitre I : INTRODUCTION GENERALE

I.1. SIMULATION I.1.1. Dfinition


Effectuer une simulation consiste gnrer des donnes qui sont des ralisations de variables dterministes ou alatoires selon des lois donnes, afin d'tudier et de comprendre le fonctionnement de systmes conomiques, industriels, scientifiques, politiques, etc.

I.1.2. Objectifs
Une simulation permet de provoquer le droulement d'une exprience de faon rapide et conomique, et permet aussi d'viter les dangers lis la ralisation de certaines expriences l'chelle relle. Elle permet aussi de rpter l'exprience en fais ant varier les paramtres. Enfin elle aide l'laboration de techniques de prvision et d'amlioration.

I.1.3. Types de simulations


Il existe plusieurs types de simulations, savoir :

 Simulation statique
Lorsque le temps n'a pas d'influence. Elle utilise des tirages alatoires et souvent uniformes.

 Simulation dynamique
Concerne les systmes qui changent dans le temps.

 Simulation Dterministe
Elle ne contient pas de variable alatoire. Une variable d'entre donne produit toujours le mme rsultat.

 Simulation Stochastique
Lorsque les entres et les sorties sont alatoires.

Dans notre travail, nous allons nous limiter au cas d une simulation statique.

I.1.4. Avantages et Inconvnients


La simulation a de nombreux avantages et gale ment des inconvnients. Ils peuvent tre rsums comme suit : Avantages - la simulation est non destructrice, et les erreurs ne sont pas (trop) couteuses ; - le systme considr n a mme pas besoin d exister ;
1

- nous pouvons rpter volont des expriences identiques ou similaires dans les mmes conditions ; - nous pouvons souvent simuler un systme beaucoup plus rapidement que son volution dans la ralit, comme par exemple l volution d un biosystme ou la formation du systme solaire ; - nous pouvons simuler des modles trs complexes, plus ralistes que ceux que nous pourrions rsoudre par des formules analytiques ou par les mthodes d optimisation classiques ; - l animation graphique peut permettre de voir voluer le modle . Inconvnients - le cot de mise en uvre peut tre significatif, en particulier la modlisation et la programmation peuvent demander beaucoup d effort, de temps et d argent; - les temps d excution peuvent devenir excessifs ; - la simulation ne fournit habituellement que des estimations ; - l optimisation est beaucoup plus difficile par simulation que via les outils habituels de programmation mathmatique ; - l analyse statistique des rsultats n est pas toujours simple.

I.2. VARIABLES ET VECTEURS ALEATOIRES I.2.1. Variables Alatoires


Le mot variable alatoire tant trs souvent utilis en statistiques, il est important de comprendre sa signification. Dans la plupart des phnomnes alatoires, le rsultat d une preuve peut se traduire par une grandeur mathmatique, trs souvent reprsente par un nombre entier ou un nombre rel. La notion mathmatique qui reprsente efficacement ce genre de situation concrte est celle de variable alatoire (note galement v.a.). Remarque : Nous nous limiterons ici au cas des variables alatoires relles (les entiers faisant bien sr partie des rels).

Etant donn un espace probabilis d espace fondamental et de mesure de probabilit , on appelle variable alatoire sur cet espace, toute application de dans telle que         I.2.1.1. Type de variables alatoires

Il existe des variables alatoires discrtes et des variables alatoires continues.

I.2.2.1.1. Variables alatoires discrtes


Dfinition Une variable alatoire est dite discrte si elle ne prend que des valeurs discontinues dans un intervalle donn (born ou non born). Exemples : - le nombre de petits par port pour une espce anima le donne, - le nombre de bactries dans 100 ml de prparation, Loi de probabilit Une variable alatoire est caractrise par l ensemble des vale urs qu elle peut prendre et par l expression mathmatique de la probabilit de ces valeurs. Cette expression s appelle la loi de probabilit (ou distribution de probabilit) de la variable alatoire. La loi de probabilit d une variable alatoire discrte est entirement dtermine par les probabilits des vnements , parcourant l univers image . La loi de probabilit est donne par les . Afin de simplifier l criture, nous noterons pour la suite : ou .   quivalent Une loi de probabilit n est tablie que si , la somme tant tendue tous les indices . Fonction de rpartition On appelle fonction de rpartition d une variable alatoire , la fonction


telle que :

Concrtement la fonction de rpartition correspond la distribution des probabilits cumules. Le maximum atteint par la fonction de rpartition correspond la valeur de probabilit 1 car

I.2.2.1.2 Variables alatoires continues


Dfinition Une variable alatoire est dite continue si elle peut prendre toutes les valeurs dans un intervalle donn (born ou non born). Exemples : - le masse corporelle des individus pour une espce animale donne, - taux de glucose dans le sang, Fonction densit de probabilit Dans le cas d une variable alatoire continue, la loi de probabilit associe une probabilit chaque ensemble de valeurs dfinies dans un intervalle donn.
3



En effet, pour une variable alatoire continue, la probabilit associe l vnement est nulle, car il est impossible d observer exactement cette valeur. On considre alors la probabilit que la variable alatoire prenne des valeurs comprises dans un intervalle tel que     . Lorsque cet intervalle tend vers 0, la valeur prise par tend alors vers une fonction que l on appelle fonction densit de probabilit ou densit de probabilit. On appelle densit de probabilit toute application continue par morceaux : telle que :        

Fonction de rpartition

Si comme pour les variables alatoires discrtes, on dfinit la fonction de rpartition de par :   alors la relation entre la fonction de rpartition est la suivante :     et la fonction densit de probabilit  

I.2.1.2. Esprance et Variance

Une loi de probabilit peut tre caractrise par certaines valeurs typiques correspondant aux notions de valeur centrale, de dispersion et de forme de distribution.

I.2.1.2.1. Esprance mathmatique

L esprance d une variable alatoire correspond la moyenne des valeurs possibles de pondres par les probabilits associes ces valeurs. C est un paramtre de position qui correspond au moment d ordre 1 de la variable alatoire . Cas d une variable alatoire discrte Si est une variable alatoire discrte dfinie sur un univers probabilis , on appelle esprance de , le rel dfini par : . Cas d une variable alatoire continue Si est une variable alatoire continue de densit , on appelle esprance de , le rel dfini par :   si cette intgrale est convergente.

I .2.1.2.2. Variance

La variance d une variable alatoire est l esprance mathmatique du carr de l cart l esprance mathmatique. C est un paramtre de dispersion qui correspond au moment centr d ordre 2 de la variable alatoire  .

Si

est une variable alatoire ayant une esprance  .

, on appelle variance de le rel :

I.2.2. VECTEUR ALEATOIRE


Cas particulier d un couple de variables alatoires Densit conjointe Les dfinitions portant sur la loi jointe entre deux variables alatoires et impliquent que ces dernires soient dfinies sur le mme espace fondamental . Si et sont dfinies respectivement sur les espaces fondamentaux et , alors il faut envisager un espace qui englobe et appel espace-produit . Il suffit alors de connatre la loi jointe des deux variables alatoires ou loi de probabilit du couple , fonction dfinie par : Cas discret : Cas continu :                        

Remarque : Ceci peut tre gnralis un nombre que lconque de variables alatoires (vecteur alatoire).

I.3. INDEPENDANCE ENTRE VARIABLES ALEATOIRES


Les proprits concernant l indpendance statistique entre deux variables alatoires s appliquent aussi bien aux variables al atoires discrtes que continues. Si et sont deux variables alatoires indpendantes dfinies sur le mme univers alors : Cas discret :  Cas continu : 

Dans les deux cas on a :        

I.4. PROBABILITE CONDITIONNELLE I.4.1. Dfinition


En thorie des probabilits, la probabilit conditionnelle d'un vnement , sachant qu'un autre vnement de probabilit non nulle s'est ralis (ou probabilit de , sachant ) est le nombre not dfini par :

Le rel

se lit probabilit de , sachant

se note aussi parfois

Mathmatiquement, soient un espace probabilis et un vnement de probabilit non nulle (non quasi-impossible). A tout vnement de , nous associons le nombre not ou dfini par : dfinie par


Nous pourrions vrifier que l'application Le thorme de Bayes permet d'crire :  Si et sont indpendants alors :

est une probabilit.

I.4.2. Esprance conditionnelle


Soit un espace probabilis,

une variable alatoire relle intgrable et 

un

vnement. On appelle esprance conditionnelle: est l'esprance de sachant que s'est ralis.

I.4.3. Densit conditionnelle


Soient jointe

On appelle densit conditionnelle la loi:

un espace probabilis; ; tel que

et .

deux variables alatoires de loi

Chapitre II : SIMULATION DES VARIABLES ET VECTEURS ALEATOIRES

II.1. SIMULATION PAR ORDINATEUR


Le terme simulation dsigne gnralement toute exprience faite avec un ordinateur (via un logiciel) dont l objectif est de reproduire artific iellement un phnomne alatoire, autrement dit un phnomne manifestant l effet du hasard. La qualit d une simulation se me sure souvent sa proximit avec la ralit. Le tirage d un chantillon d une variable alatoire peut tre vu comme tant la forme la plus simple d une simulation. En raison de sa vitesse et de son norme capacit de calcul, l ordinateur est l outil adquat pour ce faire. Il permet en outre d analyser l chantillon tir comme on le ferait sur des donnes relles. Il a galement donn la simulation une dimension nouvelle. Elle est de plus en plus un instrument de la recherche scientifique aussi bien dans les sciences exactes que dans les sciences humaines . La simulation est particulirement utile pour comprendre le comportement des phnomnes alatoires trop complexes qui peut tre analys de faon satisfaisante par les mathmatiques. C est pourquoi le choix d un logiciel de simulation est une tape importante pour mener bien l tude d un modle. Si le logiciel choisi n est pas asse z flexible ou trop difficile utiliser, le projet de simulation peut produire des rsultats errons, voire tout simplement ne pas tre conduit terme. Des logiciels spcifiques ont t dvelopps pour faciliter les calculs numriques : ils utilisent un langage interprt optimis pour les calculs matriciels intensifs et des outils graphiques de simulation. On peut citer en particulier :
y y y

Le logiciel propritaire MATLAB Le logiciel libre OCTAVE Le logiciel SCILAB

Et pour bien comprendre le mouveme nt des phnomnes alatoires, nous utiliserons l un des logiciels les plus performants et convivial jusqu aujourd hui, le logiciel MATLAB, dans sa version 7.7.0.

II.2. MATLAB
MATLAB est un logiciel commercial de calcul numrique, de visualisation et de programmation trs performant et convivial dvelopp par la socit The MathWorks. Ce n'est cependant pas un logiciel de calcul algbrique ou symbolique. Le nom de MATLAB vient de MATrixLABoratory, les lments de donnes de base manipuls par MATLAB tant des matrices (pouvant bien videmment se rduire des vecteurs et des scalaires) qui ne ncessitent ni dimensionnement ni dclaration de type. Contrairement aux langages de programmation classiques (scalaires et compiler), les oprateurs et fonctions MATLAB permettent de manipuler directement et interactivement ces donnes matricielles, rendant ainsi MATLAB particulirement efficace en calcul numrique, analyse et visualisation de donnes en particuli er. Mais MATLAB est aussi un environnement de dveloppement ("progiciel") part entire : son langage d'assez haut niveau, dot notamment de structures de contrles, fonctions d'entre-sortie et de visualisation 2D et 3D, diteur/debugger, outils de const ruction d'interface utilisateur graphique (GUI)... permet l'utilisateur d'laborer ses propres fonctions ainsi que de vritables programmes ("M-files") appels scripts vu le caractre interprt de ce langage. MATLAB est disponible sur tous les systmes d'exploitation standards (Windows, Unix/Linux, MacOs X...). Le champ d'utilisation de MATLAB peut tre tendu aux systmes non linaires et aux problmes associs de simulation avec le produit complmentaire SIMULINK. Les capacits de MATLAB peuvent en outre tre enrichies par des fonctions spcialises regroupes au sein de dizaines de " toolboxes" (botes outils qui sont des collections de "M-files") couvrant des domaines trs varis tels que :
-

analyse de donnes statistiques mathmatiques symboliques (accs au noyau Maple V) analyse numrique (accs aux routines NAG)
8

traitement d'image, cartographie traitement de signaux (et du son en particulier) logique floue finance etc...

Une interface de programmation applicative ( API) rend finalement possible l'interaction entre MATLAB et les environnements de dveloppement classiques (excution de routines C ou Fortran depuis MATLAB, ou accs aux fonctions MATLAB depuis des programmes C ou Fortran). MATLAB permet en outre de dployer de vritables applications l'aide des outils de conversion optionnels suivants :
y y y y

MATLAB -> code C/C++, avec le MATLAB Compiler MATLAB ->Excel add-ins, avec le MATLAB Excel Builder MATLAB -> objets COM Windows, avec le MATLAB COM Builder etc...

Toutes ces caractristiques font aujourd'hui de MATLAB un standard incontournable en milieu acadmique, dans les diffrents domaines de l'ingnieur et la recherche scientifique.

II.3. NOMBRES ALEATOIRES GENERATION DE NOMBRES ALEATOIRES II.3.1. Nombre Alatoire


Un nombre alatoire est une occurrence d'une variable alatoire uniforme discrte ou continue. la base de toute simulation, il y a l utilisation de nombres alatoires en grande quantit. De plus, pour qu une simulation soit fiable il faut que les nombres alatoires utiliss aient toutes les proprits que l on attend d eux (jouer le rle de variables alatoires indpendantes identiquement distribus, uniformes sur l intervalle [0, 1]). Ainsi, il ne suffit pas de disposer d une liste finie de 100 ou mme d un million de nombres alatoires et de l utiliser en boucle pour des simulations.

II.3.2. Gnration de nombres alatoires


On ne sait gnrer sur un ordinateur que des nombres pseudo-alatoires, c est--dire des nombres dont les proprits statistiques s approchent des proprits statistiques des variables alatoires que l on cherche reprsenter. On dira qu une loi de probabilit est simulable si on peut dcrire un procd explicite permettant de produire des chantillons observs de cette loi partir d un gnrateur de la loi uniforme sur [0,1].

MATLAB dispose en particulier de certains outils utiles en probabilits et statistiques comme plusieurs gnrateurs de nombres alatoires dont rand, associ la loi uniforme sur l intervalle , et randn associ la loi normale . Les appels successifs rand et randn fournissent des ralisations de suites de variables alatoires indpendantes de loi Uniforme et Normale sur l intervalle  , respectivement. Au dbut d'un programme, il faut initialiser le gnrateur, en lui fournissant une premire valeur appele graine du gnrateur . Sinon, chaque fois que l'on d marre MATLAB, c'est la mme suite de valeurs qui sera donn e. Avec la commande rand (' state',sum (100 *clock)), le gnrateur rand est initialis avec une graine dont la valeur dpend de l'heure. Lorsque l'on utilise randn, il faut de mme initialiser son gnrateur.

Remarque : MATLAB Statistics Toolboxes possde des fonctions qui gnrent des variables alatoires de plusieurs lois. En gnral, ces fonctions ont la syntaxe suivante : pdfrnd(arg1,arg2,nrow,ncol) O pdf fait rfrence au type de la distribution, les premiers arguments reprsente les paramtres de la distribution (ainsi le nombre d argument peut changer), et les deux derniers arguments reprsentent le nombre de lignes et de colonnes dans le tableau des variables alatoires que va retourner la fonction. Voici la liste de quelques fonctions qui gnrent des variables alatoires :

Distribution Beta Binomiale Chi-Deux Exponentielle Gamma Normale Poisson betarnd binornd chi2rnd exprnd gamrnd normrnd poissrnd

Fonction MATLAB

10

Chapitre III : METHODES DE SIMULATION DES VARIABLES ALEATOIRES


Les mthodes de simulation, conues pour tre utilises en statistique et en recherche oprationnelle, ont connu et conn aissent encore un dveloppement rapide d l extraordinaire volution des ordinateurs. Les techniques de simulation sont des techniques numriques : simuler un phnomne signifie essentiellement reconstituer de faon fictive son volution. Dans ce chapitre, nous prsentons deux mthodes pour simuler des variables alatoires.

III.1. Mthode d inversion


La mthode d inversion est utilise pour gnrer des variables alatoires d une distribution continue ou discrte, lorsque la fonction de rpartition est explicitement formule. Cette mthode utilise le fait que la fonction de rpartition  est uniforme sur . Si est une variable alatoire sur , alors la variable alatoire recherche est obtenue partir de la relation  . On appelle inverse gnralise de  Soit une variable alatoire relle et soit  la fonction sa fonction de rpartition. dfinie par : .

Dans le cas o la fonction est continue et strictement croissante, son inverse gnralis correspond alors son inverse au sens usuel. Les tapes de la mthode d inversion sont :

III.1.1. Cas o

est une variable alatoire continue

1) Dduire l expression de la fonction de rpartition inverse 2) Gnrer un nombre alatoire uniforme ; 3) Obtenir le dsir partir de .

III.1.2. Cas o

est une variable alatoire discrte

Supposons que l on dsire gnrer une variable alatoire dont la fonction de probabilit ;  et  =1 . est donne par Nous obtenons le variable alatoire en gnrant un nombre alatoire uniforme  , pour ensuite chercher la variable alatoire en fonction de  si :

11

Les tapes de la mthode d inversion sont : pour , avec =1, . , 1) Dfinir une fonction de probabilit ( peut augmenter indfiniment) ; 2) Gnrer un nombre alatoire uniforme  3) Si , prendre ; 4) Sinon si , prendre ; 5) Sinon si , prendre ; 6) sinon si .

III.2. Mthode d acceptation-rejet

Beaucoup de lois sont difficiles simuler directement avec la mthode prcdente, car elles ne prsentent pas de fonctions de rpartition explicitement formules. C est le cas par exemple de la loi Normale. Il y a certaines applications o la loi simuler est connue une constante multiplicative prs. Une solution est de simuler l aide d une fonction de proposition plus simple et d utiliser un algorithme d acceptation-rejet. L algorithme d acceptation-rejet est le suivant :

III.2.1. Cas d une variable alatoire continue


1) Choisir une densit ; 3) Gnrer un nombre alatoire  partir de ; 4) Gnrer un nombre alatoire uniforme ; 5) Si , alors on prend 2) Trouver une constante telle que pour tout , aves le support de

III.2.2. Cas d une variable alatoire discrte

Dans le cas contraire, on rejette et on retourne l tape 3.

(acceptation);

Dans ce cas, l'objectif est de gnrer des nombres alatoires partir d'une fonction de , en supposant que l on ait une mthode pour gnrer des probabilit . nombres alatoires partir d'une fonction de probabilit Les tapes sont les suivantes : 1) Choisir une fonction de probabilit 2) Chercher une constante telle que ; ;

pour tout ; ;

3) Gnrer un nombre alatoire partir de 4) Gnrer un nombre alatoire uniforme

12

Dans le cas contraire, on rejette et on retourne l tape 3. La mthode d acceptation-rejet a une probabilit d acceptation, que l on appelle galement taux d acceptation. Ce taux est dfini par :

5) Si

alors on prend 

 (acceptation);

Le taux d acceptation moyen, not

 est dfini par :

En utilisant le taux d acceptation, l tape 5 pour les cas continu et discret sont alors remplacs par : 5) Si , on prend  ; Dans le cas contraire, on rejette et on retourne l tape 3.

Remarque : Le choix de la loi de proposition est dterminant pour les performances de la mthode. La loi de proposition est ncessairement non nulle sur S afin que soit fini et donc que le taux d acceptation moyen soit non nul. Tout d abord, elle doit tre facilement chantillonnable, sinon l algorithme d acceptationrejet perd son intrt. En particulier, elle doit tre simulable avec un taux d acceptation de 1. Prcisons galement que le choix de la loi de proposition doit prendre en compte la complexit de l algorithme : certaines lois intressantes a priori s avreront inadquates car la dtermination de ou le calcul de ses paramtres peut tre difficile, gourmand en temps de calcul, voire impossible ! Pour le choix de , n importe quelle constante vrifiant l quation convient ; cependant, il est ncessaire que soit la plus petite possible pour avoir un taux d acceptation moyen lev. La valeur optimale de est donc :

13

Chapitre IV : APPLICATION DES DEUX METHODES A QUELQUES LOIS USUELLES

Dans cette partie, nous prsentons les lois de probabilit les plus utiles et les plus utilises dans les diverses applications de la statistique. Nous prsentons les commandes de MATLAB permettant d effectuer des calculs pratiques avec ces lois. Nous distinguons les lois des variables discrtes et celles des variables continues.

IV.1. Variables Alatoires Continues


y Loi Uniforme
constante  On dit qu une variable alatoire . dfinie sur l intervalle

On notera

est distribue uniformment dans l intervalle           

avec une fonction de densit .

Sa fonction de rpartition est :

Son esprance est :

Il est vident que pour  on retrouve l esprance d une variable alatoire uniformment distribue sur l intervalle  .

et sa variance est :

En simulation, la loi uniforme est utilise comme base pour gnrer des nombres alatoires issus de n importe quelle loi de probabilit. Simuler la loi uniforme consistera produire par un algorithme des suites finies de nombres que nous pouvons considrer c omme tant des ralisations indpendantes de variables alatoires uniformes sur [0,1]. MATLAB permet de simuler la loi uniforme via la fonction rand, qui renvoie un nombre alatoire compris entre [0,1]. La mthode d inversion peut tre utilise pour gnre r des variables alatoires d une distribution uniforme. La fonction de rpartition pour une variable alatoir e qui suit une loi uniforme de paramtres  tant avec et .

posons : Alors

;

14

Ainsi

Le code MATLAB suivant simule des variables alatoires d une distr ibution uniforme de

paramtres   ; trace l histogramme des rsultats obtenus ainsi que la courbe qui reprsente la fonction de densit de la loi uniforme :
rand('state',sum(100*clock)) % paramtres n=input('veuillez saisir la dimension n : ') a=input('veuillez saisir la valeur de a : ') b=input('veuillez saisir la valeur de b : ') % gnration des variables alatoires U = rand(1,n) ; X=[U*(b-a)]+a; %affichage des valeurs de X X % valeurs pour tracer la fonction densit x=a :0.1 :b ; % fonction MATLAB qui trace la fonction densit y=n*0 .55*unifpdf(x,a,b) ; % histogramme hist(X,10) ; % traage hold on plot(x,y,'r') hold off xlabel('X') ylabel('f(x)-Uniforme')

15

Simulation de la loi uniforme de paramtre a=2 et b=7 et n=1000

y Loi Exponentielle
On dit qu une variable alatoire densit est donne par : On a :   . suit une distribution exponentielle de paramtre  ; et  . si sa

La mthode d inversion peut tre utilise pour gnrer des variables alatoires d une distribution exponentielle. La fonction de rpartition pour une variable alatoire qui suit une loi exponentielle de   . paramtre est Posons : Alors Donc   . .
16

 avec

et

.

Puisque est uniformment distribu sur [0,1], alors  est aussi uniformment distribu sur [0,1]. Nous pouvons alors gnrer des variables alatoires d une distribution exponentielle de paramtre en utilisant la transformation : . pour un  donn, trace l histogramme des rsultats obtenus ainsi que la courbe qui reprsente la fonction densit de la loi exponentielle :
rand('state',sum(100*clock)) % paramtres n=input('veuillez saisir la dimension n : ') ; lamda=input('veuillez saisir la valeur de lamda : ') ; % gnration des variables alatoires U = rand(1,n) ; X=-log(U)/lamda ; % valeurs pour tracer la fonction densit x=0 :0.1 :5 ; % fonction MATLAB qui trace la fonction densit y=exppdf(x,lamda) ; % histogramme [N,h]=hist(X,10) ; % changement de la taille des barres de l histogramme N=N/(h(2)-h(1))/n ; % traage bar (h,N,1,'b') hold on plot(x,y,'r') hold off xlabel('x') ylabel('f(x)-Exponentielle')
17

Ainsi

Le code MATLAB suivant gnre des variables alatoires d une distribution exponentielle

Simulation d une loi exponentielle de paramtre 

et n=1000

Considrons variables alatoires  selon la loi exponentielle de paramtre  . La variable densit est : par :  = = 
 

y Loi Gamma

indpendantes, identiquement distribues

est distribue selon la loi gamma de paramtres   dont la




A noter que la loi Gamma est dfinie pour On a :  





 

; o

est la fonction gamma, dfinie

18

La fonction de rpartition est : 

Prsentons un algorithme qui gnre une variable alatoire  qui suit une loi Gamma de paramtres ; avec un entier. 

La mthode de la transformation inverse ne peut pas tre utilise dans ce cas parce que la fonction de rpartition n est pas dfinie de faon explicite.

Puisque la somme de variables exponentielles indpendantes de mme paramtre est une variable alatoire qui suit une loi Gamma de paramtres   , cela nous conduit la transformation suivante, base sur nombres alatoires uniformes : .

Nous pouvons simplifier cette criture et calculer un seul logarithme, en utilisant un e des proprits du logarithme :

Le code MATLAB suivant gnre des variables alatoires d une distribution gamma lorsque est un entier, trace l histogramme des rsultats obtenus ainsi que la courbe qui reprsente la fonction densit de la loi gamma :

19

rand('state',sum(100*clock)) % paramtres n=input('veuillez saisir la dimension : ') r= input('veuillez saisir la dimension : ') lamda= input('veuillez saisir la dimension : ') % gnration des r nombres alatoires pour obteni r une variable alatoire gamma U=rand(r,n) ; logU=-log(U)/lamda ; X=sum(logU) ; %affichage des valeurs de X X % histogramme [N,h]=hist(X,10) ; % changement de la taille des barres de l histogramme N=N/(h(2)-h(1))/n ; % fonction densit %valeurs pour tracer la fonction densit x=0 :0.1 :6 ; y=gampdf(x,r,1/lamda) ; bar(h,N,1,'b') hold on plot(x,y,'r') hold off xlabel('X') ylabel('f(x)-Gamma')

20

Simulation d une loi Gamma de paramtres 

2 , r =3 et n=1000

alatoire normale (ou gaussienne). On crit  densit suivante : De plus Lorsque et  .

Une variable alatoire dfinie sur l intervalle




y Loi Normale

o

et

sont deux paramtres, est appele variable

, caractrise par la fonction de

, on parle d une loi Normale centre rduite. .  




Dans ce cas on a : Et

21

En effet,

 

Or,



; ce qui est toujours vrai.  , o est la densit de la loi double exponentielle .

qui correspond une variable exponentielle de paremtre   

Nous pouvons donc utiliser la mthode d acceptation-rejet pour gnrer des variables d une loi normale centre rduite en prenant .

Le code MATLAB suivant gnre des variables alatoires d une distribution Normale de paramtres  , trace l histogramme des rsultats obtenus ainsi que la courbe qui reprsente la fonction densit de la loi normale :

22

rand('state',sum(100*clock)) % paramtres n=input('veuillez saisir la dimension n : ') mu=input('veuillez saisir la valeur de mu : ') sigma2=input('veuillez saisir la valeur de sigma2 : ') X=normrnd(mu,sqrt(sigma2),1,n); %Affichage des valeurs de X X % histogramme [N,h]=hist(X,10) ; % changement de la taille des barres de l histogramme N=N/(h(2)-h(1))/n ; %valeurs pour tracer la fonction densit x=mu-4*sqrt(sigma2) :0.01: mu+4*sqrt(sigma2) ; % fonction densit y=normpdf(x,mu,sqrt(sigma2)) ; bar(h,N,1,'b') hold on plot(x,y,'r') hold off xlabel('X') ylabel('f(x)-Normale')

23

Simulation de la loi Normale de paramtre

et n=1000

IV.2. Variables Alatoires Discrtes y Loi Binomiale


Considrons un ensemble de variables alatoires indpendantes, suivant une loi de Bernoulli de mme paramtre  . Soit  la somme de ces variables de Bernoulli. La loi de probabilit de la variable alatoire est appele loi binomiale, note  et est donne par :    

De plus,

Nous pouvons obtenir des variables alatoires d une distribution Binomiale en gnrant nombres alatoires uniformes et en laissant tre le nombre de qui sont inferieur ou gale .
24

La fonction suivante implmente la procdure pour gnrer des variables alatoires d une distribution binomiale :
% la fonction X=binomiale(n,p,N) gnre N variables alatoires d une distribution binomiale de paramtre s n et p function X=binomiale(n,p,N) rand('state',sum(100*clock)) X=zeros(1,N); % gnration des nombres alatoires uniformes: N nombres de n essais U=rand(N,n); % recherch du nombre infrieur ou gal p for i=1:N ind=find(U(i,:)<=p); X(i)=length(ind); end

Gnrons et traons l histogramme des variables alatoires binomiale de paramtres n et p

n=input('veuillez saisir la dimension n : ') p=input('veuillez saisir la valeur de p : ') N=input('veuillez saisir la valeur de N : ') X=binomiale(n,p,N) ; X edges=0 :max(X) ; f=histc(X,edges) ; bar(edges,f/n,1,'b')

25

Simulation de la loi Binomiale de paramtre n=6,p=0.5 et N=1000

y Loi de Poisson
La variable alatoire , comptant le nombre de ralisations d un certain vnement par unit de temps ou par exemple, par unit de surface, dont la loi est donne par :


De plus



 

est dite variable de Poisson de paramtre  .

Nous utilisons la mthode d inversion pour le cas d une variable alatoire discrte pour gnrer des variables alatoires d une distribution de Poisson. Nous aurons besoin de la relation rcursive suivante : La procdure pour gnrer ces variables alatoires est la suivante :  

.

26

4) Sinon incrmenter les valeurs : 5) Retourner l tape 3.

1) Gnrer un nombre alatoire uniforme ; 2) Initialiser les quantits :    3) Si , prendre  ;

;

;

La fonction suivante implmente la procdure pour gnrer des variables alatoires d une distribution de poisson :
% la fonction X=poisson(lamda,n) gnre n variable alatoires de poisson de paramtre lamda function X=poisson(lamda,n)
rand('state',sum(100*clock))

X=zeros(1,n); j=1; while j<=n flag=1 ; % initialisation des quantits U=rand(1); i=0 ; p=exp(-lamda); F=p ; while flag if U<=F %accepter X(j)=i ; flag=0 ; j=j+1 ; else %passer la prochaine probabilit p=lamda*p/(i+1) ; i=i+1 ; F=F+p ; end end end

27

Gnrons et traons l histogramme des variables alatoires de poisson de paramtre


n=input('veuillez saisir la dimension n : ') lamda=input('veuillez saisir la valeur de lamda : ')

X=poisson(lamda,n) ; X edges=0 :max(X) ; f=histc(X,edges) ; bar(edges,f/n,1,'b')

Simulation d une loi de Poisson de paramtre

et n=500

28

y Loi Gomtrique
Considrons n rptitions indpendantes d une variable de Bernoulli. La loi gomtrique est la loi de la variable alatoire : nombre d observations jusque (et y compris) au premier succs . Les probabilits associes une loi gomtrique sont de la forme :  ,    o  est la probabilit d observer un succs, =1 la probabilit d chouer, et  est le nombre d essais jusqu ce que le premier succs (inclus) se ralise. De plus  = et = .

Le code MATLAB suivant gnre des variables alatoires d une distribution Gomtrique de paramtre , trace l histogramme des rsultats obtenus ainsi que la courbe qui reprsente la fonction densit de la loi gomtrique :

rand('state',sum(100*clock)) n=input('veuillez saisir la dimension n : ') theta=input('veuillez saisir la valeur de theta : ') X=geornd(theta,1,n); X [N,h]=hist(X,10) x=0:1:45; y=geopdf(x,theta); N=N/(h(2)-h(1))/n; % traage bar(h,N,1,'b') hold on plot(x,y,'r') hold off xlabel('X') ylabel('f(x)-Geomtrique')

29

Simulation d une loi gomtrique de paramtre

0.13 et n=500

30

Chapitre V. SIMULATION DES VECTEURS ALEATOIRES DE DIMENSIONS n


Les notions sur les lois multidimensionnelles seront d abord prsentes en 2 dimensions, ou la visualisation est la plus facile. Le passage la dimension suprieure, sera surtout l occasion de prsenter les vecteurs Gaussiens(Normale), qui sont un des outils de base de la statistique.

V.1. Mthode de Box-Muller


La mthode de Box-Muller (George Edward Pelham Box et Mervin Edgar Muller, 1958) consiste gnrer des paires de nombres alatoires distribution normale centre rduite, partir d'une source de nombres alatoires de loi uniforme. La mthode de Box-Muller est fonde sur la transformation des coordonnes cartsiennes en coordonnes polaires. Elle consiste : - Gnrer 2 nombres alatoires uniformes - Poser et ; - Poser     ;

   sont des variables Alors, indpendantes identiquement distribues suivant une loi normale centre rduite. Cette mthode a l avantage de ne pas ncessiter l inverse de la fonction de rpartition de la loi normale centre rduite, ni la fonction de rpartition elle -mme. Sous MATLAB cette mthode s crit : 

' '   '  '                          

31

n=5000 Simulation de la loi normale centre rduite par la mthode de Box-Muller

Exemple
On veut simuler

y = densit de On en dduit la fonction de rpartition de  

  obtient :       Dans la densit conjointe des variables  on reconnait : y  = densit de qui suit la loi uniforme sur [0,2

On connait la densit conjointe On effectue le passage en coordonnes polaires 

 

indpendantes. .    , et on


On reconnait bien une loi exponentielle de paramtre  Alors on tire   .    

pour

et on pose :

32

Ces deux variables alatoires sont indpendantes par construction (leur densit conjointe est dfinie comme le produit de leurs densits respectives). Remarque : on montrera facilement que deux variables normales indpendantes distribution commune   peuvent tre simules par :     
 )  )

et

de

V.2. Mthodes MCMC


L'utilisation intensive des mthodes de simulation MCMC est due leur adaptabilit pour une vaste classe de problmes et de modles mais galement l'amlioration des technologies informatiques. Les algorithmes sont faciles implanter et un simple ordinateur de bureau est suffisant pour mettre en uvre la ralisation des simulations. La part la plus importante du travail, et sans doute une des plus intressantes, est l'laboration du schma de simulation pour un modle donn: distribution priori des paramtres du modle, distribution candidate pour l'algorithme de Metropolis -Hastings et distributions conditionnelles pour l'chantillonnage de Gibbs . Toutefois, un aspect important de l'implantation de ce type de mthode est qu'il faut utiliser plusieurs ralisations ou simulations sur un ensemble de donnes pour obtenir des rsultats statistiquement significatifs, tant donn la nature alatoire des algorithmes de simulation. Deux algorithmes MCMC sont prsents dans la section suivante: l'algorithme de Metropolis-Hastings et l'chantillonnage de Gibbs. Ces mthodes permettent de construire un noyau de transition en fonction d'une distribution d'intrt donne telle que les squences d'chantillons simuls qui forment une chane de Markov convergente ve rs la distribution stationnaire voulue.

V.2.1. L algorithme de Metropolis-Hastings


Introduit dans sa forme la plus simple par Metropolis en 1953, et gnralis par Hastings en 1970, l algorithme qui porte aujourd hui leur nom est une procdure permettant de simuler un chantillon d une distribution, univarie ou multidimensionnelle, de variables alatoires. L'algorithme de Metropolis-Hastings est un schma de simulation permettant de gnrer des chantillons suivant une distribution de dont une forme analytique est disponible.

33

Il est important de noter que l'algorithme de Metropolis -Hastings permet de simuler des chantillons suivant la distribution partir de distributions candidates gnrales dont le support est inclus dans celui de . Toutefois, le schma de simulation ne fonctionnera pas bien en pratique si les zones de fortes probabilits de sont localises surtout dans les queues de distribution de . Notons aussi que l'algorithme de Metropolis-Hastings ne gnre pas d'chantillons indpendants identiquement distribus. L'algorithme de Metropolis-Hastings peut prsenter des difficults explorer convenablement le support de la distribution d'intrt. Cette situation s'aggrave d'autant plus dans le cas de distribut ions multidimensionnelles, le nombre d'chantillons ncessaires pour obtenir une couverture suffisante du support de la distribution d'intrt devenant trs important. Des algorithmes MCMC sont alors spcifiquement adapts la simulation de distributions multidimensionnelles. Signalons aussi que, pour engendrer cette chaine, l algorithme de Metropolis -Hastings va s appuyer sur deux lments : y Des rgles de placement des marcheurs auxquelles est associe une probabilit de transition ; y Une procdure d acceptation-rejet. L algorithme de Metropolis-Hastings est le suivant : 1. Initialiser , k=0, 2. Acceptation-Rejet Itration k : - proposer un candidat pour , simuler : q( ) - accepter le candidat avec la probabilit Simuler u U[0,1] Si u , Sinon poser ), alors prendre (rejet) = , (acceptation)  , ) = min {1, }

3. k k+1 et aller en (2). Remarque : Acceptation-rejet + Metropolis-Hastings = obtenir des chantillons iid

34

V.2.2. Echantillonnage de Gibbs


Cette mthode a t utilise par Geman (1984) pour gnrer des observations partir d'une distribution de Gibbs (distribution de Boltzmann). C est est une manire de gnrer des distributions de deux (ou plusieurs) variables partir d un modle qui dfinit les distributions de probabilit conditionnelles, aussi, notons que c est une procdure dans laquelle tous les chantillons sont accepts. Il s'agit d'une forme particulire de la mthode de Monte-Carlo par chane de Markov qui, du fait de son efficacit, est largement utilise dans de nombreux domaines d'analyse statistique baysienne. Dans la mthode de Gibbs, aprs avoir choisi un point de dpart, les composantes du vecteur de Co-variables ( ) sont gnres les unes aprs les autres conditionnellement toute les autres composantes. Si est la densit des composantes du vecteur , conditionnellement aux donnes observes ( ), nous utilisons alors les densits conditionnelles , , et ainsi de suite. A chaque k tape, la distribution conditionnelle utilise les valeurs gnres les plus rcentes parmi toutes les autres composantes. Par la thorie des chanes de Markov, on a que lorsque k la densit des ralisations obtenues converge vers . Le schma de simulation est dcrit ci-dessous : 1. Fixer k=0, 2. - Gnrer - Gnrer - Gnrer - Gnrer partir de partir de partir de partir de , . ,
e

3. Si la convergence est obtenue, alors 2.a) retenir  ,

Sinon,

2.b) fixer k=k+1, et retourner a 1.

35

Un des points remarquables de l'algorithme de Gibbs est qu'il rend possible la simulation de la distribution jointe  ( = ( , ., ) partir des distributions conditionnelles .

Ce schma de simulation est d'autant plus efficace lorsque les distributions conditionnelles sont simulables rapidement.

36

Chapitre VI. SIMULATION D UNE LOI TRONQUEE

VI.1. Introduction VI.1.1. Dfinition


En probabilit et en statistiques, une loi tronque est une loi conditionnelle, drive d'une autre loi de probabilit. Plus clairement, pour une variable alatoire de support rel, dont la fonction de rpartition est , la loi tronque l'intervalle rel est simplement la loi conditionnelle de 

VI.1.2. Densit

Pour une variable alatoire , de support rel, et dont la fonction de rpartition est densit , nous pouvons montrer que le conditionnement de l'intervalle rel donne:  

et la

VI.1.3. Esprance d une variable alatoire tronque


L'esprance de conditionnellement l'vnement est :

VI.2. Loi Normale tronque


La loi tronque la plus utilise est la loi normale tronque, obtenue partir d'une Loi normale. Elle est utilise en conomtrie dans le modle Tobit et le modle Probit, afin de modliser respectivement les donnes censures et les probabilits de choix binaire. Si 

VI.2.1. Fonction de densit


 , et qu'on contraint appartenir l'intervalle , avec : , alors la densit tronque est :
 

, avec

sa fonction de rpartition.

la densit de la loi normale standard, et

37

Par convention, si

, alors

et de meme, si

, alors

VI.2.2. Esprance et Variance


L esprance et la variance sont respectivement : y Pour une double troncature  
 


 

y Pour une simple troncature  

Avec

et

VI.3. Simulation de la loi Normale tronque


Nous allons dvelopper un algorithme pour gnrer des variables alatoires distribues suivant une loi normale tronque (ou, par simple translation, une loi normale support positif). Ce type de problme est intressant en particulier pour la simulation de variables dans des mthodes MCMC (Monte Carlo Markov Chains). L'algorithme que nous allons dvelopper permettra de gnrer des chantillons distribus suivant une loi normale support positif dans le cas scalaire. La loi normale support positif est caractrise par deux paramtres :
y y

  et

[ qui correspond la moyenne si la loi n'est pas tronque ; qui correspond la variance si la loi n'est pas tronque.

Nous utilisons un algorithme d'acceptation -rejet mixte, c'est--dire un algorithme d'acceptation-rejet classique mais utilisant plusieurs lois candidates, l'ide tant que chaque loi soit adapte aux diffrentes valeurs que peuvent prendre les paramtres et . Ensuite, en fonction des valeurs de ces paramtres, la loi candidate donnant le meilleur taux d'acceptation moyen est utilise pour gnrer un chantillon.
38

L expression du taux d acceptation dpend dans certains cas des paramtres de la loi candidate. Il faut alors trouver les valeurs de ces paramtres qui maximisent le taux d acceptation. Parmi l ensemble des lois candidates utilises, une seule fournira le meilleur taux d acceptation moyen pour des paramtres de la loi cible donns. Il faut donc dterminer les intervalles sur ces paramtres pour dterminer quelle est la meilleure loi candidate utiliser sur l intervalle considr. L algorithme propos est donc le mme que l algorithme d acceptation -rejet avec une tape prliminaire qui consiste choisir la meilleure loi candidate en fonction des paramtres de , puis calculer la constante correspondante : 1) Slectionner la loi candidate la plus approprie en fonction des paramtres de ; 2) Calculer la constante ; 3) Gnrer un nombre alatoire  partir de ; 4) Gnrer un nombre alatoire uniforme ; 5) Calculer , 6) Si alors (acceptation) ; sinon : retour en 3 (rejet). Quatre lois candidates sont proposes pour simuler la loi cible : a) La loi Normale :  b) La loi Normale couple la loi Uniforme C est une distribution dfinie sur  sur ,   : , uniforme sur  et qui suit la loi normale

  

c) La loi Normale tronque en la moyenne ( 

 

 ):

39

d) La loi Exponentielle o la valeur de d acceptation moyen : correspond la valeur qui maximise le taux

Lois candidates

Notre choix est motiv par le fait que les lois a) et d) permettent d obtenir un taux d acceptation moyen trs important lorsque , et les lois b) et c) permettent d amliorer le taux d acceptation moyen autour de zro. Pour chacune de ces lois, nous pouvons calculer l expression des constantes taux d acceptation moyens) : (et ainsi les

40

Le calcul des taux d acceptation est alors direct. Les taux d acceptation moyens pour chacune des quatre lois candidates ont t reprsents en fonction de  sur la figure suivante :

Nous pouvons alors trouver les expressions des trois points d intersections qui dlimitent les zones. Les calculs sont directs pour et , mais on ne peut que dterminer une valeur approche de . En effet, d aprs l quation  . , on a :

, et en galant les taux d acceptation moyen des lois 3) et 4), on obtient :

41

Cette dernire quation dfinit

sous une forme implicite. Nous pouvons en dduire que , o . est la fonction de Lambert

s exprime sous la forme dfinie comme l inverse de la fonction 

. Ainsi,   Le taux d acceptation moyen le plus faible correspond ce qui est un trs bon taux d acceptation.

; il est gal 0,797 environ,

A prsent crivons la fonction sous MATLAB qui nous permettra de simuler la loi cible partir des 4 lois candidates.

function x = rpnorm(N,m,s) % RPNORM Random numbers from the positive normal distribution if s<0 % s=paramtre sigma de la loi error('le paramtre sigma doit tre strictement positif'); end if N<=0 % N=nombre d chantillon gnrer error('le nombre d chantillon gnrer doit tre positif'); end x = []; % x =vecteur de sortie des chantillons NN = N; % Intersections A = 1.136717791056118; mA = (1-A^2)/A*s; mC = s * sqrt(pi/2); while length(x)<NN, if m < mA % 4. Loi exponentielle avec m=paramtre mu de la loi a = (-m + sqrt(m^2+4*s^2)) / 2 / s^2; z = -log(1-rand(N,1))/a; rho = exp( -(z-m).^2/2/s^2 - a*(m-z+a*s^2/2) ); else if m <= 0 % 3. Loi normale tronque en la moyenne % gale parce que 3 est plus rapide que 2
42

z = abs(randn(N,1))*s + m; rho = (z>=0); else if m < mC % 2. Loi normale coule la loi uniforme r = (rand(N,1) < m/(m+sqrt(pi/2)*s)); u = rand(N,1)*m; g = abs(randn(N,1)*s) + m; z = r.*u + (1-r).*g; rho = r.*exp(-(z-m).^2/2/s^2) + (1-r).*ones(N,1); else % 1. Loi normale

z = randn(N,1)*s + m; rho = (z>=0); end % Accept/reject the propositions reject = (rand(N,1) > rho); z(reject) = []; if isempty(z) x = [x ; z]; end N = N-length(z); end

V.4. Conclusion
Nous avons prsent une approche pour simuler des variables suivant une loi dont la forme varie avec ses paramtres. L ide dveloppe utilise un algorithme d acceptation-rejet dont la loi candidate est slectionne parmi d autres lois choisies a priori. L approche est ensuite applique au cas particulier de la gnration de variables alatoires normales support positif. Quatre lois candidates ont t prsentes, et les intervalles sur lesquelles elles sont le plus performantes en termes de taux d acceptation ont t dtermins. Des simulations ont illustr le fait que la mthode fonctionne bien et rapidement dans toutes les situations possibles.

43

Les travaux futurs se concentrerons sur la recherche de lois candidates plus performantes, telle que la loi normale couple un polynme, ou la loi normale tronque en la moyenne dont les deux paramtres sont dtermins pour maximiser le taux d acceptat ion moyen. De plus, les recherches pourront galement tre tournes vers le cas de la simulation d une loi normale tronque des deux cts ce qui peut tre utile dans le traitement de donnes censures, ou pour simuler des lois normales multidimensionnelles support positif.

44

Вам также может понравиться