Chaînes de Markov (version 0) Yan Doumerc ECS1, lycée Gaston Berger, Lille [email protected] 15 Mai 2014 Résumé Ce document accompagne une séance de formation destinée aux professeurs de classe préparatoire EC. Il s’agit de présenter les fondamentaux des chaînes de Markov, thème qui fait son appartition dans les nouveaux programmes. L’objectif est de donner les résultats théoriques majeurs ainsi que quelques preuves significatives, de présenter un panorama assez vaste d’exemples qui peuvent servir d’inspiration et de détailler les possibilités qu’offre Scilab sur ce thème. Le contenu de ce document va au delà de ce qui est présentable à nos étudiants mais nous espérons qu’il aidera ses lecteurs à avoir un bagage confortable et un recul suffisant pour enseigner le sujet. Table des matières 1 Introduction 1.1 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Les questions qui se posent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Liste de notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 3 3 2 Généralités 2.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Propriété de Markov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 En Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 4 3 Structure linéaire 6 4 Structure topologique 4.1 Communications entre états et classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Période . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 7 5 Classification des états. 5.1 Transience, récurrence positive et récurrence nulle . . . . . . . . . . . . . . . . . . . . . . 5.2 En Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 6 Mesure invariante 6.1 Définition, existence, unicité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 En Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 10 10 7 Asymptotique 7.1 Loi des grands nombres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Convergence en loi de (Xn ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 12 12 8 Aspects matriciels dans le cas E fini 14 9 Analyse à un pas 9.1 Temps d’atteinte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 Probabilités et temps d’absorption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 15 15 1 10 Exemples 10.1 La chaîne à deux états . . . . . . . . . . . . . . . . . 10.2 Bonus-malus en assurance . . . . . . . . . . . . . . . 10.3 Mobilité sociale . . . . . . . . . . . . . . . . . . . . . 10.4 Score au tennis . . . . . . . . . . . . . . . . . . . . . 10.5 Mots de taille 2 dans un pile ou face . . . . . . . . . 10.6 Ascension et rechutes . . . . . . . . . . . . . . . . . . 10.7 Retenues lorsque l’on pose une addition . . . . . . . 10.8 Collectionneur de coupons . . . . . . . . . . . . . . . 10.9 Sisyphe et les matrices compagnons . . . . . . . . . . 10.10Processus de vie et de mort et marches aléatoires . . 10.10.1 Sur N . . . . . . . . . . . . . . . . . . . . . . 10.10.2 Sur Z . . . . . . . . . . . . . . . . . . . . . . 10.10.3 Sur [[0, s]]. Ruine du joueur. . . . . . . . . . . 10.11Marche aléatoire sur un graphe. Pagerank de Google. 10.12Marche aléatoire sur un groupe . . . . . . . . . . . . 10.13Urne d’Ehrenfest . . . . . . . . . . . . . . . . . . . . 10.14Modèle de Wright-Fisher . . . . . . . . . . . . . . . . 10.15Processus de Galton-Watson . . . . . . . . . . . . . . 10.16Files d’attente . . . . . . . . . . . . . . . . . . . . . . 10.17Un exemple non-homogène : urne de Polya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cavalier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . sur un . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . échiquier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Quelques preuves 1 . . . . . . . . . . . . . . . . . . . . 16 16 16 18 18 20 21 21 22 22 22 22 23 23 24 24 26 28 28 29 29 30 Introduction 1.1 Motivations 1. Dans les nouveaux programmes, les chaînes de Markov constituent le thème 3 en ECS2 (6h) et ECT2 (4h), le thème 4 en ECE2 (6h). Elles mobilisent les compétences C2 (modéliser et simuler des phénomènes aléatoires ou déterministes et les traduire en langage mathématique) et C4 (représenter et interpréter les différentes convergences). 2. Les familles (Xn )n∈N de variables aléatoires indépendantes sont des objets fondamentaux en probabilités mais souvent trop « naïfs » pour décrire en pratique des phénomènes aléatoires. Les chaînes de Markov constituent un exemple fondamental de familles (Xn ) de variables exhibant une dépendance suffisamment riche pour être pertinente et suffisamment simple pour se prêter à une étude détaillée. 3. Les chaînes de Markov sont le pendant aléatoire des suites récurrentes xn+1 = f (xn ). 4. Certains phénomènes se présentent spontanément comme des chaînes de Markov. Ce sont souvent des hypothèses d’indépendance inhérentes au phénomène qui se transforment en propriété de Markov. Cf 10.5, 10.7, 10.12. 5. On peut aussi fabriquer une structure markovienne pour s’adapter au plus près à la modélisation d’une situation réelle. A ce titre, les chaînes de Markov constituent des approximations de la réalité dont il convient de mesurer ensuite la pertinence (notamment en termes de prédictions). Cf 10.3, 10.16, 10.15, 10.14, 10.13. Notons que la structure markovienne à choisir peut être subtile : certains phénomènes ne sont pas directement markoviens en eux-mêmes mais proviennent d’un processus markovien sous-jacent (chaîne de Markov cachée). 6. Enfin, les chaînes de Markov peuvent être utilisées comme outils dans des problèmes qui n’ont a priori rien de markovien. Par exemple, les bonnes propriétés asymptotiques des chaînes de Markov peuvent permettre la simulation exacte ou approchée d’une loi de probailité (algorithmes de Metropolis-Hastings et de Propp-Wilson) ou le calcul approché d’une espérance sous cette loi (méthodes dites MCMC pour Monte Carlo Markov Chains). Elles peuvent aussi servir dans des problèmes d’optimisation (algorithme de recuit simulé). 7. Pédagogiquement, les chaînes de Markov permettent de nouer un lien fort entre probabilités et algèbre linéaire. 2 8. Scilab a des commandes prévues pour les chaînes de Markov. Pour les comprendre, il faut avoir quelques connaissances mathématiques sur le sujet. 9. Ce document comporte quelques preuves que nous avons jugé utiles et significatives. Nous renvoyons à l’abondante littérature sur le sujet. Notre bibliographie cîte des ouvrages et des articles publiés mais il existe aussi des cours très complets disponibles sur internet (il suffit de googliser « chaînes de Markov » ou « Markov chains » pour obtenir de nombreux cours de type L3 ou M1) 1.2 Les questions qui se posent En tant que généralisation des suites récurrentes xn+1 = f (xn ) et des suites de variables aléatoires indépendantes et de même loi, les chaînes de Markov soulèvent des questions naturelles. 1. Quels états la chaîne peut-elle visiter ? Combien de fois la chaîne visite-t-elle ces états ? 2. Existe-t-il des régions pièges telles que si la chaîne y entre, elle y reste ? 3. Existence et unicité d’un équilibre (analogue à un point fixe de f pour une suite xn+1 = f (xn )) ? f (X1 ) + · · · + f (Xn ) , 4. Comportement asymptotique quand n → +∞ : loi des grands nombres pour n convergence de Xn ? 1.3 Liste de notations 1. L(Y )= loi de la variable aléatoire Y . 2. CM : chaîne de Markov. 3. CM (E, µ, Q) : chaîne de Markov à valeurs dans E, de loi initiale µ et de « matrice » de transition Q. On utilisera CM (E), CM (Q) ou CM (µ, Q) selon les situations. 4. Pµ = loi de la chaîne X lorsque µ = L(X0 ), Px = loi de la chaîne X lorsque X0 = x, Lµ (Y ) = loi de la variable aléatoire Y lorsque µ = L(X0 ). 5. Si n ∈ N, Xn+• = (Xn+k )k∈N = chaîne translatée de n. 6. Si A ⊂ E, τA = inf{n ≥ 0 | Xn ∈ A} = temps d’atteinte de A, TA = inf{n > 0 | Xn ∈ A} temps positif d’atteinte de A, τx = τ{x} , Tx = T{x} . 7. ρxy = Px (∃n ∈ N∗ , Xn = y) = Px (Ty < +∞) P+∞ 8. NA = n=0 1Xn ∈A = nombre de passages de X en A. 3 2 Généralités 2.1 Définitions 1. X = (Xn )n∈N suite de variables aléatoires à valeurs dans E (espace d’états, fini ou dénombrable). X est une CM lorsque ∀n ∈ N, ∀(x0 , . . . , xn+1 ) ∈ E n+2 , P (Xn+1 = xn+1 | (X0 , . . . , Xn ) = (x0 , . . . , xn )) = P (Xn+1 = xn+1 | Xn = xn ). 2. Une CM X est homogène lorsque P (Xn+1 = y | Xn = x) ne dépend pas de n. On note Qxy := P (Xn+1 = y | Xn = x) = P (X1 = y | X0 = x) = probabilité de transition de x à y. 3. Q = (Qxy )(x,y)∈E 2 := « matrice » de transition indicée par E 2 (Qxy ≥ 0, P y∈E Qxy = 1). 4. Si µ = L(X0 ) (loi de X0 i.e. µx = P (X0 = x)) alors la loi de la chaîne X est entièrement déterminée par µ = L(X0 ) et Q : P (X0 = x0 , X1 = x1 , . . . , Xn = xn ) = µx0 Qx0 x1 Qx1 x2 · · · Qxn−1 xn . 5. CM = suite récurrente aléatoire. Si (Un )n∈N∗ est une suite de variables aléatoires indépendantes et de même loi, indépendantes de X0 et Xn+1 = f (Xn , Un+1 ) alors X est une CM de transitions données par Qxy = P (f (x, U ) = y). Réciproquement, toute CM peut être réalisée ainsi. 2.2 Propriété de Markov 1. Propriété de Markov faible : conditionnellement à {Xn = x}, la suite Xn+• est une CM (δx , Q) indépendante de (X0 , . . . , Xn−1 ) i.e. ∀n, ∀A ⊂ E n , ∀B ⊂ E N (B mesurable pour la tribu produit), Pµ (Xn+• ∈ B | (X0 , . . . , Xn−1 ) ∈ A, Xn = x) = Px (X ∈ B). 2. La propriété de Markov forte permet de remplacer le n fixé de la propriété précédente par un temps T aléatoire lorsque c’est un temps d’arrêt i.e. lorsque, pour tout k ∈ N, {T = k} est dans la tribu Fk engendrée par X0 , . . . , Xk . On note alors FT = {A | ∀k ∈ N, A ∩ {T = k} ∈ Fk } et la propriété de Markov forte dit alors que, conditionnellement à {T < +∞} ∩ {XT = x}, la suite XT +• est une CM (δx , Q) indépendante de FT . Cette formulation est très pratique mais nécessite des préalables (tribu engendrée par X0 , . . . , Xk , temps d’arrêt, tribu FT ) qu’il me semble déraisonnable de présenter à nos étudiants de voie EC. Ainsi, je n’utiliserai pas cette formulation. 2.3 En Scilab 1. La commande X=grand(n,"markov",Q,x0) renvoie une trajectoire X1 , . . . , Xn de longueur n de la CM de matrice de transition Q de taille N , d’espace d’états [[1, N ]] et d’état initial x0∈ [[1, N ]] 2. On peut simuler simultanément par la même commande m trajectoires de la chaîne en prenant pour x0 un vecteur de longueur m : Y est alors une matrice à m lignes et n colonnes, la i-ième ligne de cette matrice représentant une trajectoire de la chaîne issue de x0(i). 3. La commande Q=genmarkov(N,0) génère une matrice de transition aléatoire (irréductible, cf 4.1) de taille N. Cette commande admet d’autres options (cf 5). -->Q=genmarkov(3,0) Q = 0.2105215 0.2587063 0.4055988 0.5940917 0.3676393 0.4283597 0.1953868 0.3736544 0.1660415 -->X=grand(10,"markov",Q,2) X = 1. 3. 2. 2. 1. 3. 1. 4 3. 2. 3. -->X=grand(10,"markov",Q,ones(1,4)) X = 1. 2. 2. 1. 2. 2. 2. 2. 3. 2. 2. 2. 1. 3. 1. 2. 3. 3. 3. 3. 1. 1. 2. 1. 2. 2. 1. 2. 3. 3. 3. 2. 1. 2. 1. 1. 1. 2. 1. 2. 4. La commande X=grand(n,’markov’,Q,x0) ne fonctionne que pour un espace d’état fini. Une autre méthode est d’utiliser une formule Xn+1 = f (Xn , Un+1 ) qui, modulo une boucle, réduit le problème à la simulation de variables aléatoires indépendantes et de même loi Un . 5. Parfois, les commandes matricielles de Scilab permettent d’éviter une boucle et d’écrire des codes très rapides (cf 10.12). 5 3 Structure linéaire 1. Une mesure (positive) µ sur E est vue comme un vecteur ligne (µx )x∈E indicé par E (à composantes ≥ 0). 2. Une fonction f sur E est vue comme un vecteur colonne (f (x))x∈E indicé par E. 3. Lemme général de probabilités. Soit X, Y deux variables aléatoires à valeurs dans E, L(X), L(Y ) vecteurs lignes des lois de X et Y . On pose Qxy = P (Y = y|X = x) et Q = (Qxy )(x,y)∈E 2 matrice indicée par E 2 . Alors Formule de transfert Formule des probabilités totales : E(f (X)) : L(Y ) où l’on utilise les produits « matriciels » usuels (µ.Q)y = P x∈E = L(X).f = L(X).Q, µx Qxy , (Q.f )x = P y∈E Qxy f (y). 4. Application à X CM (Q) : L(Xn+1 ) = L(Xn ).Q Eµ (f (Xn )) = µ.Qn .f , L(Xn ) = L(X0 ).Qn , Px (Xn = y) = Qnxy 5. En Scilab, on peut donc utiliser le produit matriciel pour calculer Qn , L(X0 ).Qn ou µ.Qn .f . A titre d’exemple, si X est une CM ([[1, N ]], Q, ν) où N ,Q sont connues et ν = U([[1, N ]]), on peut calculer ainsi la loi de X10 ou sa variance : L=(ones(1,N)/N)*Q^10 V=L*([1:N].^2)-(L*[1:N])^2 //renvoie vecteur ligne égal à la loi de X_10 //renvoie Var(X_10) 6. En Scilab, une façon rapide de stimuler l’intérêt pour le comportement asymptotique d’une CM est la séquence suivante : -->Q=genmarkov(5,0) Q = 0.0222811 0.1740691 0.1452540 0.1173445 0.2530282 0.2697559 0.1250174 0.1607858 0.2520207 0.0367638 0.1310236 0.2228307 0.6116494 0.1577082 0.3027446 0.2977397 0.2568908 0.0360346 0.2245600 0.1251088 0.2791997 0.2211919 0.0462762 0.2483667 0.2823547 0.1630835 0.1601482 0.1648927 0.1621018 0.1596959 0.3199016 0.3295414 0.3870534 0.3221453 0.3446721 0.1677465 0.1639701 0.1427979 0.1665796 0.1574593 0.2018355 0.1958860 0.1616096 0.2002975 0.1881876 0.1624627 0.1624627 0.1624627 0.1624627 0.1624627 0.3498718 0.3498718 0.3498718 0.3498718 0.3498718 0.1563285 0.1563285 0.1563285 0.1563285 0.1563285 0.1840428 0.1840428 0.1840428 0.1840428 0.1840428 -->Q^3 ans = 0.1474329 0.1504543 0.1436463 0.1488757 0.1499850 -->Q^100 ans = 0.1472942 0.1472942 0.1472942 0.1472942 0.1472942 Pourquoi les lignes de Qn sont-elles égales ? Cf 7.2 pour une réponse. 6 4 Structure topologique 4.1 Communications entre états et classes 1. Graphe orienté G associé à une CM (E, Q) : sommets = états (∈ E), arêtes : x → y ssi Qxy > 0. 2. Si (x, y) ∈ E 2 , les propriétés suivantes sont équivalentes : (a) Px (∃n ∈ N, Xn = y) > 0 (b) ∃n ∈ N tel que Qnxy = Px (Xn = y) > 0 (c) ∃n ∈ N, ∃x1 , . . . , xn−1 ∈ E tels que x → x1 → · · · → xn−1 → y i.e. Qxx1 Qx1 x2 · · · Qxn−1 y > 0 i.e. x, y sont reliés par un chemin dans le graphe orienté G. Si c’est le cas, on dit que x mène à y et on note x ⇒ y. C’est une relation réflexive, transitive mais non-symétrique. 3. Lorsque x ⇒ y et y ⇒ x, on dit que x communique avec y et on note x ⇔ y. ⇔ est une relation d’équivalence dont les classes d’équivalence sont appelées simplement classes. 4. Une CM est irréductible si elle n’a qu’une seule classe i.e. si ∀(x, y) ∈ E 2 , x ⇒ y. 5. Une partie F ⊂ E est dite close si ∀x ∈ F, ∀y ∈ / F, Qxy = 0, ce qui équivaut à ∀x ∈ F, Px (∀n ∈ N, Xn ∈ F ) = 1. 6. Un état x est absorbant lorsque {x} est close i.e. Qxx = 1. 7. Une classe n’est pas toujours close : il peut exister des transitions entre deux classes mais uniquement dans un sens (sinon elles ne feraient qu’une seule classe). 4.2 Période 1. Si x ∈ E, Dx := {n ∈ N∗ | Qnxx > 0} et dx := pgcd Dx = période de x (si Dx 6= ∅) . 2. Si Dx 6= ∅, on prouve que Dx et dx N ne diffèrent que par un ensemble fini (utiliser Bezout et la stabilité de Dx par somme). 3. Les états d’une classe ont même période. 4. x est apériodique si dx = 1. Ceci équivaut à : ∃kx ∈ N, ∀n ≥ kx , Qnxx > 0. Une chaîne est apériodique si tous ses états le sont. 5. Une chaîne est irréductible et apériodique ssi ∀(x, y) ∈ E 2 , ∃kxy ∈ N, ∀n ≥ kxy , Qnxy > 0. 6. Ainsi, si E est fini, une CM (E, Q) est irréductible et apériodique ssi il existe k ∈ N tel que Qk ait tous ses coefficients positifs. 7. Si X ,→ CM (E, Q) est irréductible et de période d, il existe une partition E = E0 ∪ · · · ∪ Ed−1 telle que (a) P (Xn+k ∈ Ei+k | Xn ∈ Ei ) = 1 (avec Ei+dj = Ei ). (b) Qd a d classes E0 , . . . , Ed−1 qui sont closes et apériodiques (pour Qd ). E0 , . . . , Ed−1 sont les composantes cycliques de la chaîne CM (Q) et celle-ci les traverse successivement et de façon cyclique. 7 --]-i L--i - t_ I il --- i. =rl ='|:: tl L: l 1I 'i ri =- i__ tl -f-=r .-.i: F]_ 5 Classification des états. 5.1 Transience, récurrence positive et récurrence nulle 1. Rappel : Nx = +∞ X 1{Xn =x} , ρxy = Px (∃n > 0, Xn = y) = Px (Ty < +∞). n=0 2. Un état x ∈ E vérifie soit les propriétés équivalentes du 2a, soit celles du 2b. P (a) ρxx = 1 ⇔ Px (Nx = +∞) = 1 ⇔ n Qnxx = +∞ : x est alors dit récurrent ; P n (b) ρxx < 1 ⇔ ∀k ≥ 1, Px (Nx = k) = (1 − ρxx )ρk−1 xx ⇔ n Qxx < +∞ : x est alors dit transient. 3. Un état récurrent x est dit récurrent positif si Ex (Tx ) < +∞ et récurrent nul si Ex (Tx ) = +∞. 4. La récurrence est contagieuse : si x récurrent et x ⇒ y alors y récurrent et ρxy = ρyx = 1. Ainsi, si x ⇒ y et y 6⇒ x alors x est transient. 5. Transience, récurrence positive et récurrence nulle sont des propriétés de classe. 6. Toute classe récurrente est close. 7. Une CM (E) a au moins un état récurrent si E est fini. 8. Une classe récurrente finie est récurrente positive. 9. E est l’union disjointe de classes ((RPi )i∈I , (RNj )j∈J , (Tk )i∈K ), I, J ou K pouvant être vides. Les RPi , RNj sont closes, les RNj sont infinies, les Tk peuvent être infinies ou non, closes ou non. Mais si la chaîne sort d’une Tk , elle n’y reviendra plus jamais. Si une Tk est finie, la chaîne ne la visitera qu’un nombre fini de fois. Il n’y a qu’un seul ordre dans lequel les Tk peuvent être visitées. 10. Si E est fini, E est l’union disjointe de classes ((RPi )i∈I , (Tk )i∈K ), I 6= ∅. Les RPi sont closes. Les Tk ne seront visitées qu’un nombre fini de fois. La chaîne finira toujours par être absorbée par une des classes récurrentes. 11. Ainsi, si E est fini, on peut réordonner ses éléments de telle manière que la matrice de transition s’écrive par blocs sous sa forme canonique : M1 0 ··· ··· 0 . .. 0 M2 . · · · .. .. , . .. .. .. (1) Q= .. . . . . 0 ··· 0 Mr 0 e B1 · · · · · · Br Q e correspond aux où les M1 , . . . , Mr correspondent aux r classes récurrentes et la ligne B1 · · · Br Q transitions démarrant dans l’ensemble T des points transients. 5.2 En Scilab 1. La commande genmarkov([n1,n2,...,nr],nt) renvoie une matrice de transition écrite sous forme canonique (1) ayant r classes récurrentes de cardinaux respectifs n1,..., nr et une classe transiente contenant nt états. 2. La commande genmarkov([n1,n2,...,nr],nt,’perm’) permute les états de manière que Q n’apparaisse plus sous forme fondamentale. 3. La commande [perm,rec,tr,indsRec,indsT]=classmarkov(Q) permet de trouver le nombre d’états transients (tr), les tailles des classes récurrentes (rec), les indices des états récurrents (indsRec) et transients (indsT) ainsi qu’une permutation (perm) de ces indices permettant de mettre la matrice de transition Q sous forme canonique. D’où la session suivante : -->Q=genmarkov([2,1,1],2,’perm’) Q = 0.1760777 0. 0. 0.1472675 0.4251757 0. 0.0732458 0. 1. 8 0.2176698 0. 0. 0.1474706 0. 0. 0.2382685 0.5748243 0. 0.3798732 0. 0. 0.2799085 0. 0.4889986 0.0048863 0. 0. 0.1328574 0. 0. 0.1542110 1. 0. 0.0482636 0. 0.5110014 0. 0. 0. 0. 0.1760777 0.3798732 0. 0. 0. 0. 0.2176698 0.1328574 -->[perm,rec,tr,indsRec,indsT]=classmarkov(Q) indsT = 1. indsRec 4. = 2. = 6. 5. 2. perm = 1. 1. 2. 6. 5. tr 3. 2. rec = 3. 1. 4. -->Q(perm,perm) ans = 0.4251757 0.4889986 0. 0. 0.1472675 0.2799085 0.5748243 0.5110014 0. 0. 0.2382685 0.0482636 0. 0. 1. 0. 0.1474706 0.1542110 0. 0. 0. 1. 0.0732458 0.0048863 4. Pédagogiquement, si l’on veut que les étudiants puissent générer une matrice de transition et s’entraîner eux-mêmes à trouver les classes, la commande genmarkov([n1,n2,...,nr],nt,’perm’) leur donne déjà les cardinaux des classes. On peut bricoler un générateur de matrices markoviennes avec des zéros en normalisant les lignes d’une matrice d’entiers aléatoires : function q=gene_mat_trans_avec_zer(n,p) // renvoie une matrice markovienne de taille n // p dans [0,1], proche de 1 pour qu’il y ait beaucoup de 0 aux=0 while aux==0 // sert à ne pas diviser par 0 M=grand(n,n,"geom",p)-1 S=sum(M,’c’) // sommes cumulées de M par lignes aux=prod(S) // produit des éléments de S end q=diag((1 ./S))*M // divise chaque ligne de M par sa somme endfunction Bien sûr, ce générateur a très peu d’intérêt pour n = 2 ou 3. Exercice : on note Z le nombre de zéros dans la matrice ainsi générée et C le nombre de passages dans la boucle while. Quelles sont les lois de Z et C ? Quel est le nombre moyen de zéros dans la matrice générée ? Quel est le nombre moyen de zéros de passages dans la boucle ? Quelle est la probabilité de passer plus d’une fois dans la boucle ? 9 6 Mesure invariante 6.1 Définition, existence, unicité 1. Une mesure µ sur E est invariante pour une CM (E, Q) lorsque µQ = µ i.e. ∀y ∈ E, X µx Qxy = µy . x∈E Comme µ = 0 est toujours invariante, on sous-entendra dans la suite mesure non-nulle. 2. Interprétation probabiliste : soit µ une loi (i.e. une mesure de probabilté). Alors µ invariante ⇔ ∀n ∈ N, Lµ (Xn ) = µ ⇔ ∀n ∈ N, Lµ (X) = Lµ (Xn+• ). 3. Une mesure invariante est un vecteur propre à gauche à composantes ≥ 0 de la matrice Q associé à la valeur propre 1. 4. Une mesure µ est réversible lorsque ∀(x, y) ∈ E 2 , µx Qxy = µy Qyx . Une mesure réversible est invariante (il n’y a qu’à sommer sur x ∈ E). P 5. Une « matrice » de transition Q est bistochastique lorsque outre ∀y ∈ E, x∈E Qxy = 1. Ceci signifie exactement que la mesure « constante » (µx = 1 pour tout x ∈ E) est invariante. 6. Toute chaîne ayant au moins un état récurrent a au moins une mesure invariante. 7. Si µ est une mesure finie, invariante et si x un état transient alors µx = 0. 8. Les mesures invariantes d’une CM X irréductible et récurrente sont toutes proportionnelles. Elles vérifiet toutes µy > 0 pour tout y ∈ E et on a la dichotomie suivante : (a) X est récurrente positive et toutes les mesures µ invariantes vérifient µ(E) < +∞. X possède alors une unique loi invariante donnée par ∀x ∈ E, µx = (Ex (Tx ))−1 > 0. (b) X est récurrente nulle et toutes les mesures invariantes vérifient µ(E) = +∞. X ne possède alors pas de loi invariante. 9. Ainsi, une chaîne admet une unique loi invariante ssi elle est irréductible, récurrente positive. 6.2 En Scilab 1. La fonction eigenmarkov(Q) renvoie l’unique loi stationnaire d’une chaîne de Markov irréductible de matrice de transition Q. -->Q=[0.3 0.7 ;0.6 0.4] Q = 0.3 0.6 0.7 0.4 -->eigenmarkov(Q) ans = 0.4615385 0.5384615 2. Si la chaîne comporte m classes récurrentes, eigenmarkov(Q) renvoie une matrice à m lignes dont la i-ième ligne est la loi stationnaire correspondant à la i-ième classe récurrente. -->Q=[genmarkov(2,0) zeros(2,2); zeros(2,2) genmarkov(2,0)] Q = 0.5076657 0.5256511 0.4923343 0.4743489 0. 0. 0. 0. 10 0. 0. 0. 0. 0.7415918 0.0345999 0.2584082 0.9654001 0.4836359 0. 0. 0.1180851 0. 0.8819149 -->eigenmarkov(Q) ans = 0.5163641 0. 11 7 Asymptotique 7.1 Loi des grands nombres Pn 1. Notons Nyn = k=1 1Xk =y le nombre de passages en y entre les instants 1 et n. Alors, pour tout chaîne X irréductible et toute loi initiale, ∀y ∈ E, Nyn = (Ey (Ty ))−1 n→+∞ n presque-sûrement (avec (+∞)−1 = 0). lim (2) 2. Soit X une CM irréductible, récurrente nulle. Alors, pour toute loi initiale et toute fonction f intégrable par rapport à « la » mesure invariante, on a lim n→+∞ f (X1 ) + · · · + f (Xn ) = 0 presque-sûrement. n (3) 3. Soit X une CM irréductible, récurrente positive. On note µ son unique loi invariante (µx = (Ex (Tx ))−1 ) et on suppose que la fonction f est µ-intégrable. Alors, pour toute loi initiale, on a lim n→+∞ f (X1 ) + · · · + f (Xn ) = µ.f n presque-sûrement. (4) 4. En Scilab, il suffit de simuler une seule trajectoire pour illustrer ces convergences car elles ont lieu avec probabilité un, quelle que soit la mesure initiale. A titre d’exemple, si X ,→ CM (Q) (n) est irréductible, récurrente positive de loi invariante µ, on pourra regarder les estimateurs µ̂x = n−1 Nxn 1 X (n) et Q̂xy = 1Xk =x,Xk+1 =y . On pourra prouver qu’ils convergent avec probabilité un n Nxn k=0 respectivement vers µx et Qxy (utiliser le fait que (Xn , Xn+1 ) est une CM irréductible, récurrente positive et de mesure invariante λ(x,y) = µx Qxy ). On pourra les tester sur un exemple généré par genmarkov puis grand. 7.2 Convergence en loi de (Xn ) 1. Pour une chaîne X irréductible, le théorème de convergence dominée permet de passer à l’espérance sous Px dans (2) pour avoir ∀x ∈ E, lim Pn k=1 n n→+∞ Qkxy = (Ey (Ty ))−1 . (5) Ainsi la suite (Px (Xn = y) = Qnxy ) converge au sens de Césaro. Converge-t-elle au sens usuel ? 2. Si y est transient ou récurrent nul, on a Px (Xn = y) = Qnxy −→ 0. n→+∞ 0 1 n 3. Il existe des cas où la suite (Px (Xn = y) = Qxy ) n’a pas de limite (ex : Q = , Q2n = I2 , 1 0 Q2n+1 = Q). C’est un phénomène de périodicité qui fait obstacle à la convergence. 4. Soit X une CM irréductible, récurrente positive et apériodique. X a une unique loi invariante µ. Alors, pour toute loi initiale ν, la suite (Xn ) converge en loi vers une variable aléatoire de loi µ : ∀A ⊂ E, lim Pν (Xn ∈ A) = µ(A) et, en particulier, n→+∞ lim Qnxy = µy = (Ey (Ty ))−1 . n→+∞ (6) 5. En Scilab, pour illustrer ces convergences en loi, une seule trajectoire ne suffit plus. On peut fixer un n grand, simuler k trajectoires, obtenir des copies indépendantes Xn1 , . . . , Xnk et regarder la loi k 1X empirique associée µ ek = δ i qui approxime la loi de Xn et donc la loi µ. La comparaison k i=1 Xn entre µ ek et µ peut se faire à travers leurs histogramme ou à travers leurs fonctions de répartition si k 1X 1 i d’un côté et F (t) = µ(] − ∞, t]) de l’autre). E ⊂ R (Fk (t) = k i=1 Xn ≤t 12 6. En Scilab, une autre illustration possiblePest de calculer νQn par produit matriciel puis la distance en variation totale dV T (νQn , µ) = x∈E |νQn (x) − µ(x)| et de représenter graphiquement dV T (νQn , µ) en fonction de n. 7. Supposons X ,→ CM (Q) irréductible, récurrente positive, de loi invariante µ, de période d et de composantes cycliques E0 , . . . , Ed−1 . Alors, pour tout 0 ≤ i ≤ d − 1, µ(Ei ) = 1/d et la chaîne (Xnd+i )n∈N converge en loi : ∀A ⊂ E, lim Pν (Xnd+i ∈ A) = d n→+∞ d−1 X ν(Ej )µ(A ∩ Ei+j ) j=0 et, en particulier pour (x, y) ∈ Ej × Ei+j , 13 lim Qnd+i = dµy . xy n→+∞ 8 Aspects matriciels dans le cas E fini Soit X une CM (E, Q) avec E fini. Rappelons que, pour toute matrice, les valeurs propres à gauche et les valeurs propres à droite sont les mêmes avec même multiplicité algébrique (i.e. dans le polynôme caractéristique) et géométrique (i.e. dimension du sous-espace propre). On pourra donc parler des valeurs propres sans précision. 1. Les valeurs propres de Q sont toutes de module ≤ 1 et 1 est valeur propre. M1 0 ··· ··· 0 . .. 0 M2 . · · · .. . .. , les valeurs propres sont celles .. .. .. 2. Si l’on prend la forme canonique Q = .. . . . . 0 ··· 0 Mr 0 e B1 · · · · · · Br Q e de M1 , . . . , Mr , Q. Chaque Mi possède 1 comme valeur propre de multiplicité géométrique égale à e sont de module < 1. 1. Les valeurs propres de Q 3. Ainsi, la dimension du sous-espace propre associé à 1 est égale au nombre de classes récurrentes. 4. Soit dk la période de Mk . Les valeurs propres de module 1 de Mk sont les racines dk -èmes de l’unité. 5. Ainsi, si Q est irréductible et récurrente, elle est apériodique ssi 1 est la seule valeur propre de module 1. 6. Une loi invariante est un vecteur propre à gauche à composantes ≥ 0 et de somme 1. Chaque Mk Pr possède une unique loi invariante µ et les lois invariantes sont toutes de la forme µ = a k k=1 k µk Pr où ak ≥ 0 et k=1 ak = 1. 7. Si Q est irréductible (donc récurrente) et apériodique, la matrice Qn converge vers la matrice dont toutes les lignes sont égales à µ (l’unique loi invariante). C’est une matrice de projecteur de rang 1. 8. Soit Q de taille N = |E| irréductible dont l’unique loi invariante est µ. On peut munir RE (ensemble des fonctions de E dans R vues comme vecteurs colonnes) du produit scalaire X hf, gi = µ(x)f (x)g(x). x∈E P On note 1 ∈ RE la fonction constante 1 si bien que µ.f = x µ(x)f (x) = hf, 1i. On confond Q avec l’endomorphisme qu’il induit canoniquement sur RE . Q est alors symétrique ssi µ est réversible. Dans ce cas, Q est diagonalisable dans une base orthonormée f1 , . . . , fN avec valeurs propres 1 = λ1 > λ2 ≥ · · · ≥ λN ≥ −1. L’irréductibilité de Q se traduit par le fait que λ1 = 1 soit valeur propre simple. Q est apériodique ssi λN > −1. Ainsi, pour tout f ∈ RE Qn f = N X i=1 hf, fi i Qn fi = N X hf, fi i λni fi = µ.f + i=1 N X hf, fi i λni fi . i=2 En notant c(x) = Q2xx /µx et ρ = max(λ2 , |λN |) < 1, on peut prouver dans le cas apériodique que 2 |Ex (f (Xn )) − µ.f |2 ≤ c(x)ρ2n−2 kf − µ.f k et |Px (Xn ∈ A) − µ(A)|2 ≤ 1 c(x)ρ2n−2 , 4 ce qui reprouve la convergence en loi de (Xn ) et donne une vitesse de convergence. 14 9 Analyse à un pas 9.1 Temps d’atteinte 1. Rappel : si A ⊂ E, τA = inf{n ≥ 0 | Xn ∈ A} = temps d’atteinte de A. 2. Posons φA (x) = Px (τA < +∞). φA est la solution minimale des équations suivantes : X ∀x ∈ A, φA (x) = 1, ∀x ∈ / A, φA (x) = Qxy φA (y). (7) y∈E 3. Si A ∩ B = ∅, posons φA,B (x) = Px (τA < τB ) pour tout x ∈ E. ψ est la solution minimale des équations suivantes : X ∀x ∈ A, φA,B (x) = 1, ∀x ∈ B, φA,B (x) = 0, ∀x ∈ / A ∪ B, φA,B (x) = Qxy φA,B (y). (8) y∈A 4. Posons ψA (x) = Ex (τA ) pour tout x ∈ E. Alors ψA est la solution minimale de l’équation suivante : X (9) ∀x ∈ A, ψA (x) = 0, ∀x ∈ / A, ψA (x) = 1 + Qxy ψA (y). y ∈A / e la matrice obtenue en supprimant les lignes et colonnes d’indices dans A et en Ainsi, en notant Q 1 .. introduisant les vecteurs colonnes de même taille ψA = (ψA (x))x∈A / et J = . , on a donc 1 e A ψA = J + Qψ 9.2 e A = J. i.e. (I − Q)ψ (10) Probabilités et temps d’absorption ··· ··· 0 . .. 0 M2 . · · · .. .. correspondant . .. .. .. 1. Si E est fini, reprenons la forme canonique de Q = .. . . . . 0 ··· 0 Mr 0 e B1 · · · · · · Br Q aux classes récurrentes (C1 , . . . , Cr ) et à l’ensemble T des points transients. Notons τj le temps d’atteinte de Cj , τ = inf j τj le temps d’absorption dans une des classes récurrentes. On sait que τ est fini avec probabilité un et admet une espérance. Pour 1 ≤ j ≤ r et (x, y) ∈ T 2 , les quantités d’intérêt sont (a) Ex (Ny ) le nombre moyen de visites en y partant de x, (b) ψ(x) = Ex (τ ) le temps moyen d’absorption partant de x, (c) φj (x) = Px (τj < +∞) = Px (Xτ ∈ Cj ) la probabilité d’être absorbée par Cj partant de x. Introduisons les vecteurs colonnes ψ = (ψ(x))x∈T , φj = (φj (x))x∈T , J = t (1, . . . , 1) ∈ M|T |,1 (R) et Jj = t (1, . . . , 1) ∈ M|Cj |,1 (R). Posons aussi φ = (φ1 , . . . , φr ) et B = (B1 J1 , . . . , Br Jr ) dans M|T |,r (R). Alors, on prouve que , on a M1 0 e est inversible et, si F = (It − Q) e −1 , on a : Ex (Ny ) = Fxy , It − Q ψ = F J, φ = F B. (11) 2. Si E est fini, une CM (E, Q) est dite absorbante lorsque les classes récurrentes sont des singletons i.e. les états récurrents sont absorbants. Les calculs précédents sont alors tous valables. On a M11 = · · · = Mrr = J1 = · · · = Jr = 1, les Bi sont des vecteurs colonnes et B = (B1 , . . . , Br ). 3. En Scilab, la commande [M,S]=eigenmarkov(Q) renvoie, en plus de la matrice M contenant dans sa j-ème ligne la loi invariante portée par Cj , la matrice S est φ = F B i.e. S(x,j) est la probabilité de terminer dans la j-ième classe en démarrant en l’état x. Cf 10.4 pour un exemple. 15 10 Exemples 10.1 La chaîne à deux états 1. Si E = {0, 1}, la matrice de transition est Q = t 1−a b a 1−b = I2 +M où M = −a b a −b = (a, −b).(−1, 1), rg(M ) = 1. 2. Le calcul de Qn est entièrement explicite et peut se faire dès la 1ère année de filière EC : soit par récurrence, soit par la formule du binôme en utilisant M k = (−a − b)k−1 M pour k ≥ 1. En 2ème année, on peut faire ce calcul par diagonalisation explicite de M (facile car rg(M ) = 1) puis de Q. La limite quand n → +∞ peut s’étudier directement dans ce cas particulier. 3. La chaîne est irréductible ssi ab 6= 0. Dans ce cas, elle est apériodique ssi a + b < 2. Le cas a = b = 1 est l’archétype d’une chaîne de période 2 qui donne si, par exemple, Xn = 0 alors X2n = 0 et X2n+1 = 1 donc Xn ne converge pas en loi. 10.2 Bonus-malus en assurance 1. E= ensemble des classes de tarifications = {1 (fort bonus), 2, 3, 4, 5, 6 (fort malus)}. 2. Evolution : si on n’a aucun accident dans l’année, on gagne en bonus (si possible) ; si on a au moins un accident dans l’année, on passe à 6 (malus maximal). 3. p = probabilité de ne pas avoir d’accident dans l’année, q = 1 − p. p 0 0 0 0 q p 0 0 0 0 q 0 p 0 0 0 q 4. Q = 0 0 p 0 0 q 0 0 0 p 0 q 0 0 0 0 p q 5. Q est irréductible, récurrente positive et apériodique. En résolvant le système µQ = Q, on voit que son unique loi invariante est µ = (p5 , qp4 , qp3 , qp2 , qp, q). D’après 7.2.4, (Xn ) converge en loi vers une variable aléatoire de loi µ. 6. Si le coût annuel de l’assurance en classe i vaut f (i) alors le coût total pour un assuré sur n années P6 vaut Cn = f (X1 ) + · · · + f (Xn ) et vérifie Cn ∼ n( x=1 f (x)µ(x)) avec probabilité un quand n → +∞. 7. Nous renvoyons à [L] ainsi qu’à la page web http ://blogperso.univ-rennes1.fr/arthur.charpentier. 8. Voici une fonction qui simule une trajectoire de cette chaîne avec boucle for function x=simu_bonus_boucle(n,p) //simule trajectoire de longueur n de la chaîne bonus, p = proba de zéro accident x=ones(1,n) for i=2:n u=rand() x(i)=6+(max([1,x(i-1)-1])-6)*(u<p)// 6 si u>p et max(1,x(i-1)-1) si u<p end endfunction 9. Voici une fonction qui fabrique la matrice de cette chaîne. function m=mat_bonus(p) //calcule la mat de transition du bonus avec proba p de zéro accident q=1-p n=p*eye(5,5) n=[zeros(1,5);n] m=[n , q*ones(6,1)] 16 m(1,1)=p endfunction 10. Voici un code qui dessine plusieurs trajectoires de la chaîne. clf() n=input("Longueur des trajectoires : ") k=input("Nombre de trajectoires : ") p=input("Proba de ne pas avoir d accident : ") y=grand(n,’markov’,mat_bonus(p),ones(1,k)) //y a k lignes contenant des trajectoires de longueur n y=[ones(1,k)’ y] //on ajoute les points de départ : y a k lignes et n+1 colonnes m=ones(k,1)*[1:n+1]-1//matrice à k lignes égales toutes à 0,1,2,...,n plot2d(m’,y’) n1=string(n);p1=string(p);k1=string(k); xtitle([k1 ’trajectoires de longueur’ n1 ’de l évolution du bonus avec proba de ne pas avoir d accident’ p1],’temps’,’états’,boxed=1) 11. Voici un code qui dessine plusieurs trajectoires des moyennes empiriques des bonus. clf n=input("Longueur des trajectoires : ") k=input("Nombre de trajectoires : ") p=input("Proba de ne pas avoir d accident : ") y=grand(n-1,’markov’,mat_bonus(p),ones(1,k)) //y a k lignes contenant des traj. de longueur n-1 y=[ones(1,k)’ y]//on ajoute les points de départ : y a k lignes et n colonnes y=cumsum(y,’c’)//on fait les sommes cumulées des trajectoires m=ones(k,1)*[1:n]//matrice à k lignes égales toutes à 1,2,...,n y=y./m// matrice à k lignes égales toutes à S_0/1, S_1/2, S_2/3, ..., S_{n-1}/n mat=m-1// matrice à k lignes égales toutes à 0,1,2,...,n plot2d(mat’,y’) n1=string(n);p1=string(p);k1=string(k); xtitle([’evolution des moy empiriques du bonus sur’ k1 ’trajectoires de longueur ’ n1 ’ avec proba de pas d accident’ p1],’temps’,’moy empirique’,boxed=1) 12. Voici un code qui représente les fréquences empiriques de visite des états sur une trajectoire et les compare à la loi invariante. clf n=input("Longueur de la trajectoire : ") p=input("Proba de ne pas avoir d accident : ") Q=mat_bonus(p) y=grand(n-1,"markov",Q,1) //y =vecteur ligne contenant des trajectoires de longueur n-1 y=[1 y]//on ajoute les points de départ : y a 1 ligne et n colonnes histplot([0.5:6.5],y,style=5) plot2d([1:6],eigenmarkov(Q),style=-5) n1=string(n);p1=string(p); 17 xtitle([’Fréquence empirique de visite des états sur une trajectoire de longueur’ n1 ’ avec proba de ne pas avoir d accident’ p1],’états’,’fréq empirique’,boxed=1) 13. Voici un code qui représente l a loi empirique de Xn calculée sur plusieurs trajectoires. clf n=input("Valeur de n : ") k=input("Nombre de simulations : ") p=input("Proba de ne pas avoir d accident : ") Q=mat_bonus(p) y=grand(n,"markov",Q,ones(1,k)) //y a k lignes contenant des trajectoires de longueur n histplot([0.5:6.5],y(:,n)’,style=5) plot2d([1:6],eigenmarkov(Q),style=-5) n1=string(n);p1=string(p);k1=string(k); xtitle([’Loi empirique de X_n calculée sur’ k1 ’simulations avec n=’ n1 ’et proba de ne pas avoir d accident’ p1],’etats’,’freq empiriques’,boxed=1) 10.3 Mobilité sociale 1. E= ensemble des catégories socio-professionnelles (CSP). 2. Supposons que la CSP évolue au fil des générations comme une chaîne de Markov homogène. Dans ce cas, les transitions Qxy = P (CSP du fils = y | CSP du père = x) ne sont pas données a priori, elles doivet être évaluées par l’observation. Sur une population donnée de taille N , on regarde nxy = nombre d’individus de CSP y et dont le père est de CSP x, X nx = nxy = nombre total d’individus dont le père est de CSP x y∈E nxy et on pose Qxy = . Par construction, Q est une matrice de transition. nx 3. En pratique, Q est à coefficients strictement positifs donc irréductible et apériodique. La chaîne associée converge donc en loi vers son unique loi invariante. Cette loi représente l’état d’équilibre d’une population dont la mobilité sociale a une structure correspondant à la matrice Q. 4. Bien sûr, l’hypothèse d’une évolution markovienne homogène est peu réaliste et doit être nuancée. Nous renvoyons à l’article [T] pour une étude approfondie. 10.4 Score au tennis 1. E= ensemble des scores possibles dans un jeu au tennis opposant les joueurs A et B (|E| = 18). 2. Evolution : on suppose les points indépendants les uns des autres et qu’à chaque point A gagne avec probabilité a et perd avec probabilité b = 1 − a. 3. La site (Xn ) des scores est une CM . Les deux classes récurrentes sont les singletons absorbants {A gagne}, {B gagne}. {(40, 30), (40, 40), (30, 40)} est une classe transiente et les 13 autres classes transientes sont les singletons restants. 4. Voici une fonction qui génère la matrice de transition function m=mat_tennis(a) //calcule la mat de transition du tennis avec joueurs A et B // // a= proba que A gagne un point, 1-a = proba que B gagne un point //les états sont (score de A , score de B) et numérotés ainsi 1 : 0-0, // 2 : 0-15, 3 : 15-0, 4 : 30-0, 5 : 15-15, 6 : 0-30, 7 : 0-40, //8 : 15-30, 9 : 30-15, 10 : 40-0, 11 : 40-15 12 : 30-30, 13 : 15-40, 18 // 14 : 30-40, 15 : 40-30, 16 : 40-40, 17 : B gagne, 18 : A gagne m=zeros(18,18) m(1,2)=1-a ; m(1,3)=a ; m(2,5)=a ; m(2,6)=1-a ; m(3,4)=a ; m(3,5)=1-a ; m(4,9)=1-a ; m(4,10)=a ; m(5,8)=1-a ; m(5,9)=a ; m(6,7)=1-a ; m(6,8)=a ; m(7,13)=a ; m(7,17)=1-a ; m(8,12)=a ; m(8,13)=1-a ; m(9,11)=a ; m(9,12)=1-a ; m(10,11)=1-a ; m(10,18)=a ; m(11,15)=1-a ; m(11,18)=a ; m(12,14)=1-a ; m(12,15)=a ; m(13,14)=a ; m(13,17)=1-a ;m(14,16)=a ; m(14,17)=1-a ;m(15,16)=1-a ; m(15,18)=a ; m(16,14)=1-a ; m(16,15)=a ;m(17,17)=1 ; m(18,18)=1 ; endfunction Pour représenter graphiquement le score au cours d’une partie, on représente la différence « score(A)score(B) » avec un saut plus grand quand l’un d’eux gagne. Attention, cette différence est une fonction d’une CM mais n’est pas une CM en elle-même. Voici un code représentant une trajectoire de cette différence : //représente la différence score A -score B \in {-4,-3,-2,-1,0,1,2,3,4} //(4 = A gagne ; -4 = B gagne) au cours du temps de 0 à l // a= proba que A gagne un point ; l = longueur de la partie a=input(’Proba que A gagne : ’) l=input(’Longueur de la partie : ’) clf; m=mat_tennis(a); Y=grand(l,"markov",m,1); //Y vecteur ligne de taille l représentant 1 trajectoire de longueur l Z=(((Y==3)|(Y==9))|(Y==15))+2*((Y==4)|(Y==11))+3*(Y==10)+4*(Y==18)( (((Y==2)|(Y==8))|(Y==14))+2*((Y==6)|(Y==13))+3*(Y==7)+4*(Y==17)) //Z vecteur ligne detaille l représentant score A -score B au cours du temps plot2d([0:l],[0 Z],style=-11);plot2d([0:l],[0 Z],style=5) xtitle([’Evolution du score au cours d un jeu de tennis’], ’temps’,’score de A’,boxed=1) Voici un code simulant n parties et calculant la durée moyenne consatée des parties i.e. le temps moyen empirique d’absoprtion // simule n parties de longueur l de la chaîne du tennis // et calcule l’esperance empirique du temps d’absorption a=input(’Proba que A gagne : ’) l=input(’Longueur de chaque partie : ’) n=input(’Nombre de parties simulées : ’) m=mat_tennis(a); Y=grand(l,"markov",m,ones(1,n)); //Y =matrice à n lignes, l colonnes contenant les trajectoires Z=(Y>16)+0 // Z= matrice à n lignes, l colonnes enregistrant 0 si partie continue, 1 si finie [U,V]=max(Z,"c") // V colonne de taille n qui contient les temps d’absorption des n parties t=mean(V) disp(t,’la moy empirique du temps de jeu est’) 19 Voici un code simulant n parties et calculant la proportion de celles où A gagne i.e. la probabilité empirique que A gagne // simule n parties de longueur l de la chaîne du tennis //et calcule la proportion de fois où A gagne a=input(’Proba que A gagne : ’) l=input(’Longueur de chaque partie : ’) n=input(’Nombre de parties simulées : ’) m=mat_tennis(a); Y=grand(l,"markov",m,ones(1,n)); // Y = matrice à n lignes contenant les trajectoires de longueur l Z=Y(:,l) // colonne enregistrant qui a gagné chaque partie : 17 = B, 18 = A A=(Z==18) // colonne de booléens enregistrant si A gagne G=((Z==18)+(Z==17)-(Z==17).*(Z==18)) // G= colonne de booléens enregistrant s’il y a eu gain p=sum(A)/sum(G) disp(p,’la proba emipirique que A gagne est’) 5. La commande [M,S]=eigenmarkov(mat_tennis(a)) renverra la matrice S telle que S(x,j) est la probabilité de terminer dans la j-ème classe en démarrant en l’état x. La probabilité que A gagne est donc S(1,1). 6. C’est un exemple pédagogique car la probabilité théorique que A gagne se calcule explicitement en fonction de a et vaut p(a) = a4 (1 + 4b + 10b2 ) + 20a5 b3 (1 − 2ab)−1 (laissé en exercice). On peut donc comparer la probabilité théorique que A gagne, celle calculée par eigenmarkov et la probabilité empirique calculée grâce au code précédent. 10.5 Mots de taille 2 dans un pile ou face 1. Cadre : jeu de pile ou face i.e. (Zn )n∈N suite de variables aléatoires indépendantes et de même loi P (Zn = P ) = p, P (Zn = F ) = 1 − p. 2. On s’intéresse aux mots formés de deux lettres consécutives et, par exemple, au temps τ 0 de 1ère apparition du mot P P ou du mot P F . 3. On note Xn = (Zn , Zn+1 ). Alors (Xn ) est une CM (E) où E p q 0 0 0 p tions sont représentées sur le dessin suivant Q = p q 0 0 0 p apériodique. ={P P, P F, F P, F F }. Ses transi0 q . La chaîne est irréductible et 0 q 0 e= q 4. Notons τ le temps d’atteinte de l’état P P . Appliquons les résultats de 9.1.4. Avec Q 0 1 J = 1 , on a 1 EP F (τ ) e −1 J. ψ = EF P (τ ) = (I3 − Q) EF F (τ ) p 0 p q 0 , q Dans le jeu de pile ou face usuel (p = 1/2), il attendre 2 coups pour que la chaîne démarre avec la loi uniforme sur E donc 1 1 e −1 J) = 6. E(τ 0 ) = 2 + (EP P (τ ) + EP F (τ ) + EP F (τ ) + EP F (τ )) = 2 + (0 + t J(I3 − Q) 4 4 20 5. Remarque. Si X est CM (E) quelconque et Yn = (Xn , Xn+1 , . . . , Xn+k−1 ) alors (Yn ) est une CM (E k ). On peut ainsi calculer les temps d’apparition de mots de taille k ≥ 2. Mais cette méthode demande l’inversion d’une matrice de taille 2k . Une méthode de martingale donne le résultat plus directement. 10.6 Ascension et rechutes 1. On grimpe les barreaux d’une échelle infinie. Lorsque l’on a atteint le k-ème barreau, on parvient au suivant avec probabilité pk et on dégringole juqu’au barreau 0 avec probabilité qk = 1 − pk . 2. La suite (Xn ) des barreaux atteints est une chaîne de Markov de « matrice » de transition q0 p0 0 0 · · · 0 · · · q1 0 p1 0 · · · 0 · · · q2 0 0 p2 · · · 0 · · · . . .. .. .. . . Q= .. . . . . 0 · · · qn 0 0 0 · · · pn · · · .. .. .. .. .. .. . . . . . . . . . 3. Si pk ∈]0, 1[ pour tout k ∈ N alors (Xn ) est irréductible et apériodique. 4. Posons r0 = 1 et rk = p0 p1 · · · pk−1 . Il est clair que P0 (T0 > k) = rk donc P0 (T0 = +∞) P = limk→+∞ r . Il est classique (en utilisant le logarithme) que cette limite est > 0 ssi la série i (1 − P k P pi ) = i qi converge. Ainsi, X est récurrente ssi i qi diverge. P+∞ 5. Une mesure µ est invariante ssi µ0 = i=0 µi qi et µj = µj−1 pj−1 i.e. µj = µ0 rj si j ≥ 0. En remplaçant, on a +∞ +∞ X X µ0 = µ0 ri qi = µ0 (ri − ri+1 ) = µ0 (1 − lim rk ). i=0 k→+∞ i=1 Ainsi, si X est transiente, on a limk→+∞ rk > 0 donc µ0 = 0 donc la seule mesure invariante est nulle. Si X est récurrente, les mesures invariantes sont multiples de la mesure (rj )j∈N . X est P récurrente positive ssi j rj converge. 6. Si pk = p ∈]0, 1[ pour tout k P ∈ N, cette chaîne modélise la longueur de la série actuelle P des succès P dans un jeu de pile ou face. i q diverge trivialement donc X est récurrente puis j rj = j pj converge donc X est récurrente positive, de loi invariante µj = (1 − p)pj (j ∈ N) (ceci est évident car dans ce cas Xn a la loi de max(G − 1, n + 1) où G ,→ G(1 − p) et donc Xn converge en loi vers G − 1). 10.7 Retenues lorsque l’on pose une addition 1. Voici une addition de trois entiers à 5 chiffres en base 10 : les trois entiers sont en italiques, le résultat est souligné, les retenues sont en gras. r5 = 2 + + − − 2 r4 = 1 6 9 4 − 0 r3 = 1 3 4 8 − 6 r2 = 1 1 9 4 − 5 r1 = 2 2 7 3 − 4 r0 = 0 5 9 8 − 2 Si on additionne n entiers au lieu de trois, les retenues sont dans [[0, n − 1]]. On peut aussi choisir une base b quelconque au lieu de b = 10. 2. Si l’on choisit au hasard les chiffres des n entiers (indépendamment les uns des autres et de loi uniforme sur [[0, b − 1]]), le processus des retenues est une CM (homogène) à valeurs dans [[0, n − 1]] dont la matrice de transition Qb est explicite. Ces matrices Qb ont de magnifiques propriétés (leurs valeurs propres sont 1, b−1 , . . . , b−n+1 et les vecteurs propres associés sont entièrement explicites, indépendants de b et reliés à des objets de combinatoire des permutations, Qb Qc = Qbc , Qb est intimement liée à des procédures de mélanges de jeux de cartes). Nous renvoyons à [DF] pour de passionnants développements. 21 10.8 Collectionneur de coupons 1. Cadre : il existe k types de coupons numérotés de 1 à k. A chaque instant n, on reçoit un coupon de numéro Un . On suppose que les Un sont indépendantes et toutes de loi uniforme sur {1, . . . , k}. 2. On note X0 = 0, Xn = |{U1 , . . . , Un }| = nombre de numéros distincts obtenus à l’instant n. Alors (Xn ) est une CM ([[0, k]]) de transitions x 1 − k si y = x + 1 x Qxy = si y = x k 0 si y ∈ / {x, x + 1}. 3. L’état k est absorbant et tous les autres sont transients. L’objet d’intérêt est souvent le temps τ nécessaire à l’obtention de tous les numéros i.e. le temps d’absorption de la chaîne (Xn ) (qui est fini p.s. et intégrable). Les espérances Ex (τ ) peuvent se calculer grâce à aux équations de 9.2, la matrice fondamentale F étant explicite. On peut retrouver ces résultats de manière classique par addition de temps d’attente successifs d’obtention d’un nouveau coupon suivant des lois géométriques de i paramètres 1 − (0 ≤ i ≤ k − 1). k 10.9 Sisyphe et les matrices compagnons 1. Sisyphe pousse son rocher sur une pente où sont disposés de bas en haut les entiers 0, 1, . . . , n − 1. A chaque instant, il avance d’un cran. Arrivé au sommet, il chute en 0 avec probabilité a0 , en 1 avec probabilité a1 , . . ., en n − 1 avec probabilité an−1 . La matrice de transition de cette chaîne est 0 1 0 ··· 0 0 0 1 ··· 0 .. . . .. . . .. .. .. Q= . . 0 0 0 ··· 1 a0 a1 a2 · · · an−1 C’est la matrice compagnon (ou sa transposée selon les conventions) du polynôme P (X) = X n − an−1 X n−1 − · · · − a1 X − a0 . 2. Cette chaîne est irréductible ssi a0 > 0. Dans ce cas, la période de la chaîne est le pgcd de {n−k | ak 6= 0}. 3. Cet exemple permet de concevoir un exercice liant probabilité et algèbre linéaire (les matrices compagnons ont de nombreuses propriétés, par ex. les valeurs propres de Q sont les racines de P (X)). 10.10 Processus de vie et de mort et marches aléatoires 10.10.1 Sur N 1. Pour x ∈ N, on pose Qx,x+1 = px , Qx,x−1 = qx , Qx,x = rx avec px + rx + qx = 1 et q0 = 0. Cette chaîne peut décrire l’évolution d’une population ou du nombre de personnes dans une file d’attente (avec au plus une arrivée et un départ à chaque instant). 2. On suppose que ∀x ∈ N∗ , px qx > 0 et p0 > 0 ce qui rend la chaîne irréductible. Dans ce cas, s’il existe x tel que rx > 0, la chaîne est apériodique. Sinon, la période vaut 2. 3. Le fait que Qxy = 0 si |x − y| > 1 facilite les calculs. 4. Posons τ le temps d’atteinte de 0 et φ(x) = Px (τ < ∞). ALors X φ(0) = 1; ∀x > 0, φ(x) = Qxy φ(y) = px φ(x + 1) + rx φ(x) + qx φ(x − 1). y∈E Posons ax = qx /px , b0 = 1 et bx = x Y ai . On a donc φ(x + 1) − φ(x) = ax (φ(x) − φ(x − 1)) donc i=1 φ(x + 1) − φ(x) = bx (φ(1) − 1) puis φ(x) = 1 + (φ(1) − 1) x−1 X i=0 22 bi . Si +∞ X i=0 bi = +∞, la condition φ(x) ≥ 0 implique φ(1) = 1 puis P0 (T0 < ∞) = r0 + p0 φ(1) = r0 + p0 = 1. Donc la chaîne est +∞ X récurrente. Si bi < +∞, la solution minimale est i=0 P+∞ i=x bi . φ(x) = P+∞ i=0 bi Donc φ(1) < 1 donc P0 (T0 < ∞) = r0 + p0 φ(1) < 1 et la chaîne est transiente. 5. Supposons la chaîne récurrente. Cherchons si elle est récurrente positive ou récurrente nulle. Une x Y pi−1 mesure µ est réversible ssi µx+1 Qx+1,x = µx Qx,x+1 i.e. µx+1 = µx px /qx+1 i.e. µx = µ0 . qi i=1 Comme la chaîne est irréductible et récurrente, il y a unicité de la mesure invariante (à multiplication près) et donc la chaîne est récurrente positive ssi x XY pi−1 x i=1 qi < +∞. 6. Lorsque ∀x ∈ N∗ , (px , qx , rx ) = (p, q, r) et q0 = 0, la chaîne X est une marche sur N P aléatoire n avec réflexion en 0. Les résultats précédents assure que X est récurrent ssi (q/p) diverge i.e. P n q ≥ p et récurent positif ssi (p/q) converge i.e. q > p. Dans ce cas, l’unique loi invariante de la n p p (n ∈ N). chaîne est donnée par µn = 1 − q q 7. Le cas particulier qx = 0, px = p, rx = 1 − p est le processus de Bernoulli qui peut se réaliser en prenant (Un ) indépendantes et toutes de loi de Bernoulli B(p) et X0 = 0, Xn = U1 + · · · + Un . 10.10.2 Sur Z 1. Pour x ∈ Z, on pose Qx,x+1 = px , Qx,x−1 = qx , Qx,x = rx avec px + rx + qx = 1. 2. Pour passer de Z+ à Z− , la chaîne doit visiter 0. Donc la chaîne est récurrente ssi les suites (px , qx )x∈N +∞ X q1 · · · qx et (qx , px )x∈N vérifient les propriétés de la partie précédente 10.10.1 i.e. = +∞ et p · · · px x=1 1 −∞ +∞ X X p−1 · · · px p0 · · · px−1 = +∞. De même, la chaîne est récurrente positive ssi < +∞ et q · · · q q1 · · · qx −1 x x=−1 x=1 −∞ X p0 · · · px+1 < +∞. q · · · qx x=−1 −1 3. Lorsque ∀x ∈ Z, (px , qx , rx ) = (p, Pnq, r), la chaîne X est une marche aléatoire sur Z : elle peut se représenter comme Xn = X0 + i=1 Ui où les Ui sont indépendantes et toutes de loi P (Ui = 1) = p, P (Ui = −1) = q, P (Ui = 0) = r. Les résultats précédents assurent que X est récurrente nulle ssi p = q et transient ssi p 6= q. Ceci se retrouve en utilisant la loi des grands nombres dans le cas p 6= q car m = E(U1 ) 6= 0 et limn→+∞ Xn /n = m presque-sûrement. Dans le cas p = q, l’analyse à un pas faite dans 10.10.1 peut s’écrire très simplement : si φ(x) = Px (τ < ∞) alors φ(x) = pφ(x + 1) + pφ(x − 1) + (1 − 2p)φ(x) et les résultats sur les suites récurrentes d’ordre 2 à coefficients constants donnent φ(x) = a + b|x|. 0 ≤ φ ≤ 1 entraîne b = 0 et φ(0) = 1 entraîne a = 1 i.e. φ(x) = 1 pour tout x ∈ Z, ce qui entraîne facilement la récurrence. 10.10.3 Sur [[0, s]]. Ruine du joueur. 1. Si l’on se place sur [[0, s]], on prendra px qx > 0 pour tout x ∈ [[1, s − 1]], ps = q0 = 0 mais il faut spécifier r0 et rs . 2. Si l’on suppose ces états absorbants (r0 = rs = 1), la chaîne a une classes transiente [[1, s − 1]] et deux classes absorbantes {0} et {s}. Elle sera absorbée en un temps fini τ et la partie ....permet théoriquement de calculer Px (Xτ = 0) et Ex (τ ) au prix de l’inversion d’une matrice tridiagonale. Lorsque (px , qx , rx ) = (p, q, 0) pour tout x ∈ [[1, s − 1]], il s’agit simplement de la ruine du joueur avec fortune totale s : il y a absorption lorsque l’un des deux joueurs est ruiné (états 0 et s). Dans ce cas, l’analyse à un pas se résout simplement et l’on trouve..... 23 3. Si l’on suppose p0 > 0 et qs > 0, la chaîne est irréductible, récurrente positive et son unique loi invariante est explicite (mêmes calculs que dans 10.10.1). Cette chaîne représente le nombre de personnes dans une file d’attente à capacité limitée (avec au plus une arrivée et un départ à chaue instant). 10.11 Marche aléatoire sur un graphe. Pagerank de Google. Cavalier sur un échiquier. 1. Soit G un graphe orienté. On note x → y lorsque le graphe a une flèche de x vers y. On note dx = |{y ∈ G | x → y}| et on suppose 0 < dx < +∞. 2. Evolution : à chaque instant, on saute, avec équiprobabilité, vers l’undes voisins s’il en existe ou on 1 si dx 6= 0 et x → y dx reste sur place sinon. Ceci donne une CM (G) de transitions Qxy = si dx 6= 0 et x 9 y 0 1x=y si dx = 0 3. L’irréductible de la chaîne est synonyme de connexité pour le graphe. 4. Application : le graphe du web a pour sommets les pages et pour flèches les hyperliens (x → y lorsque la page x a un lien vers la page y). Google hiérarchise les pages grâce à un score de popularité (le pagerank). Comment attribuer un score à chaque page de telle manière qu’une page a un score d’autant plus élevé que d’autres pages de scores élevés pointent vers elle ? On sent bien que le vecteur des scores est défini par une équation de type vecteur propre i.e. mesure invariante. Précisément, le score d’une page x sera lié à la probabilité qu’un marcheur aléatoire sur le web se retrouve sur cette page x en temps grand. Mais les hypothèses du théorème de convergence 7.2.4 ne sont pas vérifiées par le graphe du web (l’irréductibilité tombe en défaut, il peut y avoir des classs récurrentes closes et des états transients ; il n’y a pas apériodicité a priori). Pour remédier à ceci, on modifie l’évolution du marcheur. Soit p ∈]0, 1[. A chaque instant, le lanceur lance une pièce truquée de paramètre p. S’il obtient pile, il saute vers un voisin avec équiprobabilité ; sinon il saute vers l’une quelconque des pages du web choisie avec équiprobabilité. Soit d le nombre de pages du web et J ∈ Md (R) la matrice dont tous les coefficients valent 1. La matrice de transition de la chaîne modifiée est donc 1−p J. Elle a tous ses coefficients positifs donc est irréductible et apériodique. Donc Q0 = pQ + d elle possède une unique loi invariante µ et la loi de Xn0 converge vers µ quand n → +∞. Ainsi, µx représente bien la probabilité que le marcheur X 0 se retrouve sur cette page x quand n est grand. 5. Lorsque le graphe est non-orienté (i.e. x → y ssi y → x) alors la mesure donnée par ∀x ∈ G, µx = dx est réversible donc invariante. 6. Application : marche du cavalier sur un échiquier. Un cavalier part d’un coin d’un échiquier vide puis se déplace en choisissant à chaque fois un des déplacements possibles avec équiprobabilité. Quel temps moyen met-il pour revenir au coin d’où il est parti ? Solution : le cavalier effectue une marche aléatoire sur un graphe dont les sommets sont les cases et deux cases sont reliées si le cavalier peut légalement passer de l’une à l’autre. Ce graphe est non-orienté (vu qu’un cavalier peut revenir en arrière) etP irréductible (le cavalier peut aller partout). L’unique loi invariante est donc µx = dx /λ où λ = x dx = 2N , N = 168 nombre d’arêtes du graphe (à calculer). Donc Ex (Tx ) = (µx )−1 = 2N/dx = N car dx = 2 si x est un coin. Exercice : même question avec une tour, avec un fou, avec une dame. 10.12 Marche aléatoire sur un groupe 1. Cadre : G un groupe de loi ·. et (Un )n∈N∗ une suite de variables aléatoires discrètes, indépendantes, à valeurs dans G et toutes de loi ν. 2. Evolution : Xn = Xn−1 · Un = X0 · U1 · · · Un . 3. (Xn ) est une CM (G) de transitions Qxy = P (U1 = y · x−1 ). 4. (Xn ) est irréductible ssi G est le semi-groupe engendré par le support de la loi de U1 . 5. Toute marche aléatoire sur un groupe est bistochastique (cf 6.1.5) donc la mesure µx = 1 est invariante. 6. Exemples. 24 (a) Si G = Zd et U1 suit une loi uniforme sur l’ensemble des 2d vecteurs {±ei , 1 ≤ i ≤ d} où (ei , 1 ≤ i ≤ d) est la base canonique de Rd alors X est la marche aléatoire sur Zd aux plus proches voisins. Cette marche est récurrente nulle si d ≤ 2 et transiente si d ≥ 3. Ceci résultat Pest un (d) dû à Pólya (1921) et peut s’obtenir en examinant la convergence de la série P0 (Xn = 0). −2n (1) (1) En effet, P0 (X2n+1 = 0) = 0, P0 (X2n = 0) = 2n ∼ (πn)−1/2 (formule de Stirling). Un n 2 (2) (1) astucieux argument de quart de tour donne P0 (X2n = 0) = P0 (X2n = 0)2 ∼ (πn)−1 . Ensuite, −2n −1 (3) une étude du plus grand coefficien trinomial montre P0 (X2n = 0) ≤ C 2n n ≤ Cn−3/2 . n 2 (d) (3) Enfin, P0 (X2n = 0) ≤ P0 (X2n = 0) si d ≥ 3. (b) Le processus de vie et de mort sur Z avec pn , qn , rn indépendants de n est une marche aléatoire sur Z. (c) Si G = Sn , X modélise les étapes du mélange d’un jeu de cartes. Cf sujet ESSEC, année 2011, option E. 7. Voici un code pour représenter k trajectoires d’une marche aléatoire sur Z avec incrément P (Un = 1) = p, P (Un = −1) = 1 − p. // dessine k trajectoires X_0,...,X_n de la marche aléatoire unidimensionnelle // simple démarrant en 0 clf(); n=input(’longueur de la trajectoire : ’) k=input(’nombre de trajectoires : ’) p=input(’proba d ajouter 1 : ’) u=grand(k,n,"def") //matrice à k lignes et n lignes contenant des uniformes [0,1[ s=[zeros(k,1) cumsum(2*(u<p)-1,’c’)]//trajectoires for i=1:k plot2d([0:n},s(i,:),pmodulo(i,8)+1) end n1=string(n);k1=string(k) xtitle([’Trajectoire de’ k1 ’trajectoires de’ n1 ’étapes d une marche aléatoire unidimensionnelle’],’n’,’X_n’,boxed=1) 8. Voici un code pour représenter k trajectoires d’une marche aléatoire aux plus proches voisins sur Z2 (incrément ∈ {(1, 0), (−1, 0), (0, 1), (0, −1)}). // dessine k trajectoires X_1,...,X_n de la marche aléatoire plane avec // incrément (1,0) de proba droite, (-1,0) de proba gauche, (0,1) de proba // haut, (0,-1)de proba (1-droite-haut-gauche) démarrant en 0 clf(); n=input(’longueur de la trajectoire : ’) k=input(’nombre de trajectoires : ’) droite=input(’proba d aller à droite : ’) gauche=input(’proba d aller à gauche : ’) haut=input(’proba d aller en haut : ’) u=grand(k,n,"def") //matrice à k lignes et n lignes contenant des uniformes [0,1[ ab=2*(u<droite)-(u<droite+gauche) //vecteur ligne de n contenant les sauts en abscisses (1 ou -1) ord=-2*(u>droite+gauche+haut)+(u>droite+gauche) //vecteur ligne de n contenant les sauts en ordonnées (1 ou -1) ab=[zeros(k,1) cumsum(ab,’c’)] //on ajoute 0 état initial 25 ord=[zeros(k,1) cumsum(ord,’c’)] //on ajoute 0 état initial c=max([abs(ab),abs(ord)]) //détermine le carré d’affichage graphique for i=1:k plot2d(ab(i,:),ord(i,:),pmodulo(i,5)+1,axesflag=4,rect=[-c,-c,c,c]) end n1=string(n);k1=string(k) xtitle([’Trajectoire de’ k1 ’trajectoires de’ n1 ’étapes d une marche aléatoire plane’],boxed=1) 10.13 Urne d’Ehrenfest 1. Modèle introduit en 1907 par les époux Ehrenfest dans un contexte de mécanique statistique (diffusion de molécules entre deux récipients qui communiquent). 2. Cadre : 2 urnes (n°0 et n°1) contenant au total d boules (n°1 à n°d). 3. Evolution : à chaque instant, une boule est choisie au hasard et changée d’urne. 4. Objet microscopique : Xni = n° de l’urne dans laquelle est la boule n°i à l’instant n. Xn = (Xn1 , Xn2 , . . . , Xnd ) ∈ {0, 1}d ≈ (Z/2Z)d . Xn+1 s’obtient en choisissant une composante de Xn et en changeant sa valeur i.e. Xn+1 = Xn + Un+1 où (Uk ) est une suite de variables aléatoires indépendnates et toutes de loi uniforme sur {e1 , . . . , ed } où ei = (0, . . . , 0, 1, 0, . . . , 0). X peut donc être d vue comme une marche aléatoire sur le groupe (Z/2Z)P ou comme la marche aléatoire sur le graphe d non-orienté de l’hypercube {0, 1} (où x ∼ y lorsque i |xi − yi | = 1). Pd 5. Objet macroscopique : Yn = i=1 Xni = nombre de boules dans l’urne 1. (Yn ) est une CM ([[0, d]]) de transitions d−x si y = x + 1 xd Qxy = si y = x − 1 d 0 si y ∈ / {x + 1, x − 1}. 6. Les chaînes X et Y sont irréductibles, récurrentes (positives) et de période 2. Ainsi, la chaîne passe une infinité de fois par tout état. Si les boules représentent les molécules d’air dans deux enceintes, ceci suggère qu’il n’y a qu’à attendre pour qu’une chambre à air crevée se remplisse spontanément. Mais regardons-y de plus près. La loi uniforme µ sur {0, 1}d est réversible (et donc invariante) pour 0 X, c’est la seule par irréductibilité P et récurrence. Par conséquent, la loi binomiale µ = B(d, 1/2) d (l’image de µ par x ∈ {0, 1} 7→ i xi ) est invariante pour Y , c’est la seule. Regardonc la chaîne d 0 d Y . Grâce à 6.1.8a, on a Ex (Tx ) = 1/µx = 2 / , ce qui est maximal pour x = 0 ou x = d, et x p minimal pour x = d/2 (en supposant d pair). La formule de Stirling donne Ed/2 (Td/2 ) ∼ πd/2 pour d → +∞ alors que E0 (T0 ) = Ed (Td ) = 2d . Ainsi, si ma chambre à air est initialement pleine, elle ne le redeviendra qu’après un temps moyen de 2d , ce qui est vertigineux lorsque d est de l’ordre du nombre d’Avogadro ≈ 6.1023 . Ceci vient percuter le point de vue nâïf de la chambre qui se regonfle toute seule ! En fait, on calcule facilement Ex (Y1 ) = ((d − 2)/d)x + 1, ce qui donne Ex (Yn ) = ((d − 2)/d)n (x − d/2) + d/2. Donc limn→+∞ Ex (Yn ) = d/2 (à vitesse géométrique). En moyenne, le nombre de boules tend à se répartir moitié-moitié dans chaque urne. On a même Y2n et Y2n+1 qui convergent en loi vers la loi uniforme sur les pairs et sur les impairs (selon la parité de l’état initial). 7. Voici un code qui représente en histogrammes la mesure empirique sur une trajectoire ainsi que la loi invariante de la chaîne. //dessine en histogrammes la mesure empirique d’une trajectoire Y_0,...,Y_n // de la chaîne d’ehrenfest sur {0,...d} démarrant en Y0 \in {0,...d} clf d=input(’Entrez le nombre de boules :’) X0=input(’Entrez l etat initial :’) n=input(’Entrez le n de (dirac(X_1)+...+dirac(X_n))/n :’) 26 p=zeros(d+1,d+1) for i=1:d p(i,i+1)=(d-i+1)/d p(i+1,i)=i/d end// p est la matrice de transition d’ehrenfest traj=[X0,grand(n,"markov",p,X0+1)-1] // X0+1 est dans {1,...d+1}, grand simule chaîne sur {1,...d+1}, //on enlève 1 pour être sur {0,...d} classe=[-0.5:(d+0.5)] histplot(classe,traj,style=5) bibi=ones(1,d+1)/(2^d) for k=2:(d+1) bibi(k)=cdfbin("PQ",k-1,d,0.5,0.5)-cdfbin("PQ",k-2,d,0.5,0.5) end// contient les valeurs de la loi binomiale plot2d([0:d],bibi,-3) n1=string(n);d1=string(d) xtitle([’Mesure empirique d une trajectoire à n=’ n1 ’étapes de la chaîne d Ehrenfest avec d=’ d1 ’boules’],’états’,’fréquence’,boxed=1) legends([’loi binomiale B(d,1/2)’, ’histogrammes empiriques’],[-3,5],2) 8. Voici un code qui représente en histogrammes la loi empirique de Xn calculée sur plusieurs simulations indépendantes ainsi que la loi invariante de la chaîne. Le résultat demande une explication... //dessine en histog. la loi de X_n (calculee sur k trajectoires indépendantes) // de la chaîne d’ehrenfest sur {0,...d} démarrant en X0 \in {0,...d} clf d=input(’Entrez le nombre de boules :’) X0=input(’Entrez l etat initial :’) n=input(’Entrez le n de X_n :’) k=input(’Entrez le nombre de trajectoires simulées :’) p=zeros(d+1,d+1) for i=1:d p(i,i+1)=(d-i+1)/d p(i+1,i)=i/d end// p est la matrice de transition d’ehrenfest I=(X0)*ones(1,k) traj=grand(n,"markov",p,I+1)-1 // X0+1 est dans {1,...d+1}, //grand simule la chaîne sur {1,...d+1}, on enlève 1 pour être sur {0,...d} classe=[-0.5:(d+0.5)] histplot(classe,traj(:,n),style=5) bibi=ones(1,d+1)/(2^d) for i=2:(d+1) bibi(i)=cdfbin("PQ",i-1,d,0.5,0.5)-cdfbin("PQ",i-2,d,0.5,0.5) end// contient les valeurs de la loi binomiale plot2d([0:d],bibi,-3) n1=string(n);d1=string(d);k1=string(k) xtitle([’Approximation (calculée sur’ k1 ’réalisations) de la loi de X_n avec n=’ n1 ’et d=’ d1 ’boules’],’états’,’fréquence’,boxed=1) 27 legends([’loi binomiale B(d,1/2)’, ’histogrammes empiriques’],[-3,5],2) 10.14 Modèle de Wright-Fisher 1. Modèle de génétique introduit dans les années 1920-1930. 2. Cadre : population de d individus (d fixé) chacun de type A ou B. 3. Evolution : tous les individus d’une génération meurent pour laisser place à ceux de la génération d’après. Chaque individu de la génération n + 1 choisit un ancêtre dans la génération n et hérite de son type (A ou B). Les choix des divers ancêtres se font avec remise. 4. Objet : Xn = nombre d’individus de type A dans la génération n. X est une CM ([[0, d]]) de transitions données par : x d−y d x y x 1− . L(Xn+1 | Xn = x) = B(d, ) i.e. Qxy = d y d d 5. 0 et d sont absorbants (donc récurrents). Les autres états sont transients. Notons φ(x) = Px (τd < +∞) la probabilité d’être absorbé en d partant de x. Les résultats de 9 montrent que φ est l’unique P solution de φ(d) = 1, φ(0) = 0 et φ(x) = y Qxy φ(y) pour y ∈ / {0, d}. φ(x) = x/d est une solution (car la moyenne d’une binomiale B(n, p) est np) donc c’est la seule. Ainsi, partant de x, la probabilité d’être absorbé en d est x/d et celle d’être absorbé en 0 est (d − x)/d. 6. Xn converge p.s. (et donc en loi) vers X∞ de loi sous Px égale à (x/d)δd + ((d − x)x/d)δ0 . 7. Variante : on peut souhaiter que les choix des divers ancêtres se fassent avec remise. Dans ce cas, il faut modifier le mécanisme d’évolution (sinon la génération n + 1 serait identique à la génération n). On suppose la population de taille 2d, séparée en d couples. Chaque couple de la génération n + 1 choisit un individu de la génération n et hérite de son type. Les choix des différents couples se font sans remise. Xn = nombre de couples de type A dans la génération n. X est une CM ([[0, d]]) de transitions données par : 2x 2d − 2x y d−y . L(Xn+1 | Xn = x) = H(d tirages, 2d objets au total dont 2x favorables) i.e. Qxy = 2d d 8. Généralisation : nombre quelconque k de types (au lieu de k = 2). La loi binomiale est à remplacer par une loi multinomiale, la loi hypergéométrique par une hypergéométrique multiple. 9. Le sujet Ecricome, année 2000, option S traitait de ce modèle dans un contexte de disquettes infectées ou saines. 10.15 Processus de Galton-Watson 1. Modèle introduit dans les années 1870 pour étudier la survie des noms de famille des lords de l’Angleterre victorienne. 2. Cadre : une population dont la taille et la composition évoluent.chaque individu de la génératpopulation de d individus (d fixé) chacun de type A ou B. 3. Evolution : chaque individu de la génération n donne naissance à un nombre aléatoire (de loi µ dite loi de reproduction) de descendants puis meurt aussitôt. La génération n + 1 est composée de tous les descendants des individus de la génération n. Les naissances sont indépendantes entre elles. 4. Objet : Xn = nombre d’individus dans la génération n. X est une CM (N) de transitions données par : ! x X L(Xn+1 | Xn = x) = L Yi où les (Yi )1≤i≤x sont indépendantes et de loi µ i=1 X i.e. Qxy = µ∗x (y) = k1 ,...,kx ≥0 | k1 +···+kx =y 28 µk1 · · · µkx . 5. Les fonctions génératrices se prêtent mieux aux calculs car elles transforment le produit de convolution µ∗x en produit usuel : si Gn (t) = E(tXn ) et G(t) = E(tY ) avec L(Y ) = µ alors Gn+1 = Gn ◦ G. 6. Si la loi de reproduction µ vaut δ1 , tous les états sont absorbants. Sinon, 0 est le seul état récurrent (il est même absorbant). Par conséquent, soit ∃N ∈ N, ∀n ≥ N, Xn = 0 (extinction de la population), soit limn→+∞ Xn = +∞. Cf la séance ............pour les probabilités avec lesquelles ces évènements se produisent 10.16 Files d’attente 1. Vaste théorie étudiant de nombreux modèles selon le nombre de serveurs, la discipline de service, les arrivées des clients, la capacité de la file, le temps discret ou continu, etc 2. Exemple : temps discret, un seul serveur, capacité d’accueil illimitée, au maximum un client servi par instant. 3. Objet :Xn = nombre de clients dans la file ou en service àl’instant n 4. Evolution : entre les instants n et n + 1, Yn+1 clients arrivent et Zn+1 ∈ {0, 1} clients partent. On suppose (X0 , Yi , Zi )i≥1 indépendantes, (Yi )i≥1 de même loi, (Zi )i≥1 de même loi. Alors Xn+1 = Xn + Yn+1 − 1Xn >0 Zn+1 = f (Xn , Un+1 ) où Un+1 = (Yn+1 , Zn+1 ). X est donc une CM (N). 10.17 Un exemple non-homogène : urne de Polya 1. Modèle introduit en 1923 par le mathématicien hongrois G. Pólya pour analyser un phénomène de contagion épidémique. 2. Cadre : une urne contient r bounes rouges et v boules vertes. 3. Evolution : à chaque tirage, on remet la boule tirée ainsi que c boules supplémentairs de la même couleur. Notons Rn le nombre de boules rouges à l’instant n. (Rn ) est une chaîne de Markov sur N non-homogène de transitions i si j = i + c r + v + nc i P (Rn+1 = j | Rn = i) = 1− si j = i r + v + nc 0 sinon. Cette probabilité dépend de n : la chaîne est non-homène. 4. La proportion Xn de boules vertes après à l’étape n converge presque-sûrement vers X∞ qui suit r Γ((r + v)/c) r −1 une loi bêta de paramètres v/c et r/c i.e. de densité x c (1 − x) c −1 1[0,1] (x). Ceci Γ(v/c)Γ(r/c) peut être prouvé par un argument de martingale ((Xn ) est une martingale positive) ou bien par application du théorème de De Finetti sur l’échangeabilité. 29 11 Quelques preuves 1. Preuve du 5.1.2. Définissons par récurrence Tx1 = Tx = inf{n > 0 | Xn = x} et Txk = inf{n > Txk−1 | Xn = x} le temps du k-ème retour en x (éventuellement +∞). Py (Txk+1 < +∞) = k k+1 Py (]+∞ < +∞]) = i=1 [Tx = i, Tx +∞ X Py (Txk = i)Py (Txk+1 < +∞ | Txk = i) i=1 = +∞ X Py (Txk = i)Py (Txk+1 < +∞ | Xi = x, i=1 = +∞ X i−1 X Py (Txk = i)Py (Tx (Xk+• ) < +∞ | Xi = x, i=1 = +∞ X 1Xj =x = k − 1) j=1 i−1 X 1Xj =x = k − 1) j=1 Py (Txk = i)Px (Tx (X) < +∞) [propriété de Markov faible] i=1 = Py (Txk < +∞)Px (Tx (X) < +∞) = Py (Txk < +∞)ρxx . k Par récurrence, il vient donc Py (Txk < +∞) = ρyx ρk−1 xx . Ainsi, si ρxx = 1, Px (Tx < +∞) = 1 pour tout k. Par limite monotone,on a Px (∩k Txk < +∞) = limk→+∞ Px (Txk < +∞) = 1 i.e. Px (Nx = +∞) = 1. Si ρxx < 1, Px (∩Txk < +∞) = limk→+∞ Px (Txk < +∞) = 0 i.e. Px (Nx < +∞) = 1. k En outre, Px (Nx = k) = Px (Txk−1 < − ρxx )ρk−1 si k ≥ 1. Ensuite, xx P+∞) − Px (Tx < +∞) = P(1 P+∞ +∞ pour examiner la nature de la série n Qnxx , on utilise que E( n=0 Zn ) = n=0 E(Zn ) pour des variables aléatoires Zn positives et on conclut ainsi +∞ X n=0 Qnxx = +∞ X +∞ X Ex (1Xn =x ) = Ex ( n=0 1Xn =x ) = Ex (Nx ) = n=0 +∞ (1 − ρxx )−1 si ρxx = 1 si ρxx < 1. Si l’on veut présenter cette preuve de façon compatible avec les programmes de classes EC, on peut k k X X introduire Nxk = 1Xn =x et étudier Sk = Qnxx = Ex (Nxk ). Si ρxx = 1, l’inégalité de Markov n=0 n=0 assure Sk ≥ iPx (Nxk ≥ i). Par limite monotone, lim k→+∞ Px (Nxk ≥ i) = Px +∞ [ ! {Nxk ≥ i} = Px (Nx ≥ i) = 1. k=0 (Sk ) est croissante donc a une limite et lim Sk ≥ i. Ceci étant vrai pour tout i, on a lim Sk = k→+∞ k→+∞ P +∞ i.e. n Qnxx diverge. Maintenant, si ρxx < 1, on aPNxk ≤ Nx donc Sk = E(Nxk ) ≤ E(Nx ) = (1 − ρxx )−1 < +∞. La suite (Sk ) est donc majorée i.e. n Qnxx converge. 2. Preuve du 6.1.6. Soit x un état récurrent. On pose ∀y ∈ E, ! +∞ TX x −1 X νy = Ex 1Xk =y = Px (Xk = y, k < Tx ). k=0 k=0 Alors, pour toute fonction f ν.Q.f = ν.(Qf ) = Ex TX x −1 ! (Qf )(Xk ) = Ex k=0 = +∞ X k=0 Ex (1Tx >k f (Xk+1 )) = TX x −1 ! EXk (f (X1 )) = k=0 +∞ X Ex (1Tx >k−1 f (Xk )) = Ex k=1 +∞ X Ex (1Tx >k EXk (f (X1 ))) k=0 Tx X k=1 ! f (Xk ) = Ex TX x −1 ! f (Xk ) = ν.f k=0 car Px (X0 = XTx ) = 1. Donc ν est invariante. Reste à voir que νy < +∞. Si y ⇒ x il existe n tel que Qnyx > 0. Comme νQn = ν, on νy Qnyx ≤ νxx = 1 donc νy < +∞. Si y ; x alors x ; y (car x est récurrent) donc νy = 0 < +∞. 30 3. Preuve du 6.18. On admet l’unicité (à multiplication près) dans le cas irréductible, Notons P récurrent. Tx −1 x x ν la mesure définie précédemment attachée à l’état x. Alors ν (E) = Ex k=0 1 = Ex (Tx ). D’où la dichotomie. Dans le cas récurrent positif, il y a une unique loi invariante µ. Par unicité, ∀x ∈ E, µ = (ν x (E))−1 ν x = (Ex (Tx ))−1 ν x =⇒ µx = (Ex (Tx ))−1 νxx = (Ex (Tx ))−1 . P+∞ 4. Preuve du 7.1.1. Si y est transient alors Nyn ≤ Ny = k=1 1Xk =y < +∞ donc Nyn /n → 0 presquesûrement. Supposons maintenant y récurrent. Comme la chaîne est irréductible, il suffit de regarder la châine après son 1er passage en y et on peut donc supposer X0 = y. Dans ce cas, si Tyk désigne le temps de k-ème retour en y (avec Ty0 = 0, Ty1 = Ty ) alors les longueurs (Tyk+1 − Tyk ) des excursions hors de y sont indépendantes et de même loi que Ty . Donc la loi usuelle des grands nombres donne lim Tyk /k = Ey (Ty ) presque-sûrement. Puis comme lim Tyk = +∞, on fabrique la suite (kn ) k→+∞ k→+∞ telle que Tykn ≤ n ≤ Tykn +1 . Alors T kn T kn +1 Nyn Ny y kn + 1 Ny y = kn +1 ≤ . ≤ kn +1 = n Ty Ty Tykn kn Tykn +1 On conclut en utilisant que lim kn = +∞ et lim Tyk /k = Ey (Ty ). n→+∞ k→+∞ 5. Idée de la preuve du 7.1.3. On s’inspire de la preuve qui précède en regardant les Vk = f (XTyk ) + · · · + f (XTyk+1 −1 ) qui sont intégrables, indépendantes, de même loi et en décomposant f (X1 ) + · · · + f (XTyk+1 −1 ) = V0 + · · · + Vk puis en utilisant max1≤k≤n Vk = o(n). 6. Preuve du 7.2.4 dans le cas E fini. Soit (Qij ) une matrice de transition markovienne. On suppose qu’il existe m ∈ N tel que Qm ait tous ses coefficents strictement positifs. On note alors α = mini,j Qm ij > 0. Alors il existe des nombres πj > 0 tels que X πj = 1 et lim Qnij = πj . ∀i, j, n→+∞ j En outre, la vitesse de convergence est au moins géométrique de raison 1 − 2α. L’hypothèse du théorème équivaut (dans le cas fini) à l’irréductibilité et l’apériodicité. (a) Lemme. Soit (Qij ) une matrice de transition markovienne. On notera Qnij le coefficient d’indice (i, j) de la matrice Qn , Mjn = maxi Qnij , mnj = mini Qnij . Alors, pour tout j, la suite (Mjn )n∈N ) est décroissante, la suite (mnj )n∈N ) est croissante. (b) Preuve du lemme. Qn+1 = ij X Qik Qnkj ≤ k X Qik Mjn = 1 × Mjn = Mjn . k On prend le max sur i pour avoir Mjn+1 ≤ Mjn . Ainsi, (Mjn )n∈N est décroissante. De même pour (mnj )n∈N . n n (c) Preuve du théorème. Notons R = Qm , Mjn = maxi Rij , mnj = mini Rij . Il existe un l n n (dépendant de n) tel que mj = Rlj . Alors n+1 Rij = X n Rik Rkj = k ≤ Mjn X n Rik Rkj + Ril mnj k6=l X Rik + Ril mnj = Mjn (1 − Ril ) + Ril mnj k6=l = Mjn − Ril (Mjn − mnj ) ≤ Mjn − α(Mjn − mnj ) On prend le max sur i pour avoir Mjn+1 ≤ Mjn − α(Mjn − mnj ). On trouve de même −mn+1 ≤ j −mnj − α(Mjn − mnj ). On ajoute pour obtenir Mjn+1 − mn+1 ≤ (1 − 2α)(Mjn − mnj ). j 31 Donc Mjn − mnj ≤ (1 − 2α)n (Mj0 − m0j ) = (1 − 2α)n . D’après le lemme appliqué à R, les suites (Mjn )n∈N et (mnj )n∈N sont adjacentes donc ont même limite πj . Comme (mnj )n∈N est croissante et m1j ≥ α, on a πj ≥ α > 0. Maintenant, le lemme appliqué à Q prouve que (an = maxi Qnij )n∈N est décroissante, minorée par 0 donc converge. Comme la suite extraite (amn )n∈N converge vers πj d’après le point précédent, la suite (an ) converge elle-même vers πj . De même la suite (mini Qnij )n∈N converge aussi vers πj . Comme mini Qnij ≤ Qnij ≤ maxi Qnij , on conclut avec le théorème des gendarmes. e nxy pour tout (x, y) ∈ T 2 . Or y ∈ T est 7. Preuve de 9.2.11 Un produit par blocs prouve que Qnxy = Q n n e = 0 donc toutes les valeurs propres de transient donc lim Qxy = 0 (cf 2 du 7.2). Donc lim Q n→+∞ n→+∞ e sont de module < 1 donc It − Q e est inversible. Puis Q ∀(x, y) ∈ T 2 , Ex (Ny ) = +∞ X Ex (1Xk =y ) = k=0 +∞ X Qkxy = k=0 +∞ X e kxy = Fxy . Q k=0 Ensuite, l’équation 10 appliquée avec A = ∪i Ci donne ψ = F J. Enfin, en utilsant φj (x) = 1 si x ∈ Cj , φj (x) = 0 si x ∈ Ck avec k 6= j, l’équation 7 avec A = Ci donne : X X e j i.e. φj = F Bi Ji i.e. φ = F B. ∀x ∈ T, φj (x) = Qxy + Qxy φj (y) i.e. φj = Bj Jj + Qφ y∈Cj y∈T Références [MPB] M. Benaïm et N. El Karoui. Promenade aléatoire : Chaînes de Markov et simulations ; martingales et stratégies. Ecole Polytechnique, 2005. [BC] B. Bercu et D. Chafaï. Modélisation stochastique et simulation. Dunod, 2007. [Du] R. Durrett. Probability : Theory and Examples. Duxbury Advanced Series, 2005. [DF] P. Diaconis et J. Fulman. Carries, Shuffling and an Amazing Matrix. American Mathematical Monthly, 2009, Vol 116, p. 788-803. [L] J. Lemaire. Bonus-Malus Systems in Automobile Insurance Springer, 1995. [MPB] L. Mazliak, P. Priouret et P. Baldi. Martingales et chaînes de Markov. Dunod, 2007. [P] E. Pardoux. Processus de Markov et applications. Dunod, 2007. [T] C. Torossian. Matrice intergénérationnelle et ordre de Bruhat dans le groupe symétrique. Disponible à l’adresse www.math.jussieu.fr/ torossian/. 32