Domanda

Sto cercando di risolvere una serie di equazioni per determinare la distribuzione stazionaria di una matrice Ergodica Markov.

Vale a dire, la matrice è

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];
.

e il set di equazioni sono quelli del teorema sotto

Come posso convertire le equazioni sopra in sintassi MATLAB valido?

È stato utile?

Soluzione

La distribuzione stazionaria è data dal Sinistra Vettore Eigen con Eigen-Value 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
.

Altri suggerimenti

Questo è un approccio diverso da @ Risposta .

Un modo alternativo per farlo viene dalla risoluzione delle equazioni PI * P= PI per lo stato costante e ignorare il requisito che la somma del PI_J deve essere una (per ora).

A Little Matrix Algebra ...
Distribuzione stazionaria DTMC

Allora sappiamo che PI non ha una soluzione unica a questo senza il requisito "somma a 1".PI deve essere nel NULLSpace di (Transpose (P) - I).Matlab è buono a questo.Normalizzazione dopo il risultato desiderato (come sottolineato da @Luismendo nei commenti).

 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))
.

Questo è facile da controllare.

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

Confronta con la matrice di transizione a 25 fasi.

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
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top