simulation des chaînes de markov
TRANSCRIPT
![Page 1: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/1.jpg)
Simulation des chaînes de Markov
Ana Bušić
INRIA - ENS
http://www.di.ens.fr/~busic/
Master COSY - UVSQ
Versailles, février 2011
![Page 2: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/2.jpg)
Système à événements discrets
SED : (X , π0,A, p, ·)
I X est un espace d’états fini.
I π0 est une distribution initiale :π0
x ≥ 0 est la probabilité que le système soit dans l’état x ∈ Xà l’instant 0.
I A est un ensemble d’événements fini.
I p est une mesure de probabilité sur A :pa > 0 est la probabilité de l’événement a ∈ A.
I · est un opérateur qui décrit l’action des événements dans Asur les états dans X - fonction de transition :
· : X × A → X , (x , a) 7→ x · a.
![Page 3: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/3.jpg)
Fonction de transition
Extension aux séquences (mots) d’événements fini :
· : X × An → X , n ∈ N.
Soit a1→ndef= a1 . . . an dans An :
(x , a1→n) 7→ x · a1→ndef= x · a1 · a2 · . . . · an.
![Page 4: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/4.jpg)
Évolution du système
Sur n étapes :
1. On choisit l’état initial X0 selon la distribution π0.2. Pour i = 1 à n faire :
I Choisir un événement ai ∈ A selon pI Xi := Xi−1 · ai = X0 · a1→n
Exemple :
1
2
3
4
b
aa
ab
b
a, b Soit pa = 1/3, pb = 2/3, etπ0 = (1/4, 1/4, 1/4, 1/4).
Une trajectoire possible :1−3−3−2−4−1−3−3−· · ·en partant de l’état 1 et pour laséquence d’événementsbbababb . . ..
![Page 5: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/5.jpg)
SED vs. chaîne de Markov
Un SED A = (X , π0,A, p, ·) induit une chaîne de Markov(en temps discret homogène) : chaîne de Markov
I Soient {an}n∈N une suite i.i.d. d’événements de A distribuésselon p et X0 distribué selon π0.
I Alors {Xndef= X0 · a1→n}n∈N est une chaîne de Markov avec la
matrice de transition P :
pour tout x , y dans X , Px ,y =∑
a∈A : x ·a=y
pa. (1)
De plus, pour toute chaîne de Markov finie avec la distributioninitiale π0 et matrice de transition P il existe un SEDA = (X , π0,A, p, ·) vérifiant (1). Pas unique.
Si |X | = N, il existe un SED avec au plus N2 événements.
![Page 6: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/6.jpg)
SED vs. chaîne de Markov
Un SED A = (X , π0,A, p, ·) induit une chaîne de Markov(en temps discret homogène) : chaîne de Markov
I Soient {an}n∈N une suite i.i.d. d’événements de A distribuésselon p et X0 distribué selon π0.
I Alors {Xndef= X0 · a1→n}n∈N est une chaîne de Markov avec la
matrice de transition P :
pour tout x , y dans X , Px ,y =∑
a∈A : x ·a=y
pa. (1)
De plus, pour toute chaîne de Markov finie avec la distributioninitiale π0 et matrice de transition P il existe un SEDA = (X , π0,A, p, ·) vérifiant (1). Pas unique.
Si |X | = N, il existe un SED avec au plus N2 événements.
![Page 7: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/7.jpg)
SED vs. chaîne de Markov
Un SED A = (X , π0,A, p, ·) induit une chaîne de Markov(en temps discret homogène) : chaîne de Markov
I Soient {an}n∈N une suite i.i.d. d’événements de A distribuésselon p et X0 distribué selon π0.
I Alors {Xndef= X0 · a1→n}n∈N est une chaîne de Markov avec la
matrice de transition P :
pour tout x , y dans X , Px ,y =∑
a∈A : x ·a=y
pa. (1)
De plus, pour toute chaîne de Markov finie avec la distributioninitiale π0 et matrice de transition P il existe un SEDA = (X , π0,A, p, ·) vérifiant (1). Pas unique.
Si |X | = N, il existe un SED avec au plus N2 événements.
![Page 8: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/8.jpg)
Echantionnage de la distribution stationnaire
{Xn}n∈N une chaîne irréductible et apériodique.
QuestionComment échantillonner sa distribution stationnaire π ?
Solution : résoudre le système linéaire π = πP pour calculer π, puisutiliser l’échantillonnage d’une distribution discrète..Complexité : O(N3) (avec N = |X |).
QuestionComment éviter le calcul de π (et même P) ?
![Page 9: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/9.jpg)
Echantionnage de la distribution stationnaire
{Xn}n∈N une chaîne irréductible et apériodique.
QuestionComment échantillonner sa distribution stationnaire π ?Solution : résoudre le système linéaire π = πP pour calculer π, puisutiliser l’échantillonnage d’une distribution discrète..Complexité : O(N3) (avec N = |X |).
QuestionComment éviter le calcul de π (et même P) ?
![Page 10: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/10.jpg)
Echantionnage de la distribution stationnaire
{Xn}n∈N une chaîne irréductible et apériodique.
QuestionComment échantillonner sa distribution stationnaire π ?Solution : résoudre le système linéaire π = πP pour calculer π, puisutiliser l’échantillonnage d’une distribution discrète..Complexité : O(N3) (avec N = |X |).
QuestionComment éviter le calcul de π (et même P) ?
![Page 11: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/11.jpg)
Simulation Monte-Carlo (MCMC)
Algorithme :
I On choisit l’état initial X0 selon π0.I Pour i = 1 jusqu’à n :
I On choisi ai selon p.I Xi = Xi−1 · ai .
Sortie : un echantillon de πn = π0Pn.
Complexité : O(Cn), où C est la complexité du calcul de la fonctionde transition ·.Remarque : échantillonnage d’une distribution discrète en Θ(1) enutilisant la méthode de alias [Walker, 77]. alias
Inconvenient : approximation.Estimation d’erreur est difficile : dépend de la deuxième valeurpropre de P - difficile à calculer [Brémaud, Asmussen and Glynn].
![Page 12: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/12.jpg)
Simulation parfaite (exacte)
Objectif :I des échantillons distribués selon la distribution π exactement
sans jamais la calculer (ni P).I temps d’arrêt fini.
Les premières techniques de simulation parfaite [Borovkov 75,Glynn 96] ont un intérêt essentiellement théorique et existentiel(reposant sur la théorie du renouvellement).
Propp et Wilson (1996) ont proposé le couplage depuis le passé quiest une technique effective de simulation parfaite.
![Page 13: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/13.jpg)
Couplage vers l’avant
On considère une suite a1, · · · an, · · · d’événements i.i.d. selon ladistribution p et l’ensemble des trajectoires qu’elle induit en partantde tous les états du SED.
Notation : E · a = {x · a : x ∈ E}.On pose E0 = X , E1 = X · a1, . . . , En = En−1 · an = X · a1→n.
Par construction les tailles des ensembles En sont décroissantes,donc il existe ` = limn→∞ |En|.
DéfinitionLe SED a la propriété de couplage (couple) si ` = 1 pour presquetoutes les suites d’événements a1, · · · an, · · ·Le temps de couplage est alors τ f def
= min{n ∈ N t.q. |En| = 1}.
![Page 14: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/14.jpg)
Couplage vers l’avant
On considère une suite a1, · · · an, · · · d’événements i.i.d. selon ladistribution p et l’ensemble des trajectoires qu’elle induit en partantde tous les états du SED.
Notation : E · a = {x · a : x ∈ E}.On pose E0 = X , E1 = X · a1, . . . , En = En−1 · an = X · a1→n.
Par construction les tailles des ensembles En sont décroissantes,donc il existe ` = limn→∞ |En|.
DéfinitionLe SED a la propriété de couplage (couple) si ` = 1 pour presquetoutes les suites d’événements a1, · · · an, · · ·Le temps de couplage est alors τ f def
= min{n ∈ N t.q. |En| = 1}.
![Page 15: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/15.jpg)
Couplage vers l’avant(II)
ThéorèmeUn SED couple si et seulement si il admet un mot couplant (ousynchronisant).
La variable aléatoire τ f a une queue de distribution géométrique etson espérance est finie :soit a1 · · · ak un mot couplant, alors
P(τ f > n.k) ≤ (1− pa1 · · · pak )n
etEτ f ≤ k/(pa1 · · · pak ).
![Page 16: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/16.jpg)
Couplage vers l’avant(III)
1
2
3
4
b
aa
ab
b
a, b
1
2
3
4
Couplage en état 3.
![Page 17: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/17.jpg)
Couplage vers l’avant(III)
1
2
3
4
b
aa
ab
b
a, b
a
1
2
3
4
Couplage en état 3.
![Page 18: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/18.jpg)
Couplage vers l’avant(III)
1
2
3
4
b
aa
ab
b
a, b
a a b b
1
2
3
4
Couplage en état 3.
![Page 19: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/19.jpg)
Couplage vers l’avant(III)
1
2
3
4
b
aa
ab
b
a, b
a a b b
1
2
3
4
Couplage en état 3.
![Page 20: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/20.jpg)
Questions
QuestionCouplage vers l’avant donne-t-il un echantillon stationnaire ?
1 2
ab
a, b
pa = pb = 0.5
QuestionUn SED dont la chaîne de Markov est irréductible et apériodiquecouple-t-il toujours ?
![Page 21: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/21.jpg)
Questions
QuestionCouplage vers l’avant donne-t-il un echantillon stationnaire ?
1 2
ab
a, b
pa = pb = 0.5
QuestionUn SED dont la chaîne de Markov est irréductible et apériodiquecouple-t-il toujours ?
![Page 22: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/22.jpg)
Couplage depuis le passé : l’idée
1
2
3
4
b
aa
ab
b
a, b 4
3
2
1
a
![Page 23: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/23.jpg)
Couplage depuis le passé : l’idée
1
2
3
4
b
aa
ab
b
a, b 4
3
2
1
a a
![Page 24: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/24.jpg)
Couplage depuis le passé : l’idée
1
2
3
4
b
aa
ab
b
a, b 4
3
2
1
ab a
![Page 25: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/25.jpg)
Couplage depuis le passé : l’idée
1
2
3
4
b
aa
ab
b
a, b 4
3
2
1
b ab a
![Page 26: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/26.jpg)
Couplage depuis le passé : l’idée
1
2
3
4
b
aa
ab
b
a, b 4
3
2
1
b ab aa
![Page 27: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/27.jpg)
Couplage depuis le passé
a1, a2, . . . , an, . . . une suite i.i.d. d’événements distribués selon p.On regarde l’ensemble des trajectoires depuis le passé :
S0 = X , S1 = X · a1, S2 = X · a2a1,Sn
def= X · an→1
def= X · an · an−1 . . . a1.
Par construction, on a Sn ⊆ Sn−1 ⊆ · · · ⊆ S1 ⊆ X .Il existe donc un ensemble limite S .Si le SED est couplant, alors S est réduit à un seul élément p.s.. Ondéfinit alors le temps de couplage depuis le passé :
τb def= min{n ∈ N t.q. |Sn| = 1}.
Comme la probabilité d’occurrence de an · · · a1 et celle de a1 · · · ansont les mêmes : P(an · · · a1) = pan · · · pa1 = P(a1 · · · an), alorsτ f D
= τb.
![Page 28: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/28.jpg)
Couplage depuis le passé
a1, a2, . . . , an, . . . une suite i.i.d. d’événements distribués selon p.On regarde l’ensemble des trajectoires depuis le passé :
S0 = X , S1 = X · a1, S2 = X · a2a1,Sn
def= X · an→1
def= X · an · an−1 . . . a1.
Par construction, on a Sn ⊆ Sn−1 ⊆ · · · ⊆ S1 ⊆ X .Il existe donc un ensemble limite S .Si le SED est couplant, alors S est réduit à un seul élément p.s.. Ondéfinit alors le temps de couplage depuis le passé :
τb def= min{n ∈ N t.q. |Sn| = 1}.
Comme la probabilité d’occurrence de an · · · a1 et celle de a1 · · · ansont les mêmes : P(an · · · a1) = pan · · · pa1 = P(a1 · · · an), alorsτ f D
= τb.
![Page 29: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/29.jpg)
Couplage depuis le passé (II)
ThéorèmeI Si SED est couplant, E(τb) <∞.I Soit Y (l’unique) état dans Sτb . Alors Y est distribué selon π.
Démonstration.I Puisque τ f D
= τb, E(τb) = E(τ f ) <∞.I On doit montrer que : P(Y = x) = πx ,∀x ∈ X . Soit x ∈ X un
état fixé. Il suffit de montrer que pour tout ε > 0,
|P(Y = x)− πx | ≤ ε.
![Page 30: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/30.jpg)
Couplage depuis le passé (II)
ThéorèmeI Si SED est couplant, E(τb) <∞.I Soit Y (l’unique) état dans Sτb . Alors Y est distribué selon π.
Démonstration.I Puisque τ f D
= τb, E(τb) = E(τ f ) <∞.
I On doit montrer que : P(Y = x) = πx ,∀x ∈ X . Soit x ∈ X unétat fixé. Il suffit de montrer que pour tout ε > 0,
|P(Y = x)− πx | ≤ ε.
![Page 31: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/31.jpg)
Couplage depuis le passé (II)
ThéorèmeI Si SED est couplant, E(τb) <∞.I Soit Y (l’unique) état dans Sτb . Alors Y est distribué selon π.
Démonstration.I Puisque τ f D
= τb, E(τb) = E(τ f ) <∞.I On doit montrer que : P(Y = x) = πx ,∀x ∈ X . Soit x ∈ X un
état fixé. Il suffit de montrer que pour tout ε > 0,
|P(Y = x)− πx | ≤ ε.
![Page 32: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/32.jpg)
Démonstration (suite)
Soit ε > 0 fixé. Puisque τb <∞ p.s., il existe un m suffisammentgrand t.q.
P(|Sm| = 1) ≥ 1− ε.
Fixons m. Soit l’état X choisi selon π et observons la trajectoire enpartant de X à l’instant m, en utilisant la même suite d’événementsam, . . . , a1. Notons par Y = X · am→1.
Puisque X est stationnaire, Y l’est aussi. De plus,
P(Y 6= Y ) ≤ ε.
![Page 33: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/33.jpg)
Démonstration (suite)
Soit ε > 0 fixé. Puisque τb <∞ p.s., il existe un m suffisammentgrand t.q.
P(|Sm| = 1) ≥ 1− ε.
Fixons m. Soit l’état X choisi selon π et observons la trajectoire enpartant de X à l’instant m, en utilisant la même suite d’événementsam, . . . , a1. Notons par Y = X · am→1.
Puisque X est stationnaire, Y l’est aussi. De plus,
P(Y 6= Y ) ≤ ε.
![Page 34: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/34.jpg)
Démonstration (suite)
Soit ε > 0 fixé. Puisque τb <∞ p.s., il existe un m suffisammentgrand t.q.
P(|Sm| = 1) ≥ 1− ε.
Fixons m. Soit l’état X choisi selon π et observons la trajectoire enpartant de X à l’instant m, en utilisant la même suite d’événementsam, . . . , a1. Notons par Y = X · am→1.
Puisque X est stationnaire, Y l’est aussi. De plus,
P(Y 6= Y ) ≤ ε.
![Page 35: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/35.jpg)
Démonstration (suite)
Nous avons :
P(Y = x)− πx = P(Y = x)− P(Y = x)
≤ P(Y = x , Y 6= x)
≤ P(Y 6= Y ) ≤ ε.
Aussi :
πx − P(Y = x) = P(Y = x)− P(Y = x)
≤ P(Y = x ,Y 6= x)
≤ P(Y 6= Y ) ≤ ε.
Donc,|P(Y = x)− πx | ≤ ε.
![Page 36: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/36.jpg)
Démonstration (suite)
Nous avons :
P(Y = x)− πx = P(Y = x)− P(Y = x)
≤ P(Y = x , Y 6= x)
≤ P(Y 6= Y ) ≤ ε.
Aussi :
πx − P(Y = x) = P(Y = x)− P(Y = x)
≤ P(Y = x ,Y 6= x)
≤ P(Y 6= Y ) ≤ ε.
Donc,|P(Y = x)− πx | ≤ ε.
![Page 37: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/37.jpg)
Démonstration (suite)
Nous avons :
P(Y = x)− πx = P(Y = x)− P(Y = x)
≤ P(Y = x , Y 6= x)
≤ P(Y 6= Y ) ≤ ε.
Aussi :
πx − P(Y = x) = P(Y = x)− P(Y = x)
≤ P(Y = x ,Y 6= x)
≤ P(Y 6= Y ) ≤ ε.
Donc,|P(Y = x)− πx | ≤ ε.
![Page 38: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/38.jpg)
Algorithme de simulation parfaite (PSA)
Data: (X ,A, ·, p).Result: Un état de X distribué selon π.begin
n := 1 ;foreach état x ∈ X do
T (x) := x ;repeat
Tirer a selon p ;foreach état x ∈ X do
S(x) := T (x · a) ;T := S ;
until |{T (x), x ∈ X}| = 1 ;return T (x1) (x1 un élément dans X )
end
Inconvenient : La complexité O(C × |X | × τb), avec C lacomplexité du calcul de la fonction de transition (·).
![Page 39: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/39.jpg)
Algorithme de simulation parfaite (PSA)
Data: (X ,A, ·, p).Result: Un état de X distribué selon π.begin
n := 1 ;foreach état x ∈ X do
T (x) := x ;repeat
Tirer a selon p ;foreach état x ∈ X do
S(x) := T (x · a) ;T := S ;
until |{T (x), x ∈ X}| = 1 ;return T (x1) (x1 un élément dans X )
end
Inconvenient : La complexité O(C × |X | × τb), avec C lacomplexité du calcul de la fonction de transition (·).
![Page 40: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/40.jpg)
SED monotone
On suppose que l’espace d’état est muni d’une relation d’ordre (�)et que la fonction de transition de l’automate est monotone :
x � y ⇒ ∀a ∈ A, x · a � y · a.
0 Time
States
![Page 41: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/41.jpg)
SED monotone
On suppose que l’espace d’état est muni d’une relation d’ordre (�)et que la fonction de transition de l’automate est monotone :
x � y ⇒ ∀a ∈ A, x · a � y · a.
0 Time
States
![Page 42: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/42.jpg)
SED monotone (II)
Soit E l’ensemble des éléments extrémaux de X pour �.On note X def
= {x ∈ X t.q. ∃u, v ∈ X | u � x � v}.Par définition, X = E .
Par monotonie, X · a ⊆ X · a,et donc, pour tout mot an, . . . , a1,
E · an→1 ⊆ X · an→1 ⊆ E · an→1.
Toutes les trajectoires sont “capturées” entre les trajectoiresextrémales.Si an, . . . , a1 est un mot couplant pour E ,
E · an→1 = X · an→1 = E · an→1.
![Page 43: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/43.jpg)
SED monotone (II)
Soit E l’ensemble des éléments extrémaux de X pour �.On note X def
= {x ∈ X t.q. ∃u, v ∈ X | u � x � v}.Par définition, X = E .
Par monotonie, X · a ⊆ X · a,et donc, pour tout mot an, . . . , a1,
E · an→1 ⊆ X · an→1 ⊆ E · an→1.
Toutes les trajectoires sont “capturées” entre les trajectoiresextrémales.
Si an, . . . , a1 est un mot couplant pour E ,
E · an→1 = X · an→1 = E · an→1.
![Page 44: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/44.jpg)
SED monotone (II)
Soit E l’ensemble des éléments extrémaux de X pour �.On note X def
= {x ∈ X t.q. ∃u, v ∈ X | u � x � v}.Par définition, X = E .
Par monotonie, X · a ⊆ X · a,et donc, pour tout mot an, . . . , a1,
E · an→1 ⊆ X · an→1 ⊆ E · an→1.
Toutes les trajectoires sont “capturées” entre les trajectoiresextrémales.Si an, . . . , a1 est un mot couplant pour E ,
E · an→1 = X · an→1 = E · an→1.
![Page 45: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/45.jpg)
Exemple
file M/M/1/3
Événements :a - arrivée (λ)d - depart (µ)
Chaîne uniformiséeavec Λ = λ+ µ.
3
2
1
0
Inconvenient : Complexité O((τb)2 × C × |E |)(comparé à O(τb × C × |X |)).
Solution : doublement de l’intervalle.
![Page 46: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/46.jpg)
Exemple
file M/M/1/3
Événements :a - arrivée (λ)d - depart (µ)
Chaîne uniformiséeavec Λ = λ+ µ. d
3
2
1
0
Inconvenient : Complexité O((τb)2 × C × |E |)(comparé à O(τb × C × |X |)).
Solution : doublement de l’intervalle.
![Page 47: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/47.jpg)
Exemple
file M/M/1/3
Événements :a - arrivée (λ)d - depart (µ)
Chaîne uniformiséeavec Λ = λ+ µ. da
3
2
1
0
Inconvenient : Complexité O((τb)2 × C × |E |)(comparé à O(τb × C × |X |)).
Solution : doublement de l’intervalle.
![Page 48: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/48.jpg)
Exemple
file M/M/1/3
Événements :a - arrivée (λ)d - depart (µ)
Chaîne uniformiséeavec Λ = λ+ µ. da
3
2
1
0
Inconvenient : Complexité O((τb)2 × C × |E |)(comparé à O(τb × C × |X |)).
Solution : doublement de l’intervalle.
![Page 49: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/49.jpg)
Exemple
file M/M/1/3
Événements :a - arrivée (λ)d - depart (µ)
Chaîne uniformiséeavec Λ = λ+ µ. da
3
2
1
0
Inconvenient : Complexité O((τb)2 × C × |E |)(comparé à O(τb × C × |X |)).
Solution : doublement de l’intervalle.
![Page 50: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/50.jpg)
Exemple
file M/M/1/3
Événements :a - arrivée (λ)d - depart (µ)
Chaîne uniformiséeavec Λ = λ+ µ. da a
3
2
1
0
Inconvenient : Complexité O((τb)2 × C × |E |)(comparé à O(τb × C × |X |)).
Solution : doublement de l’intervalle.
![Page 51: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/51.jpg)
Exemple
file M/M/1/3
Événements :a - arrivée (λ)d - depart (µ)
Chaîne uniformiséeavec Λ = λ+ µ. dd a a
3
2
1
0
Inconvenient : Complexité O((τb)2 × C × |E |)(comparé à O(τb × C × |X |)).
Solution : doublement de l’intervalle.
![Page 52: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/52.jpg)
Exemple
file M/M/1/3
Événements :a - arrivée (λ)d - depart (µ)
Chaîne uniformiséeavec Λ = λ+ µ. dd d a a
3
2
1
0
Inconvenient : Complexité O((τb)2 × C × |E |)(comparé à O(τb × C × |X |)).
Solution : doublement de l’intervalle.
![Page 53: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/53.jpg)
Exemple
file M/M/1/3
Événements :a - arrivée (λ)d - depart (µ)
Chaîne uniformiséeavec Λ = λ+ µ. dd d a ad
3
2
1
0
Inconvenient : Complexité O((τb)2 × C × |E |)(comparé à O(τb × C × |X |)).
Solution : doublement de l’intervalle.
![Page 54: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/54.jpg)
Exemple
file M/M/1/3
Événements :a - arrivée (λ)d - depart (µ)
Chaîne uniformiséeavec Λ = λ+ µ. dd d a ad
3
2
1
0
Inconvenient : Complexité O((τb)2 × C × |E |)(comparé à O(τb × C × |X |)).
Solution : doublement de l’intervalle.
![Page 55: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/55.jpg)
Exemple
file M/M/1/3
Événements :a - arrivée (λ)d - depart (µ)
Chaîne uniformiséeavec Λ = λ+ µ. dd d a ad
3
2
1
0
Inconvenient : Complexité O((τb)2 × C × |E |)(comparé à O(τb × C × |X |)).
Solution : doublement de l’intervalle.
![Page 56: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/56.jpg)
Algorithme de simulation parfaite monotone
Data: (X ,A, ·, p), E = { états extrémaux }.Result: x ∈ X généré selon πbegin
n = 1 ;repeat
S := E ;for i = n downto bn/2c+ 1 do
Tirer ai selon pfor i = n downto 1 do
S := S · ai ;n := 2n;
until |S | = 1 ;return x unique état dans S;
end
![Page 57: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/57.jpg)
Questions
QuestionQuelle est la complexité de l’algorithme PSA-monotone ?
QuestionL’algorithme PSA-monotone nécessite de garder en mémoire la suitea1, a2, . . . et de les reutiliser à chaque doublement de l’intervalle.Que se passe-t-il si on utilise des nouveaux tirages (indépendants) àchaque fois ?
QuestionOn suppose que la fonction de transition de l’automate est vérifiepour chaque a ∈ A :
I x � y ⇒ x · a � y · a (événement monotone) ouI x � y ⇒ x · a � y · a (événement anti-monotone).
Montrer qu’on peut utiliser l’algorithme PSA-monotone pouréchantilloner π.
![Page 58: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/58.jpg)
Questions
QuestionQuelle est la complexité de l’algorithme PSA-monotone ?
QuestionL’algorithme PSA-monotone nécessite de garder en mémoire la suitea1, a2, . . . et de les reutiliser à chaque doublement de l’intervalle.Que se passe-t-il si on utilise des nouveaux tirages (indépendants) àchaque fois ?
QuestionOn suppose que la fonction de transition de l’automate est vérifiepour chaque a ∈ A :
I x � y ⇒ x · a � y · a (événement monotone) ouI x � y ⇒ x · a � y · a (événement anti-monotone).
Montrer qu’on peut utiliser l’algorithme PSA-monotone pouréchantilloner π.
![Page 59: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/59.jpg)
Questions
QuestionQuelle est la complexité de l’algorithme PSA-monotone ?
QuestionL’algorithme PSA-monotone nécessite de garder en mémoire la suitea1, a2, . . . et de les reutiliser à chaque doublement de l’intervalle.Que se passe-t-il si on utilise des nouveaux tirages (indépendants) àchaque fois ?
QuestionOn suppose que la fonction de transition de l’automate est vérifiepour chaque a ∈ A :
I x � y ⇒ x · a � y · a (événement monotone) ouI x � y ⇒ x · a � y · a (événement anti-monotone).
Montrer qu’on peut utiliser l’algorithme PSA-monotone pouréchantilloner π.
![Page 60: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/60.jpg)
Quelques remarques/problèmes
1. Garder la suite aléatoire en mémoire.
2. SED non-monotones.
3. Temps de couplage.
![Page 61: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/61.jpg)
Chaînes de Markov
I Une chaîne de Markov (en temps discret) sur un espace fini Xest une suite de variables aléatoires X0,X1, . . . sur X telles quepour tout n ∈ N, et tout in, in−1, . . . , i0 ∈ X :
P(Xn = in|Xn−1 = in−1, . . . ,X0 = i0) = P(Xn = in|Xn−1 = in−1).
I Si P(Xn = j |Xn−1 = i) = Pi ,j , ∀n, alors on dit que la chaîneest homogène et on appelle P la matrice de transition.
I Notation : πn (πni
def= P(Xn = i)) la distribution de Xn. Alors,
πn = πn−1P.
I Si la chaîne est irréductible et apériodique, alors il existe ladistribution limite π = limn→∞ π
n.Elle vérifie πP = π et on l’appelle la distribution stationnaire.
retour
![Page 62: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/62.jpg)
Échantillonage par table d’alias(Walker 1977)
retour
1 2 3 4 5
1/5
On commence par construire un histogramme de µ.
![Page 63: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/63.jpg)
Échantillonage par table d’alias(Walker 1977)
retour
1 2 3 4 5
1/5
On remplit la colonne la plus basse jusqu’au niveau 1/N en puisantdans la colonne la plus haute.
![Page 64: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/64.jpg)
Échantillonage par table d’alias(Walker 1977)
retour
4
1 2 3 4 5
1/5
On remplit la colonne la plus basse jusqu’au niveau 1/N en puisantdans la colonne la plus haute.
![Page 65: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/65.jpg)
Échantillonage par table d’alias(Walker 1977)
retour
41
1 2 3 4 5
1/5
On recommence tant que toutes les colonnes ne sont pas exactementau niveau 1/N. Au-delà du seuil S [i ], la colonne i correspond à lavaleur V [i ].
![Page 66: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/66.jpg)
Échantillonage par table d’alias(Walker 1977)
retour
41
1 2 3 4 5
1/5
On recommence tant que toutes les colonnes ne sont pas exactementau niveau 1/N. Au-delà du seuil S [i ], la colonne i correspond à lavaleur V [i ].
![Page 67: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/67.jpg)
Échantillonage par table d’alias(Walker 1977)
retour
41
5
1 2 3 4 5
1/5
On recommence tant que toutes les colonnes ne sont pas exactementau niveau 1/N. Au-delà du seuil S [i ], la colonne i correspond à lavaleur V [i ].
![Page 68: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/68.jpg)
Échantillonage par table d’alias(Walker 1977)
retour
41
Y
X
1 2 3 4 5
1/5
On tire X et Y deux variables uniformes, indépendantes : X dans{1, . . . ,N}, Y dans [0, 1/N]. Par construction des tables S et V , laquantité X1Y<S[X ] + V [X ]1Y≥S[X ] est distribuée selon µ.
![Page 69: Simulation des chaînes de Markov](https://reader034.vdocuments.site/reader034/viewer/2022051302/586e26b21a28abf0508b9e32/html5/thumbnails/69.jpg)
Échantillonage par table d’alias(Walker 1977)
retour
41
Y
X
1 2 3 4 5
1/5
Une fois les tableaux S et V construits, le tirage se fait en tempsconstant.