Adloun

Chaînes de Markov

Cours complet · mathématiques appliquées (ECG 2e année), chapitre 10 · prépa ECG, 2e année

Travailler ce chapitre sur Adloun Exercices corrigés de ce chapitre

Un client d'un opérateur téléphonique reste chez lui ou part chez le concurrent ; une page web renvoie vers d'autres pages ; un assuré passe d'un bonus à un malus. Dans tous les cas, un système occupe l'un de plusieurs états et change d'état au fil du temps, avec des probabilités qui ne dépendent que de l'état présent — jamais du chemin parcouru pour y arriver.

C'est une chaîne de Markov. Ce chapitre montre que son évolution s'écrit comme un produit matriciel, et que son comportement à long terme se lit sur un vecteur propre — celui de la valeur propre . Tout le chapitre 3 y sert.

AttentionTout est admis

Le programme est explicite : « tous les résultats de cette section seront admis ». Ce chapitre est un chapitre de modélisation et de calcul, pas de démonstration.

10.1 Graphe probabiliste et matrice de transition

Définition 10.1Graphe probabiliste, matrice de transition

Un graphe probabiliste à états est un graphe orienté dont les sommets sont numérotés de à et dont chaque arête porte une probabilité, la somme des probabilités sortant de chaque sommet valant .

La matrice de transition est la matrice de où

Ses coefficients sont positifs et chaque ligne somme à .

AttentionLe sens des indices, et celui du vecteur

va de vers : c'est la ligne qui décrit le départ. En conséquence, l'état de la chaîne se note en vecteur ligne et la récurrence s'écrit , avec la matrice à droite. C'est l'inverse de ce à quoi le chapitre 3 a habitué, et l'erreur la plus fréquente.

Définition 10.2Chaîne de Markov, état de la chaîne

La chaîne de Markov associée est la suite de variables aléatoires à valeurs dans , où est l'état occupé à l'instant . Le -ième état de la chaîne est le vecteur ligne

◆Théorème 10.3La récurrence

Pour tout et tout ,

Par récurrence immédiate, .

Exemple 10.4Une évolution, pas à pas

Avec et — on part certainement de l'état :

Le premier calcul : . Les suivants se poursuivent de même, et les valeurs semblent converger.

10.2 État stable

Définition 10.5État stable

Un vecteur ligne à coefficients positifs de somme est un état stable lorsque

◆Théorème 10.6Le lien avec les valeurs propres

équivaut à : la colonne est un vecteur propre de associé à la valeur propre .

ImportantLa méthode, en trois gestes
  • Écrire le système , c'est-à-dire .
  • Le résoudre — il est toujours de rang au plus , puisque est valeur propre de : la somme des lignes de est nulle.
  • Normaliser : imposer que la somme des coefficients vaille . C'est cette dernière équation qui rend la solution unique.
Exemple 10.7Calculer l'état stable

Cherchons avec pour . La première composante donne

(La seconde composante donne la même équation — c'est toujours le cas.) La normalisation donne , donc et .

Vérification : .

AttentionLa convergence n'est pas garantie

Prenons : on change d'état à chaque pas, de façon certaine. Partant de , on obtient , , … La suite ne converge pas. Pourtant est bien un état stable : il existe, mais n'attire pas.

Exemple 10.8Un graphe à trois états

Soit

Chaque ligne somme à . La résolution de avec normalisation donne

Et en itérant depuis , on obtient exactement ces valeurs au bout d'une vingtaine d'étapes.

Python : Itérer, et vérifier l'état stable


import numpy as np

M = np.array([[0.8, 0.2], [0.3, 0.7]])
V = np.array([1.0, 0.0])

for n in range(5):
    print(n, V.round(6))
    V = V @ M                     # ATTENTION : V a GAUCHE, M a DROITE
# 0 [1. 0.]      1 [0.8 0.2]    2 [0.7 0.3]
# 3 [0.65 0.35]  4 [0.625 0.375]

S = np.array([0.6, 0.4])
print(np.allclose(S @ M, S))      # True   <- c'est bien l'etat stable

Écrire M @ V au lieu de V @ M donne un résultat qui a l'air plausible — un vecteur de bonne taille, à coefficients positifs — et qui est faux. C'est l'erreur à surveiller.

Continuer sur Adloun : animation, QCM, fiches, exercices