Bonsoir a tous,
J’essaie d’approcher les chaînes de Markov d’un point de vue le plus pratique possible. Je n’ai pas de cours ni de livre pour l’instant. J’essaie de me débrouiller avec internet mais ce n’est pas évident…
En particulier, je voudrais comprendre cet exemple :
Soit un jeu de pile ou face avec une pièce équilibrée, on gagne 1 euro si face, on perd 1 euro si pile.
Le jeu s’arrête quand on arrive à 5 ou à 0. Le joueur commence avec 2 euros.
La chaîne de Markov sera composée du montant d’argent qu’a le joueur avant un lancé.
Si on tire 12 fois à pile ou face et que l’on obtient : pile, face, face, face, pile, pile, face, pile, face, pile, pile, pile. On aura la chaîne de Markov suivante [2,1,2,3,4,3,2,3,2,3,2,1,0]
On commence à 2, on tire pile, on perd 1 euro, on passe a 1, on tire face, on repasse à 2 et ainsi de suite. Jusque là ça va.
La probabilité que l’on gagne 1 euro est ½ et que l’on perdre 1 euro est ½. Ceux sont les probabilités de transition, si j’ai bien compris. On peut traduire toutes les possibilités dans une matrice, dite de transition, souvent noté P, où la cellule (i,j) contient la probabilité de passer de la valeur i à la valeur j.
Dans l’exemple, la probabilité de passer de 2 à 1 est 0.5, idem pour passer de 2 à 3. On ne peut pas passer directement de 2 à 0, ou de 2 à 4, ou encore de 2 à 5, la probabilité est donc de 0 pour ces cas.
I et j peuvent aller de 0 à 5. La ligne 1 de P donne les proba de transition de 1 à 0, de 1 à 2 etc
Au final, on obtient la matrice de transition P suivante :
En fait, c’est à partir de maintenant que je ne comprends pas trop comment obtenir des chaînes avec la matrice P. J’ai trouvé un code R mais je ne comprends pas bien ce qu’il fait.
Pour simuler par exemple 12 valeurs d’une chaîne, le code fait :
Markov<- function(N=12, initial.value=1,P)
{
X<-numeric(N)
X[1]<- initial.value+1
n<- nrow(P)
for (i in 2:N)
{ X[i]<- sample(1:n, size=1, prob=P[X[i-1],])}
X-1
}
Précisément, je ne comprends pas ce que fait la fonction sample. Au premier pas de la boucle, elle tire un nombre au hasard entre 1 et 6, dans l’argument prob, elle se positionne sur la ligne 2 de la matrice P et après elle calcule quoi ?? Si elle tire 4 au hasard, elle fait 4*0+4*.5+4*0+4*.5+4*0+4*0 ?? On ne peut pas avoir 4 en X[2] mais seulement 1 ou 3 ?!?
J’ai essayé de comprendre avec ce sujet http://forums.futura-sciences.com/ma...de-markov.html mais en vain.
Si un pédagogue pouvait m’expliquer cela simplement, c’est sans doute tout bête, mais pour l’instant je bloque…
Vous remerciant par avance.
-----