【发布时间】:2017-04-20 10:19:02
【问题描述】:
这个问题结合了数学和编程。我将首先描述一般问题,然后举一个(希望)更容易理解的例子。
一般问题:考虑具有转移矩阵 Π 的 N 状态的马尔可夫链过程。每个状态都与一个值 x_n({1,…,n} 中的 n)相关联。我们的目标是找到沿 T 周期路径的前两个矩(均值和 var)的无条件平均值,条件是(i)路径以状态子集 N_0 开始,(ii)以状态子集结束, N_T,并且 (iii) 它在 1 到 T-1 之间的任何时期都没有经历状态子集 N_not。通过说我们对这两个矩的无条件平均值感兴趣,我基本上是指在平稳分布中这两个矩的平均值是多少。更具体地说,让我用一个简单的案例来说明练习的目标。
简单示例: 考虑一个具有转移矩阵 Π 的三态马尔可夫链过程,并让这三个状态由 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 的大小,因此模拟需要很长时间。
如果您知道实现这一目标的有效方法,我很想听听您的想法。如果有什么不清楚的地方请告诉我,我会尽力澄清。
谢谢!!!
【问题讨论】:
标签: matlab performance simulation probability markov-chains