Стационарное распределение эргодической цепи Маркова: решение уравнений

Я пытаюсь решить систему уравнений, чтобы определить стационарное распределение эргодической матрицы Маркова.

А именно, матрица

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

а система уравнений - из теоремы ниже

Как я могу преобразовать приведенные выше уравнения в действительный синтаксис Matlab?


person Winston    schedule 29.07.2014    source источник


Ответы (2)


Стационарное распределение задается левым собственным вектором с собственным значением 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
person Shai    schedule 29.07.2014
comment
+1, но результат должен быть нормализован до суммы 1: st./sum(st) - person Luis Mendo; 29.07.2014

Этот подход отличается от ответа @ Shai.

Альтернативный способ сделать это - решить уравнения Pi * P = Pi для устойчивого состояния и игнорировать требование о том, что сумма pi_j должна быть равна единице (на данный момент).

Немного матричной алгебры ...
 Стационарное распространение DTMC

Тогда мы знаем, что у Pi не может быть единственного решения без требования «сумма к 1». Пи должен находиться в нулевом пространстве (транспонировать (P) - I). MATLAB хорош в этом. Нормализация после дает желаемый результат (как указано @LuisMendo в комментариях).

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

Проверить это несложно.

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

Сравните с матрицей перехода из 25 шагов.

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
person SecretAgentMan    schedule 18.10.2018