Académique Documents
Professionnel Documents
Culture Documents
MEMOIRE DE LICENCE
présenté à l’Université d’Antsiranana
pour l’obtention du grade de
LICENCE D’APTITUDE AU PROFESSORAT DE L’ECOLE NORMALE
par
Remerciements
Par la même occasion, je ne peux pas m’empêcher de remercier tous les étudiants is-
sus de l’ENSET, plus particulièrement ceux qui ont spécifiquement collaboré avec moi. En
effet, ces derniers m’ont donné des notions pour approfondir tous mes remises au niveau
à travers le semestre 6 (S6).
Je remercie mille fois mes parents et toute ma famille qui m’ont toujours soutenu dans
tout ce que j’ai entrepris. Il m’est impossible d’imaginer de parvenir au stade actuel sans
eux.
Je tiens à remercier tous ceux qui, de près ou de loin, m’ont aidé pour la réalisation
du présent travail, sans oublier toutes les personnes que j’ai eu l’honneur de rencontrer
durant la préparation de ce mémoire.
i
Remerciements
ii
Table des matières
Remerciements i
Glossaire vi
Introduction générale 1
1
Concepts de base.
2
Méthodes de Simulation.
iii
Table des matières
3
Simulation pratique avec R
Conclusion
Références Bibliographiques 28
iv
Table des figures
v
Glossaire
Glossaire
vi
Introduction générale
Introduction générale
Dans cette travail, nous nous intéressons à la simulation de variable aléatoires sous R à
travers des exemple pratique. Les méthodes de simulation reposent toutes sur la capacité
à produire une suite des variables aléatoires indépendantes suivant une distribution f
donnée. La production d’une telle suite dépend elle-même de la capacité que l’on à produire
une séquence des variables aléatoires uniformes et indépendantes.
Théoriquement, la génération de nombres aléatoires suivant une loi donnée se ramène à
la génération de suites de variables aléatoires indépendantes de loi uniforme sur [0, 1].
Les méthodes de simulation permettent seulement d’obtenir une valeur pseudo-aléatoire
(Xi )i∈N , au lien d’une valeur aléatoire [Cha08]. En effet, dans les application, on a souvent
de générer de façon artificielle ( à l’aide d’un ordinateur) une suite Xi , ..., Xn , ou n ∈ N de
nombres aléatoire i.i.d suivant la loi donnée f . Le dut de cette traille ne sera pas de nous
expliquer les théories sous-jacentes, ce n’est pas non plus un travail de programmation
informatique, mais une initiation à la modélisation mathématique à des problèmes grande
dimension.
Pour ce faire, nous adaptons le plan suivants. Le premier chapitre présente la présentation
de logiciel R avec les fonction qui simules les loi usuelles et variable aléatoire discrète, la
deuxième chapitre présente la simulation de loi continue et méthode de simulation. Avant
la conclusion, l’initiation de la méthode Monte-carlo et application pédagogie.
Chapitre 1
Concepts de base.
Cette première partie a pour objectif de réaliser un tour d’horizon de l’existant dans
les principaux domaines abordés par cette mémoire et concept sur la simulation des lois
de variable aléatoire discrète. Nous commençons brièvement sur le problème de simulation
de loi sous R.
On écrire X U[0;1] , la v.a.r suit la loi uniforme sur l’intervalle [0; 1].
Déterminons la fonction de répartition FX de X pour cette v.a.rX qui suit U[0;1] . Or
par défition même de la fonction de répartition, on a :
Z t
1 − ∀t ∈ R, FX = fX (x)dx
−∞
P (α 6 X 6 β) = FX (β) − FX (α)
=β−α
Pour la simulation de la loi uniforme [0; 1],beaucoup des méthode pour la génération
des nombres pseudo-aléatoires entre 0 et 1. D’une part pour ces méthode est la méthode
par générateurs à Congruence Linéaire des nombres pseudo-aléatoires.
Il apparait ici clairement que ce type de générateur est périodique, de période p stric-
tement inférieure à m. Si l’on souhaite s’approcher le plus possible d’une distribution
continue uniforme sur [0; 1], il convient donc de choisir A et m de sorte que la période p
soit la plus grande possible.
Soit (Xn )n∈N une suite d’élément de Z, Zm = {0, 1, ..., m − 1} définie par :
(
X0 donné dans Z,
Xn+1 = (a ∗ Xn + b) mod m
Etape3 :
Xn = (a ∗ Xn−1 + b) mod M
Un = XMn , Un ∈]0; 1]
Stocker : U1 , U2 , ..., Un
Résultat : (Un )n simule U[0;1] , quand n assez grand. On peut programmer suivant la
logiciel R de façon dans exemple (1).
Dés lors, on peut considérer Zn comme la statistique fondant notre test puisque sa
loi de probabilité sous H0 est connue (asymptotiquement). Comme la loi normale est
symétrique, il s’ensuit la région critique suivante :
W = (x1 , x2 , ..., xi , ..., xn )/Zn < zα/2 ouzn > z1−α/2
Etape2 : On teste U par rapport au paramètre p. si U < p, alors Y=1, si non Y=0
Etape3 :
n
X n
X
Z= Yi = 11(U <P )
i=1 i=1
la croissance des confères, des longueur d’axons de gènes. En physique, la loi géométriques
est plutôt utilisée pour d’écrire grossièrement des instantes radioactives, ou d’autre type
d’absorption de particules dans des puits de potentiels. En économie, ces lois peuvent
représenter des dates de hausse ou de chute des valeurs de produits financiers.
Résultat : X Geom(p)
Algorithme 5. (
X = x0 si 0 < U ≤ p0 ,
Pi−1
pj < U ≤ ij=0 pj
P
X = xi si j=0
Remarque 2. Pour implémenter cette méthode très générale, il faut programmer une
boucle sur i avec comme test d’arrêt p1 , p2 , ..., pn ≥ U . Ce la peut s’avérer couteux en
temps de calcul lorsque la série de terme général pi converge lentement vers 1.
Chapitre 2
Méthodes de Simulation.
Dans cette section nous nous abordons à la méthode de simulation des variable à
densité et ces algorithme de fonctionnement comme la méthode de transformation inverse,
méthode d’utilisation de Relations fonctionnelles ou méthode Box-Muller et méthode
d’acceptation rejet :
Une application directe de ce théorème permet, à partir d’une loi uniforme, de générer
n’importe quelle autre loi. Ainsi, pour générer un échantillon . Fictif issu d’une variable
aléatoire X, il faut connaitre F (x) et avoir une suite de nombres y1 , y2 , ..., yn issus d’une
variable U uniforme sur [0, 1]. L’égalité x = F −1 (y) permet d’obtenir l’échantillon
issu d’une population distribuée selon F . La seule difficulté est celle de calculer F −1 en
connaissant F . Dans certains cas cela n’est pas possible de manière explicite, et dans ces
cas d’autres technique, que l’on verra plus loin, permettent de simuler un échantillon de
X.
Algorithme 6. L’algorithme pour générer une observation d’une variable aléatoire X par
l’inverse généralisé va comme suit :
1. Générer aléatoirement U , une réalisation d’une loi uniforme sur [0, 1].
2. Poser x = F −1 (U )
Exemple 1. Traitons un exemple sur une loi E(λ)avecλ > 0 : Si X est de loi
exponentielle(λ) on à F (x) = 1 − e−λx . Résoudre l’équation u = 1 − e−λx conduit à
x = −log(1 − u)/λ. Donc, si U U[0,1] alors X = −logU exp(λ) ou bien :
Densité de probabilité : Soit U(a; b) suit la loi uniforme continue sur l’intervalle [a; b].
On note par f sa fonction de densité. La densité de probabilité de la loi uniforme continue
est une fonction porte sur l’intervalle [a; b] :
1
b−a
si a 6 x 6 b
f (x) =
0 si non
Fonction de répartition : On suppose que f est intégrable sur l’intervalle [a; b].
Comme f est intégrable sur I = [a; b] donc, sa fonction de répartition est donnée par :
0 pour x < a
x−a
F (x) = pour a 6 x < b
x−b
1 pour x ≥ b
−( t−a )b
e c = 1−y
t−a b
−( ) = ln(1 − y)
c
t−a b
( ) = − ln(1 − y)
c
t−a 1 1 1
( )b = (ln()) b
c 1−y
t−a 1 1
=
(ln( )) b
c 1−y
1 1
t = c(ln( )) b + a
1−y
Donc on a :
1 1
FX−1 (y) = c(ln( )) b + a
1−y
Algorithme 9. de simulation de X qui suit W (a, b, c)
1. Générer U U[0;1]
2. Générer un n-échantillon de la v.a.r
1 1
y = c(ln( )) b + a
1−U
p
x= −2ln(u1 ) sin 2πu2
p
y = −2ln(u1 ) cos 2πu2
On à donc :
x2 + y 2 = −2ln(u1 )
x
y
= tan(2πu2 )
1 2 2
u1 = e− 2 (x +y )
1
u2 = 2π arctan( xy )
1 2 +y 2 )
(u1 , u2 ) = (e− 2 (x 1
, 2π arctan( xy ))
Le Jacobien de la transformation est donné par :
∂u1 ∂u1
∂x ∂y
J= ∂u2 ∂u2
∂x ∂y
1 2 +y 2 ) 1 2 2)
−xe− 2 (x −ye− 2 (x +y
J= 1 1 x
− 2πy 1
(2πy) x2 2 x2
(1+ ) (1+ )
y2 y2
1
1 − 2 (x2 +y 2 )
J= 2π
e
Ainsi,
où C ≥ 1, g est une fonction densité, φ(x) = Cg(x) est une fonction qui majore la densité
f.
Considérons une variable aléatoire réelle X ayant g pour densité de probabilité et Y une
autre variable aléatoire réelle indépendante de X et suivant loi uniforme standard U(0, 1).
On établit alors que la loi conditionnelle de X sachant Y < f (X)/c.g(X) a pour densité
f (en supposant évidement g(X) 6= 0 presque partout).
Ou encore : Z Z y=q(x)
P (X ∈ B|Y < q(x)) = c g(x)[ dy]dx
x∈B y=0
Algorithme 12. Méthode de rejet On voudrait simuler une variable une variable aléatoire
réelle X de densité de probabilité f . On suppose qu’il existe une autre densité de probabilité
g telle que le ration fg soit borné, disons par c(i.ef 6 cg), et qu’on sache simuler Y de
densité g. La version basique de la méthode de rejet prend la forme suivante :
1. : On simule Y selon g. Soit y la valeur obtenue.
2. : On simule U selon U(0, 1) d’une manière indépendante à Y .
f (Y )
3. : Tant que U > c.g(Y )
, reprendre en 1.
4. : Accepter Y comme un tirage aléatoire de densité de probabilité f .
Remarque 3. On remarque que l’algorithme comporte une boucle dont la condition
porte sur des variables aléatoires. Le nombre d’itérations, notons le N est donc lui-même
aléatoire. On peut montrer que N suit la loi géométrique de paramètre 1c .
Par suite, l’espérance de N ( c-à-d le nombre moyen d’itérations à effectuer avant
d’obtenir une réalisation de la densité f ) vaut c. On a donc tout intérêt à choisir c le plus
petit possible. En pratique, une fois la fonction g choisie, le meilleur choix de c est donc
la plus petite constante qui majore le ratio fg , c’est-à-dire :
f (x)
c = Sup
g(x)
Notons que, soit c est supérieur strict à 1, soit f 6= g la deuxième alternative étant assez
théorique en effet, comme cg − f > 0. On a donc intérêt à choisir c le plus proche de
1 possible, pour que le nombre d’itérations moyen soit proche de 1 lui aussi. De plus, le
choix de g est primordial :
– Le tirage de la loi g doit être facile ;
– L’évaluation de fg(x)
(x)
doit être aisée ;
– La constante c doit être la plus petite possinle ;
– La fonction cg doit majorer la densité f .
Exemple 2. Soit f (x) la densité d’une distribution normale centrée réduite, et g(x) =
e−x pour x > 0. Application de la méthode du rejet est utilisée pour simuler des réalisation
de la loi normale en accord avec la procédure décrire plus haut.
soit √
1 − −x2 −2x e −x2 −2x+1
c≥ √ e 2 = √ e− 2
2π 2π
√
e (x−1)2
c ≥ √ e− 2 ∀x ≥ 0
2π
Le terme de droite de cette expression prend sa valeur maximum en x = 1 et vaut alors :
√
e
c= √
2π
la valeur maximum à donner à c.
Chapitre 3
#Nombre d’observation N
N=500
par(mfrow=c(3, 1))
h=runif(N)
plot(h)
u=rep(0,N)
u[1]=12
# fonction modulo %%
for(i in 1:N) u[i+1]=(25*u[i]+16)%%256
plot(u,main = "a=25 c=16 m=256", col.main= "blue")
v=rep(0,N)
#Initialisation par un nombre impaire
v[1]=7
#fonction modulo %%
for(i in 1:N) v[i+1]=(65539*v[i] )%%2^31
v2=v/2^31
v2
plot(v,main="RANDU a=65539 c=0 m=2^31", col.main= "blue")
Ainsi, il ressort clairement que G1 n’est pas un générateur aléatoire au sens où la suite
de nombres est d’une période bien trop petite, au contraire G2 qui est connu sous le nom
de générateur de RANDU semble fournir une suite pseudo-aléatoire convenable. Nous
serons amener plus loin à rediscuter de son efficacité. Le choix d’une période assez grande
semble donc ressortir comme une condition nécessaire pour l’efficacité d’un générateur .
set.seed(120)
N=1000
m=0
sigma=1
U1=runif(N)
U2=runif(N)
par(mfrow=c(1, 3))
X=m+sigma*sqrt(-2*log(U1))*sin(2*pi*U2)
hist(X,col="light blue",xlim=c(-10,10),ylim=c(0,0.5),
probability=TRUE,main="X1")
par(new=TRUE)
curve(ylim=c(0,0.5),xlim=c(-10,10),dnorm(x),lwd=2,col="red",main="")
mean(X)
Y=m+sigma*sqrt(-2*log(U2))*cos(2*pi*U1)
hist(Y,col="light blue",xlim=c(-10,10),ylim=c(0,0.5),
probability=TRUE,main="X2")
par(new=TRUE)
curve(ylim=c(0,0.5),xlim=c(-10,10),dnorm(x),lwd=2,col="red",main="")
mean(Y)
X3=rnorm(N,mean=m, sd=sigma)
hist(X3,col="light blue",xlim=c(-10,10),ylim=c(0,0.5),
probability=TRUE,main="rnorm")
par(new=TRUE)
curve(ylim=c(0,0.5),xlim=c(-10,10),dnorm(x),lwd=2,col="red",main="")
mean(X3)
On obtient les densités suivantes qui montrent une grande ressemblance entre la fonc-
tion R rexp et linversion de la fonction de répartition comme nous pouvons lobserver dans
la figure suivent :
Conclusion
Si les générateurs implantés sur les gros matériels des centres de Calcul, éprouvés par
l’expérience, et construits très sérieusement (ils sont souvent en multiprécision) peuvent
être utilisés sans crainte, les petits nombres de bits des micro contraignent à des géné-
rateurs de période très courte (j’en ai vu de période 32 768 I), voire avec des périodes
effectives encore plus courtes, et aussi à des corrélations relativement forte entre termes
consécutifs.
La prétention de cet exposé est de mettre en évidence le fait qu’il ne faut absolument
pas faire confiance a priori aux générateurs de nombres pseudo-aléatoires implantés par
les constructeurs sur les micro-ordinateurs. Il ne faut pas non plus négliger les phénomènes
de troncature et d’arrondi. Les suites déduites des suites un , par troncature ou arrondi
peuvent présenter des périodes notablement plus courtes que la suite initiale.
On doit aussi réaliser que la copie idéale du hasard n’existe pas. Les techniques de
simulation fournissent des modèles approchés. Une excellente approximation est théori-
quement possible : elle risque de coûter très cher.
Références Bibliographiques
[BAI12] K. BAISSA. Simulation statistique. mémoire de DEA, Tunis :ISEFC., page 44,
2012.
[Cha08] S. Charles. simulation-lois-reelles-vector-bon-3.pdf. Université des Sciences et
Technologies de Lille U.F.R. de Mathématiques Pures et Appliquées Bât. M2,
F-59655 Villeneuve dAscq Cedex, 2007-2008.
[Emm13] G. Emmanuel. Méthodes de monte-carlo et processus stochastiques : du linéaire
au nonlinéaire. Editions de l’Ecole Polytechnique, 2013.
[Has15] M. Hassen. Cours de méthodes de simulation. ESSAIT, page 15, 2014-2015.
[KHA96] I. KHARROUBI. Méthodes de monte carlo. pages 07–08, 1996.
[MED17] F. MEDOUAKH. Méthodes de monte-carlo. Année universitaire 2016-2017,
2017.
[MFD01] B. Mme F Duhcille. Licence scientifique. 2001.
[Nic10] B. Nicolas. Méthodes de monte carlo appliquees au pricing doptions et à la
gestion des risques multiples. Cours ENSAI de 3ème année, page 15, 2010.
[RAB88] A. R. Wilks. R. A. Becker, J. M. Chambers. The new s language : A program-
ming environment for data analysis and graphics. Chapman Hall, 1988.
[RAZ18] V. RAZAFIMANANA. Simulation des méthodes de monte-carlo sous r. PRO-
JET, page 04, Année Universitaire :2017- 2018.
[RI96] R. Gentleman R. Ihaka. R : A language for data analysis and graphics. Journal
of Computational and Graphical Statistics, 5(3) :299-314, 1996.
[Rob96] C. Robert. Méthodes de monte carlo par chaînes de markov. Economica, 1996.