在马尔可夫过程中寻找条件矩

时间:2016-12-05 22:00:41

标签: matlab performance simulation probability markov-chains

这个问题结合了数学和编程。我将首先描述一般问题然后给出一个(希望)更容易理解的例子。

一般问题:考虑具有转移矩阵Π的N状态的马尔可夫链过程。每个状态都与值x_n({1,...,n}中的n)相关联。我们的目标是找到沿T周期路径的前两个时刻(均值和变量)的无条件平均值,条件是(i)路径从状态子集开始,N_0,(ii)它以状态子集结束, N_T,以及(iii)在1到T-1之间的任何时段中,它没有经过状态子集N_not。通过说我们对这两个时刻的无条件平均感兴趣,我基本上是指静止分布中这两个时刻的平均值。更具体地说,让我在一个简单的案例中说明这项工作的目标。

简单示例:考虑具有转移矩阵Π的3状态马尔可夫链过程,并让这三个状态由A,B和C表示。这些状态中的每一个都与某些状态相关联值(x_A,x_B和x_C)分别为。我们对满足以下条件的路径发生的事情感兴趣。路径从A点开始,经过3个周期在B点或C点之后,1到3期间从未再次通过A点。用(#)表示这个条件。因此,例如,我们感兴趣的路径将是{A,B,B,C},其具有关联值{x_A,x_B,x_B,x_C}。我们对这些路径的平均值和标准偏差感兴趣。特别是,我们希望在满足(#)的路径中找到前两个时刻的无条件平均值。

现在让我提出一个基于模拟过程的解决方案。由于T和N都很大,这个解决方案对我来说太慢了。

模拟解决方案:从某个初始点开始模拟该过程很长一段时间,然后放弃第一个τ周期。从模拟中提取满足条件(#)的所有路径,并计算沿每条路径的平均值和标准值。最后,只需考虑这些路径的平均值。

我希望有更好,更有效的方法来实现这个目标。由于我希望解决方案准确且T和N的大小,因此模拟需要很长时间。

我很想听听你的想法,如果你知道实现这一目标的有效方法。如果问题不清楚,请告诉我,我会尽力澄清。

谢谢!!!

1 个答案:

答案 0 :(得分:0)

如果N_0由一个州组成,我想我知道如何做到这一点,让我们称之为州A

A中的长期概率为pi(A),可以通过求解pi = pi*PP过渡矩阵来获得。

您需要计算的另一件事是这些瞬态路径的概率。您可能需要引入修改后的P,其中集i中的所有状态N_not都在吸引(P[i,i]=1P[i,j]=0 j不是i)。然后从向量p(0)开始,该向量在对应于状态A的元素中具有1,否则为0,您可以继续计算p(n) = p(n-1)*P以获得瞬态路径的概率。

pi(A)的结果乘以得到无条件概率。

N_0是一组时,您可以做同样的事情,但我不知道在这种情况下您应该如何选择p(0)