Approfondissement — Simuler la trajectoire aléatoire d'une chaîne de Markov sur un graphe fini et estimer empiriquement sa loi stationnaire.
Météo simple : trois états (Soleil, Nuageux, Pluie) avec matrice de transition . Estimer la loi stationnaire par simulation sur jours.
Approfondissement — Simuler la trajectoire aléatoire d'une chaîne de Markov sur un graphe fini et estimer empiriquement sa loi stationnaire.
Si est la matrice de transition (ligne = loi conditionnelle sachant l'état ), alors numpy.random.choice(range(r), p=M[i]) tire l'état suivant avec la bonne probabilité ; pour une chaîne irréductible apériodique, la fréquence empirique des états converge vers l'unique état stable vérifiant .
Météo simple : trois états (Soleil, Nuageux, Pluie) avec matrice de transition . Estimer la loi stationnaire par simulation sur jours.
Je code la matrice :
import numpy as np
M = np.array([[0.7, 0.2, 0.1],
[0.3, 0.4, 0.3],
[0.2, 0.3, 0.5]])
assert np.allclose(M.sum(axis=1), 1)
Je fixe l'état initial et la longueur :
N = 10_000
etat = 0 # on part de Soleil
traj = np.zeros(N+1, dtype=int)
traj[0] = etat
Je simule la chaîne :
for n in range(N):
etat = np.random.choice(3, p=M[etat])
traj[n+1] = etat
Je calcule les fréquences empiriques :
freq = np.array([(traj == k).mean() for k in range(3)])
print(freq) # ex: [0.45, 0.27, 0.28]
Les fréquences sont proches de l'état stable théorique .
L'état stable empirique vaut environ , en accord avec le calcul théorique de tel que .
Les applications suivantes et la correction guidée sont réservées aux membres Premium
La méthode et sa première application corrigée restent en accès libre. Le Premium débloque les applications suivantes, l'aide IA et le suivi de ta maîtrise.