ECE2 TP n ◦ 5 : Chaˆınes de Markov
Exercice 1. ´Evolution d’un titre boursier au cours du temps
Dans une bourse de valeurs, un titre donn´e peut augmenter, rester stable, ou baisser. Dans un mod`ele math´ematique, on consid`ere que :
• Le titre est stable `a l’instant 0.
• Si `a l’instantn, le titre augmente, alors `a l’instantn+ 1, soit il augmente, avec une probabilit´e de 2/3, soit il baisse ou reste stable, et ceci avec la mˆeme probabilit´e.
• Si `a l’instantn, le titre reste stable, alors `a l’instantn+ 1, soit il reste stable, avec une probabilit´e de 2/3, soit il augmente ou baisse, et ceci avec la mˆeme probabilit´e.
• Si `a l’instantn, le titre baisse, alors `a l’instant n+ 1, soit il baisse, avec une probabilit´e de 2/3, soit il augmente ou reste stable, et ceci avec la mˆeme probabilit´e.
On note 1 l’´etat correspondant `a l’´etat ”le titre augmente”, 2 celui correspondant `a l’´etat ”le titre reste stable” et 3 celui correspondant `a ”le titre baisse”.
1. Repr´esenter le mod`ele par un diagramme de transition.
2
1 3
1/6
1/6 2/3
1/6 1/6 1/6
1/6
2/3 2/3
2. Donner la distribution initiale et la matrice de transitionM associ´ees la chaˆıne, puis donner une m´ethode pour calculerMn. Utiliser Scilab pour donner la probabilit´e d’ˆetre `a l’instantn= 10 `a l’´etati.
ν0= 0 1 0
et M =1 6
4 1 1
1 4 1
1 1 4
On note queM est sym´etrique donc diagonalisable, les valeurs propres ´etant 1 2 et 1.
On a doncMn qui s’´ecritP DnP−1. --> M=1/6*[4 1 1; 1 4 1; 1 1 4]
--> [0 1 0]*M^10 ans =
0.3330078 0.3339844 0.3330078
3. L’entiern´etant entr´e par l’utilisateur, ´ecrire un script simulant lesn+ 1 premiers ´etats (y compris celui d’origine) de cette chaˆıne de Markov.
Indication : utiliser la fonction grand(n,’markov’,M,X0) d´efinie dans le cours d’informatique Statistiques de Scilab.
--> M=1/6*[4 1 1; 1 4 1; 1 1 4]
--> n=input(’Entrez la valeur de n : ’)
--> X0=2; // le titre reste initialement stable --> X=grand(n,’markov’,M,X0);
4. Afficher la ligne bris´ee symbolisant cette ”trajectoire” (en abscisse les instants et en ordonn´ee les ´etats). Simuler les 20 premiers ´etats de la chaˆıne.
En reprenant, le script pr´ec´edent on a
--> instants=[0:n]; // abscisses des points du nuages
--> valeurs=[1,X]; // ordonn´ees des points du nuage, y compris le premier qui vaut donc 1 --> plot2d(instants,valeurs)
5. En simulant un plus grand nombre d’´etats (sans n´ecessairement les faire afficher) dire quel semble ˆetre la distribution stationnaire de cette chaˆıne.
Indication :calculer la proportion des ´etatsi(pouri∈[[1,3]]) de la chaˆıne `a l’aide de la commandesum(X==i)/n.
--> M=1/6*[4 1 1; 1 4 1; 1 1 4]
--> n=input(’Entrez la valeur de n : ’)
--> X0=2; // le titre reste initialement stable --> X=grand(n,’markov’,M,X0);
--> a=sum(X==1)/n; // proportion des ´etats 1 de la chaine --> b=sum(X==2)/n; // proportion des ´etats 2 de la chaine --> c=sum(X==3)/n; // proportion des ´etats 3 de la chaine --> disp(a,b,c)
Entrez la valeur de n : 10000 n =
10000.
a = 0.323 b =
0.3244 c =
0.3526
Ces trois derni`eres valeurs laissent penser que la distribution stationnaire de cette chaˆıne est 1/3 1/3 1/3 , malgr´e le d´es´equilibre en faveur de l’´etat ”le titre reste stable” puisqu’il est choisi au d´epart.
Exercice 2. Mod´elisation de l’´evolution d’une soci´et´e
On consid`ere une soci´et´e (fictive), comportant 4 classes sociales : les esclaves, les hommes libres, les citoyens, les hauts fonctionnaires. Chaque ´etape repr´esente 1 an ; on ´etudie les lign´ees plutˆot que les individus (les classes sont h´er´editaires), pour ´eviter de parler d’individus bicentenaires.
• Les esclaves peuvent rester esclaves ou devenir des hommes libres en rachetant leur libert´e ou en ´etant affranchis (1 sur 98 chaque ann´ee).
• Les hommes libres peuvent rester libres, vendre leur libert´e pour payer leurs dettes (2 sur 73) ou devenir citoyen soit par m´erite, soit en achetant le titre (6 sur 73).
• Les citoyens sont citoyens `a vie et peuvent se porter candidats aux ´elections annuelles pour devenir hauts fonc- tionnaires (1 sur 13) pour un mandat de 1 an ; au terme de leur mandat, ils peuvent ˆetre r´e´elus (3 sur 20), esclaves s’ils ´etaient corrompus (1 sur 20) ou redevenir simples citoyens.
1. Repr´esenter le mod`ele par un diagramme de transition.
1 2 3
1/98
4
97/98
2/73 65/73
6/73 12/13
1/13
16/20
3/20
1/20
2. ´Ecrire la matrice de transitionM. Repr´esenter graphiquement le devenir d’une lign´ee (i.e. ”trajectoire”) issue d’un esclave, une issue d’un homme libre et une issue d’un citoyen (sur 200 ans).
M =
97/98 1/98 0 0
2/73 65/73 6/73 0
0 0 12/13 1/13
1/20 0 16/20 3/20
--> M=[97/98 1/98 0 0; 2/73 65/73 6/73 0; 0 0 12/13 1/13; 1/20 0 16/20 3/20];
--> plot2d([1:200],grand(200,’markov’,M,1)) --> plot2d([1:200],grand(200,’markov’,M,2)) --> plot2d([1:200],grand(200,’markov’,M,3))
3. A l’ann´ee 1, il y a 40% d’esclaves, 30% d’hommes libres, 25% de citoyens et 5% de hauts fonctionnaires. Compl´eter le programme suivant afin de tracer l’´evolution de la loi de la chaˆıne de Markov pour chacun des ´etats sur 200 ans.
--> M=[97/98 1/98 0 0; 2/73 65/73 6/73 0; 0 0 12/13 1/13; 1/20 0 16/20 3/20];
--> U=[0.4 0.3 0.25 0.05];
--> E(1,:)=U;
--> for k=2:200 --> U=U*M;
--> E(k,:)=U;
--> end
--> plot2d([1:200],[E(:,1) E(:,2) E(:,3) E(:,4)]);
Exercice 3. Indice de popularit´e d’une page Web (PageRank)
A l’issue de sa requˆ´ ete, un internaute est susceptible d’aller sur trois sitesA,B,C.
• Le siteA contient un lien vers lui-mˆeme et deux liens versB.
• Le siteB comporte 5 liens vers lui-mˆeme, un versA et un versC.
• Le siteC comporte un lien versA, 7 liens versB et 4 versC.
Au d´epart l’internaute choisit au hasard l’un des trois sites. Par la suite la probabilit´e de passer d’un site (`a l’instantn) vers un autre (`a l’instantn+ 1) est proportionnelle au nombre de liens au premier site vers le deuxi`eme. Pourn∈N∗, on d´esigne paran,bn etcn les probabilit´es pour que, `a l’instantn, l’internaute soit respectivement surA, B etC.
1. Repr´esenter le mod`ele par un diagramme de transition. Exprimeran+1, respectivementbn+1 et cn+1, en fonction des trois r´eelsan,bn etcn.
B
A C
1/12 5/7
1/7 2/3 7/12
1/7
1/3 4/12
an+1 = 1/3∗an+ 1/7∗bn+ 1/12∗cn
bn+1 = 2/3∗an+ 5/7∗bn+ 7/12∗cn
cn+1 = 0∗an+ 1/7∗bn+ 4/12∗cn
2. ´Ecrire la matrice de transitionM. Simuler les d´eplacements d’un internaute avec la fonctiongrand(n,’markov’,M,X0).
M =
1/3 2/3 0
1/7 5/7 1/7
1/12 7/12 4/12
--> M=[1/3,2/3,0;1/7,5/7,1/7;1/12,7/12,4/12];
--> plot2d([1:100],grand(100,’markov’,M,1))
3. Donner une matrice diagonale D et une matrice inversible P telles que M = P DP−1 en utilisant la commande [P D]=spec(M). Calculer la limite deDn lorsquentend vers l’infini, en d´eduireL= lim
n→+∞Mn. -->[P D]=spec(M)
D =
1. 0 0
0 0.2826901 0
0 0 0.0982623
P =
- 0.5773503 - 0.7907086 0.8465920 - 0.5773503 0.0600661 - 0.2985139 - 0.5773503 0.6092388 0.4406488 On remarque donc que
1 0 0 0 0 0 0 0 0
= lim
n→+∞Dn, ainsiL=P
1 0 0
0 0 0
0 0 0
P−1= lim
n→+∞Mn.
4. En d´eduire la distribution stationnaire de la chaˆıne de Markov (limites des suites (an), (bn) et (cn)).
On a alors
--> L=P*[1 0 0; 0 0 0; 0 0 0]*inv(P) L =
0.1656442 0.6871166 0.1472393 0.1656442 0.6871166 0.1472393 0.1656442 0.6871166 0.1472393 En notantUn = an bn cn
, la distribution stationnaire Π = a b c v´erifie Π = lim
n→+∞Un= lim
n→+∞U0Mn =U0L, donc on obtient approximativement
Π = 0.1656442 0.6871166 0.1472393 . 5. LeGoogle PageRank du siteA (indice de notori´et´e) esta= lim
n→+∞an. Dans quel ordre classerez-vous les sites ? On peut donc classer en premier le siteB, puis le siteAet enfin le siteC.