如何求解马尔可夫转移率矩阵?

How to solve Markov transition rate matrix?

我有一些变量要查找,例如 x= [1x16 (x1,x2,x3,....x16 variables)],条件是 x1+x2+x3+....x16=1。我还有 16x16 矩阵 Q= [16x16 (real values)]。

我需要解方程 'x*Q=x' as shown here。我怎样才能轻松地在 Matlab 或任何其他语言中解决它?

通过转置,你的等式等价于 Q'y=1y 其中 y:=x'(列向量),其中 Q' 是 Q 的转置(matlab 符号...),这意味着 y 是一个与矩阵 Q' 的特征值 1 关联的特征向量。对于马尔可夫矩阵,这样的特征向量总是存在的。令 s 为列向量 y 的条目之和。可能会出现两种情况:

  • 要么 s 不为 0 ;然后将 y 的所有坐标除以 s 就足够了:我们得到一个向量,它仍然是一个特征向量,坐标和等于 1.

  • or s=0 没有解决你的问题。

这是一个 Matlab 程序,可以处理 3 x 3 矩阵:

M=[.2 .3 .5
   .1 .8 .1
   .4 .4 .2]
[P,D]=eig(M')
Y=P(:,3)
M'*Y - Y,% should be 0
Z=Y/sum(Y),%the sum of Z's coordinates is 1
M'*Z-Z,% should be 0