我试图求解一组方程以确定ergodic马尔可夫矩阵的静止分布。

即,矩阵是

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语法?

有帮助吗?

解决方案

静止分布由 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
.

其他提示

这是一个不同的方法,来自@ shai的答案

替代方法来求解PI * P= PI方程,用于稳定状态,忽略PI_J所需总和是一个(现在)的要求。

一个小矩阵代数...

然后我们知道PI没有唯一的解决方案,没有“总和1”要求。PI必须位于(转置(p) - i)的nullspace中。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
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top