Un processus simple sur N
On considère le modèle suivant. Soit (ai)i≥0 une famille de nombres réels entre 0 et 1. On considère la chaîne de Markov (Xn) d'espace d'états E={0,1,2…} et dont les transitions sont données par
P(Xn+1=i+1|Xn=i)=ai,P(Xn+1=0|Xn=i)=1−ai.
Pour illustrer les différents cas nous allons prendre ai de la forme
ai=1−1(i+2)α,
où α>0 est un paramètre fixé.

Récurrence
On pose bi=a0 a1⋯ai−1, on démontre en PC que(Xn)n récurrente⇔limibi=0.
En passant au log on voit que
log(bi)=i∑j=0log(aj)=i∑j=0log(1−1(j+2)α)≈i∑j=0−1(j+2)αi→+∞⟶{−∞ si α≤1,cst si α>1.
On a donc finalement :
(Xn)n récurrente⇔limibi=0⇔α≤1.
Récurrence positive
On peut démontrer de plus que la chaîne est récurrente positive si et seulement si ∑bn<∞. Puisque bn+1/bn=an, la règle de Raabe-Duhamel assure que ceci est vérifié si et seulement si α<1.Quelques trajectoires
On trace quelques trajectoires de (Xn) pour α fixé, on commence par α=0.9. Ne pas hésiter à changer la valeur de α : dès α=1.2 on voit un changement net de comportement.
xxxxxxxxxx
import numpy as np
import matplotlib.pyplot as plt
K=10 # Nombre de trajectoires
T=1500 # Durée de la simulation
alpha = 0.90 # Paramètre de la marche
for k in range(K):
Trajectoire=[0]
for t in range(T):
Position=Trajectoire[-1]
NouvellePosition=(Position+1)*(np.random.rand()>1.0/((Position+2)**alpha))
Trajectoire.append(NouvellePosition)
plt.plot(Trajectoire)
plt.axis([0,T,0,T])
plt.title('$K=$'+str(K)+' trajectoires, pour alpha$=$ '+str(np.round(alpha,2))+'')
plt.show()
Liens
- Moodle : Cours MAP432
- Initiation à Python : Page web de l'initiation python du cours de tronc commun