Outils de simulation pour la statistique
Outils de simulation pour la statistique
Outline
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Introduction
Chapitre 1 : Introduction
Simulation de variables aléatoires
Besoin de “produire le hasard” par ordinateur
Evaluer le comportement d’un système complexe (programme,
Introduction réseau, file d’attente, système de particules, atmosphère,
Générateur pseudo-aléatoire épidémie, actions...)
Distributions non-uniformes (1)
Déterminer les propriétés probabilistes d’une procédure
Distributions non-uniformes (2)
statistique non-standard ou sous une loi inconnue [bootstrap]
Méthodes de Markov
Validation d’un modèle probabiliste
Approcher une espérance/intégrale sous une loi non-standard
[loi des grands nombres]
Maximiser une fonction/vraisemblance faiblement régulière
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Introduction Introduction
n= 4 n= 8 n= 16
10 15 20 25
20
30
15
20
Example (TCL pour la loi binomiale)
10
10
5
5
0
0
Si 0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Xn ∼ B(n, p) , n= 32 n= 64 n= 128
14
10 15 20 25
15
0 2 4 6 8 10
10
Xn converge en loi vers la loi normale :
5
5
0
0
0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.3 0.4 0.5 0.6 0.35 0.40 0.45 0.50 0.55 0.60 0.65
√ n→∞ p(1 − p)
n (Xn − p) N 0, n= 256 n= 512 n= 1024
30
10 20 30 40 50
5 10 15 20 25
20
5 10
0
0
0.40 0.45 0.50 0.55 0.60 0.44 0.46 0.48 0.50 0.52 0.54 0.56 0.58 0.46 0.48 0.50 0.52 0.54
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Introduction Introduction
0
X
-0.
5
-0.5
-1
-1
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Introduction Introduction
0.8
∂h(x, y) ∂h(x, y)
= 0, =0
∂x ∂y
0.6
et à vérifier les conditions du second ordre, on peut générer la suite
aléatoire dans R2
αj
0.4
θj+1 = θj + ∆h(θj , βj ζj ) ζj
2βj
où
0.2
⋄ les ζj sont uniformes sur le cercle unité x2 + y 2 = 1; -0.2 0.0 0.2 0.4 0.6
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Introduction Introduction
Problème du voyageur de
commerce représentatif de
Problème classique d’allocation: problèmes mathématiques
durs à temps de résolution
Représentant devant visiter explosifs
un ensemble de n villes Nombre de chemins possibles
Coûts de voyages entre deux n! et solutions exactes
villes fixés [et différents] disponibles en temps O(2n )
Recherche du coût global Problème à nombreuses
minimum applications (réseaux,
conception de circuits
imprimés, séquençage de
génome, etc.) Concours Procter & Gamble
1962
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Introduction Introduction
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Introduction Introduction
ST = S0 × Y1 × · · · × YT , Pr(Yi = u) = 1 − Pr(Yi = d) = p .
En R, appel à la procédure
uniform sample
560 580 600
Example:
u = runif(20) 1.5
En C, appel à la procédure
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Générateur pseudo-aléatoire Générateur pseudo-aléatoire
mauvaise qualité
0.8
0.6
t+1
0.4
0.2
0.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
t
1.0
1.0
0.8
0.8
0.6
0.6
t+10
t+5
0.4
0.4
0.2
0.2
0.0
0.0
0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0
t t
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Distributions non-uniformes (1) Distributions non-uniformes (1)
Autres transformations...
[Indice]
Trouver des transformations reliant la loi d’intérêt et des lois plus Example
simples/mieux connues
Les lois de Student et de Fisher se déduisent naturellement de la
loi normale et de la loi du chi-deux.
Example (Transformation de Box-Müller)
Pour la loi normale N (0, 1), si X1 , X2 ∼ N (0, 1),
i.i.d. Example
La loi de Cauchy se déduit de la loi normale par : si
X12 + X22 ∼ χ22 , arctan(X1 /X2 ) ∼ U ([0, 2π]) i.i.d.
X1 , X2 ∼ N (0, 1), X1 /X2 ∼ C (0, 1)
[Jacobien]
Comme χ22 est identique à E xp(1/2), il vient par inversion
p p
X1 = −2 log(U1 ) sin(2πU2 ) X2 = −2 log(U1 ) cos(2πU2 )
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Distributions non-uniformes (1) Distributions non-uniformes (1)
Lois multidimensionnelles
Example
La loi Beta B(α, β), de densité Soit à générer dans Rp
Γ(α + β) α−1 (X1 , . . . , Xp ) ∼ f (x1 , . . . , xp )
fX (x) = x (1 − x)β−1 ,
Γ(α)Γ(β)
dont les composantes ne sont pas nécessairement indépendantes
s’obtient à partir de la loi gamma par: si X1 ∼ G a(α, 1),
X2 ∼ G a(β, 1), alors Cascade rule
X1
∼ B(α, β) f (x1 , . . . , xp ) = f1 (x1 ) × f2|1 (x2 |x1 ) . . . × fp|−p (xp |x1 , . . . , xp−1 )
X1 + X2
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Distributions non-uniformes (1) Distributions non-uniformes (2)
Simuler pour t = 1, . . . , T
1 X1 ∼ f1 (x1 ) FX−1 rarement disponible
2 X2 ∼ f2|1 (x2 |x1 ) algorithme résident sur machine seulement pour lois usuelles
... lemme d’inversion ne s’applique qu’en dimension 1
nouvelle distribution demandant résolution rapide
p. Xp ∼ fp|−p(xp |x1 , . . . , xp−1 )
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Distributions non-uniformes (2) Distributions non-uniformes (2)
Méthode d’acceptation–rejet
Distribution de densité f à simuler Raison :
Loi marginale donnée par
Théorème (fondamental de la simulation)
Z ∞
I0≤u≤f (x) du = f (x)
0
0.25
La loi uniforme sur le sous-graphe et indépendance à la constante de normalisation
0.20
Sf = {(x, u); 0 ≤ u ≤ f (x)}
0.15
Example
f(x)
0.10
a comme loi marginale en x la loi Pour une loi normale, il “suffit” de simuler (u, x) au hasard dans
de densité f .
0.05
{(u, x); 0 ≤ u ≤ exp(−x2 /2)}
0.00
0 2 4 6 8 10
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Distributions non-uniformes (2) Distributions non-uniformes (2)
Théorème (Acceptation–rejet)
Algorithme d’acceptation-rejet La variable produite par la régle d’arrêt ci-dessous est distribuée
1 Trouver une densité g simulable telle que suivant la loi fX
f (x) Preuve (1) : On a
sup =M <∞
x g(x) ∞
X
P (X ≤ x) = P (X = Yk , Yk ≤ x)
2 Générer k=1
X∞ k−1
i.i.d. i.i.d. 1
Y1 , Y2 , . . . ∼ g , U1 , U2 , . . . ∼ U ([0, 1]) = 1− P (Uk ≤ f (Yk )/M g(Yk ) , Yk ≤ x)
M
k=1
∞
X k−1 Z x Z f (y)/M g(y)
1
= 1− du g(y)dy
3 Prendre X = Yk où M −∞ 0
k=1
X∞ k−1 Z x
k = inf{n ; Un ≤ f (Yn )/M g(Yn )} 1 1
= 1− f (y)dy
M M −∞
k=1
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Distributions non-uniformes (2) Distributions non-uniformes (2)
Propriétés
Preuve (2)
5
Fonctionne sans constante de normalisation
4
Ne nécessite pas une borne exacte M
Si (X, U ) est uniforme sur
3
Autorise le recyclage des Yk pour une autre loi f (les Yk
A ⊃ B, la distribution de (X, U )
refusés ne sont plus de loi g)
2
retreinte à B est uniforme sur B.
Demande en moyenne M va Yk pour un X (mesure
1
d’efficacité)
0
−4 −2 0 2 4
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Distributions non-uniformes (2) Distributions non-uniformes (2)
Théorème (Enveloppe)
Example S’il existe une densité gm , une fonction gl et une constante M
telles que
Soit f (x) = exp(−x2 /2) et g(x) = 1/(1 + x2 ) gl (x) ≤ f (x) ≤ M gm (x) ,
f (x) 2 √ alors
= (1 + x2 ) e−x /2 ≤ 2/ e
g(x) 1 Générer X ∼ gm (x), U ∼ U[0,1] ;
p
Probabilité d’acceptation e/2π = 0.66 2 Accepter X si U ≤ gl (X)/M gm (X);
3 sinon, accepter X si U ≤ f (X)/M gm (X)
donne des variables aléatoires suivant la loi f .
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Distributions non-uniformes (2) Distributions non-uniformes (2)
0.6
{(u, v); 0 ≤ u ≤ 2f (v/u)}
Pour une loi normale, simuler
0.4
v
produit (u, v) au hasard dans
0.2
X = V /U ∼ f
0.0
Raison : 0.0 0.2 0.4 0.6
u
0.8 1.0 1.2 1.4
Slice sampler
Slice sampler
0.010
Simuler pour t = 1, . . . , T
Si la simulation uniforme sur
0.008
1 ω (t+1) ∼ U[0,f (x(t))] ;
0.006
G = {(u, x); 0 ≤ u ≤ f (x)} x(t+1) ∼ UG(t+1) , où
f ( x)
2
0.004
est trop compliquée [à cause de l’inversion en x de u ≤ f (x)], on G(t+1) = {y; f (y) ≥ ω (t+1) }.
peut utiliser une marche aléatoire sur G:
0.002
0.000
0.0 0.2 0.4 0.6 0.8 1.0
x
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Méthodes de Markov Méthodes de Markov
Justification
Preuve:
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Méthodes de Markov Méthodes de Markov
L’algorithme de Metropolis–Hastings
Example (Loi normale tronquée)
Si on considère à la place la loi normale N (−3, 1) tronquée à
[0, 1], de densité
Généralisation du slice sampler à des contextes où le slice sampler
exp(−(x + 3)2 /2) ne peut être utilisé facilement
f (x) = √ ∝ exp(−(x + 3)2 /2) = ϕ(x) ,
2π[Φ(4) − Φ(3)] Idée
un slice sampler est Créer une suite (Xn )n telle que, pour n “assez grand”, la densité
de la loi de Xn soit environ f
ω|x ∼ U[0,exp(−(x+3)2 /2)] ,
X|ω ∼ U[0,1∧{−3+√−2 log(ω)}]
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Méthodes de Markov Méthodes de Markov
Propriétés Justification
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Méthodes de Markov Méthodes de Markov
1 pour la génération de U ,
f (y) q(x|y)
f (x) × ρ(x, y) × q(y|x) = f (x) min , 1 q(y|x) I0≤u′ ≤f (x) f (x)−1 I0≤u′ ≤f (x)
f (x) q(y|x) × =1
I0≤u≤f (x) f (x)−1 I0≤u≤f (x)
= min {f (y)q(x|y), f (x)q(y|x)}
[loi jointe] [loi conditionnelle]
= f (y) × ρ(y, x) × q(x|y)
Donc la loi de (X (t) , X (t+1) ) est la même que celle de 2 pour la génération de X,
(X (t+1) , X (t) ) : si X (t) a la loi f , X (t+1) aussi R
I0≤u≤f (y) I{z;u≤f (z)} (x) {z;u≤f (z)} f (z) dz
× R =1
I0≤u≤f (x) I{z;u≤f (z)} (y) {z;u≤f (z)} f (z) dz
[loi jointe] [loi conditionnelle]
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Méthodes de Markov Méthodes de Markov
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Méthodes de Markov Méthodes de Markov
Propriétés
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Méthodes de Markov Méthodes de Markov
400
400
250
0.5
0.5
0.5
(t)2
300
(t)
ρ(x , yt ) = exp{(x − yt2 )/2} ∧ 1.
200
300
0.0
0.0
0.0
150
200
200
-0.5
-0.5
-0.5
100
100
100
-1.0
-1.0
-1.0
50
-1.5
-1.5
-1.5
0
0
-1 0 1 2 -2 0 2 -3 -2 -1 0 1 2 3
(a) (b) (c)
Idée
Cas particulier de modèles où la densité à simuler s’écrit
Simuler f˜ produit des simulations suivant f
Z
f (x) = f˜(x, z)dz Si
Z
(X, Z) ∼ f˜(x, z) ,
La variable Z est alors appelée donnée manquante marginalement
X ∼ f (x)
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Méthodes de Markov Méthodes de Markov
3.0
Complétion (1)
0.30
2.8
0.25
Z
2 2
0.3 e−(xi −µ1 ) /2 + 0.7 e−(xi −µ2 ) /2 = I[0,0.3 e−(xi −µ1 )2 /2 ] (ui )
2.6
0.20
µ2
0.15
+I[0.3 e−(xi −µ1 )2 /2 ,0.3 e−(xi −µ1 )2 /2 +0.7 e−(xi −µ2 )2 /2 ] (ui ) dui
2.4
0.10
2.2
et simuler ((µ1 , µ2 ), (U1 , . . . , Un )) = (X, Z) par Data
0.05
Augmentation
0.00
2.0
x µ1
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE) Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires Simulation de variables aléatoires
Méthodes de Markov Méthodes de Markov
Complétion (2)
Remplacer les Ui par les ξi , où Conditionnement (1)
( 2
1 si Ui ≤ 0.3 e−(xi −µ1 ) /2 , La loi conditionnelle de Z = (ξ1 , . . . , ξn ) sachant X = (µ1 , µ2 ) est
ξi = donnée par
2 sinon
2
0.3 e−(xi −µ1 ) /2
Alors Pr (ξi = 1|µ1 , µ2 ) =
0.3 e−(xi −µ1 )2 /2 + 0.7 e−(xi −µ2 )2 /2
2
0.3 e−(xi −µ1 ) /2 = 1 − Pr (ξi = 2|µ1 , µ2 )
Pr (ξi = 1|µ1 , µ2 ) =
0.3 e−(xi −µ1 )2 /2 + 0.7 e−(xi −µ2 )2 /2
= 1 − Pr (ξi = 2|µ1 , µ2 )
Nouveaux outils informatiques pour la Statistique exploratoire (=NOISE)
Simulation de variables aléatoires
Méthodes de Markov
Conditionnement (2)
La loi conditionnelle de X = (µ1 , µ2 ) sachant Z = (ξ1 , . . . , ξn ) est
donnée par
2 2
Y 2
Y 2
(µ1 , µ2 )|Z ∼ e−µ1 −µ2 × e−(xi −µ1 ) /2 × e−(xi −µ2 ) /2
{i;ξi =1} {i;ξi =2}
( )
n1 µ̂1 2
∝ exp −(n1 + 2) µ1 − /2
n1 + 2
( )
n2 µ̂2 2
× exp −(n2 + 2) µ2 − /2
n2 + 2