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.
xxxxxxxxxximport numpy as npimport matplotlib.pyplot as pltK=10 # Nombre de trajectoiresT=1500 # Durée de la simulation alpha = 0.90 # Paramètre de la marchefor 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