Question

J'essaie de résoudre un ensemble d'équations pour déterminer la distribution stationnaire d'une matrice ergodique Markov.

nommément, la matrice est

P=[0   0   0   0.5 0   0.5;
   0.1 0.1 0   0.4 0   0.4;
   0   0.2 0.2 0.3 0   0.3;
   0   0   0.3 0.5 0   0.2;
   0   0   0   0.4 0.6 0;
   0   0   0   0   0.4 0.6];

et l'ensemble des équations sont ceux du théorème ci-dessous

Comment puis-je convertir les équations ci-dessus en syntaxe MATLAB valide?

Était-ce utile?

La solution

La distribution stationnaire est donnée par la Vecteur Eigen gauche avec Value Eigen 1.

>> [V D] = eig( P.' ); %// note the transpose .' - we are looking for the **left** EV
>> st = V(:,1).'; %//' the stationary distribution
st =
 0.0051    0.0509    0.2291    0.6110    0.5346    0.5346
>> D(1)
 1.0000

Autres conseils

Ceci est une approche différente de @ Shai's Réponse .

Un autre moyen de le faire provient de la résolution des équations PI * P= PI pour l'état d'équilibre et d'ignorer l'exigence selon laquelle la somme du PI_J doit être une (pour l'instant).

Un peu d'algèbre matricielle ...
Distribution stationnaire DTMC

Ensuite, nous savons que PI n'a pas une solution unique à cela sans la condition "somme à 1".PI doit être dans l'espace null de (transpose (p) - i).Matlab est bon à cela.Normalisation après avoir donné le résultat souhaité (comme indiqué par @Luismendo dans les commentaires).

 P=[0   0   0   0.5 0   0.5;
   0.1 0.1 0   0.4 0   0.4;
   0   0.2 0.2 0.3 0   0.3;
   0   0   0.3 0.5 0   0.2;
   0   0   0   0.4 0.6 0;
   0   0   0   0   0.4 0.6];

I = eye(size(P));

Y = null(P'-I)
PI = Y./(sum(Y))

Ceci est facile à vérifier.

>> PI(:)'     % Force into row vector
ans =
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720

comparer avec la matrice de transition en 25 étapes.

P5 = P*P*P*P*P;
P25 = P5*P5*P5*P5*P5;
>>P25 =
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720
    0.0026    0.0259    0.1166    0.3109    0.2720    0.2720

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top