Pergunta

Eu estou tentando resolver um conjunto de equações para determinar a distribuição estacionária de uma Markov ergódica matriz.

Ou seja, a matriz é

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 o conjunto de equações são as do teorema abaixo

Como posso converter as equações acima válidos em Matlab sintaxe?

Foi útil?

Solução

A distribuição estacionária é dada por esquerda eigen vetor com eigen-valor de 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

Outras dicas

Esta é uma abordagem diferente da @Shai do responder.

Uma forma alternativa para não se trata de resolver o Pi*P = Pi equações para o estado estacionário e ignorar o requisito de que a soma dos pi_j precisa ser um (por agora).

Um pouco de álgebra matricial...
DTMC Stationary Distribution

Então nós sabemos que o Pi não tem uma solução única para este sem a "soma de 1" exigência.O Pi deve ser no nullspace de (transpose(P) - I).O MATLAB é bom nisso.Normalização depois dá o resultado desejado (como apontado por @LuisMendo nos comentários).

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

Isto é fácil de verificar.

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

Compare com o 25 de passo matriz de transição.

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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top