问题标签 [markov-chains]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
633 浏览

r - 模拟马尔可夫链的概率数不正确

我的转移概率矩阵是这样的

并且从中模拟一阶MC的代码是

但由于这是一个非方阵,我得到一个概率不匹配的错误,知道如何解决这个问题

0 投票
1 回答
239 浏览

statistics - 二级结构预测的前后向算法

我想使用 HMM(前向后向模型)进行蛋白质二级结构预测。

基本上,使用三态模型:States = {H=alpha helix, B=beta sheet, C=coil}

每个状态的发射概率 pmf 为 1×20(对于 20 个氨基酸)。

在前向后向模型上使用序列“训练集”后,期望最大化收敛于最优转换矩阵(三个状态之间的 3×3)和每个状态的发射概率 pmf。

有谁知道确定转换矩阵和发射概率的“正确”值的序列数据集(最好非常小)。我想在 Excel 中使用该数据集来应用前向后向算法并建立我的信心来确定我是否可以获得相同的结果。

然后转向比 Excel 更原始的东西 :o)

0 投票
1 回答
2068 浏览

matlab - 如何找到马尔可夫链(FSMC)的有限状态转移概率矩阵

我的通道测量值> 20,000,必须划分为离散级别,如在我的情况下K = 8,并且必须映射到具有状态的通道测量。我必须在 Matlab 中为此找到状态转移概率矩阵。

我的问题是,我需要知道如何将这些值划分为 8 个状态,并在 Matlab 中找到这 8 个状态的状态转移概率矩阵。

0 投票
3 回答
629 浏览

algorithm - 关于使用马尔可夫链算法生成文本

我正在阅读 Brian W. Kernighan 和 Rob Pike 的《编程实践》一书。第 3 章提供了马尔可夫链方法的算法,该方法读取源文本并使用它生成“读起来很好”的随机文本(意味着输出更接近于正确发音的英语而不是胡言乱语):

我的问题是:处理 w2 和 w3 的新值在源文本中没有后继的情况的标准方法是什么?

提前谢谢了!

0 投票
2 回答
8878 浏览

artificial-intelligence - 蒙特卡洛和马尔可夫链技术有什么区别?

我想开发RISK 棋盘游戏,其中包括电脑玩家的人工智能。此外,我读了两篇关于它的文章,thisthis,我意识到我必须学习蒙特卡罗模拟马尔可夫链技术。我认为我必须一起使用这些技术,但我想它们是与计算过渡态概率相关的不同技术。

那么,谁能解释一下它们之间的重要区别和优缺点是什么?

最后,如果您要实现 AI for RISK 游戏,您会更喜欢哪种方式?

在这里,您可以找到关于风险棋盘游戏中战斗结果的简单确定概率,以及使用的蛮力算法。有一个树形图,它指定了所有可能的状态。我应该在这棵树上使用 Monte Carlo 还是 Markov 链?

0 投票
1 回答
992 浏览

matlab - 有限状态空间马尔可夫链中的时间序列

我有状态 K=8 的状态转移概率矩阵,

反式 =

我需要使用 Matlab 从转换矩阵生成时间向量/时间序列。谁能建议我如何从 Matlab 中的状态转移概率矩阵生成时间序列。

0 投票
1 回答
2537 浏览

neo4j - 用 Neo4J 模拟马尔可夫链

马尔可夫链由一组状态组成,这些状态可以以一定的概率转换到其他状态。

通过为每个状态创建一个节点、为每个转换创建一个关系,然后用适当的概率注释转换关系,可以在 Neo4J 中轻松地表示马尔可夫链。

但是,你能用 Neo4J模拟马尔可夫链吗?例如,是否可以强制 Neo4J 从某个状态开始,然后根据概率转换到下一个状态和下一个状态?Neo4J 能否返回并打印出它通过此状态空间的路径?

也许通过一个简单的例子更容易理解。假设我想根据我公司技术博客的文本制作一个 2 克的英语模型。我启动了一个执行以下操作的脚本:

  1. 它拉下博客的文本。
  2. 它遍历每对相邻的字母并在 Neo4J 中创建一个节点。
  3. 它再次遍历每个相邻字母的 3 元组,然后在前两个字母表示的节点和后两个字母表示的节点之间创建 Neo4J 定向关系。它将这个关系上的计数器初始化为 1。如果关系已经存在,那么计数器就会递增。
  4. 最后,它遍历每个节点,计算总共发生了多少次传出转换,然后在等于 的特定节点的每个关系上创建一个新注释count/totalcount。这就是转移概率。

现在 Neo4J 图表已经完成,我如何让它从我的 2-gram 英语模型中创建一个“句子”?以下是输出的样子:

在没有 IST LAT WHEY CRATICT FROURE BIRS GROCID PONDENOME 的 REPTAGIN 演示是 CRE 的 REGOACTIONA。

0 投票
1 回答
3907 浏览

matlab - Matlab:来自马尔可夫链的 PDF

我使用 Matlab 生成了马尔可夫链。从生成的马尔可夫链中,我需要计算概率密度函数 (PDF)。

  • 我该怎么做?
    我应该在任何 PDF 函数中直接使用生成的马尔可夫链吗?
    或者
    我应该在找到 PDF 之前对数据进行任何预处理吗?

使用以下代码生成马尔可夫链:

生成马尔可夫链后,我需要计算概率密度。

  • 如何使用 Matlab 找到概率密度?
0 投票
2 回答
534 浏览

math - 马尔可夫链关于初始状态的平稳分布条件

作为马尔可夫链的一个属性,平稳分布已被广泛应用于page_rank等诸多领域。

但是,由于分布只是转移矩阵的一个属性,与马尔可夫链的初始状态无关。

那么转移矩阵的条件是什么,使得初始状态与马尔可夫链无关,所以在第n次迭代后最终到达平稳分布。

0 投票
2 回答
12707 浏览

matlab - 在 MATLAB 中估计不同状态序列长度的马尔可夫链转移矩阵

我正在尝试在 MATLAB 中为马尔可夫链构建转移矩阵;我有几个不同的观察序列(所有不同的长度),我需要使用它们生成转换矩阵。

在 Matlab 中构建多阶马尔可夫链转移矩阵向我展示了如何构建具有单个观察序列的转移矩阵。

如何使用不同长度的观察来构造一个?一个例子可以是一个序列是 1,2,3,4,另一个是 4,5,6。有没有办法做到这一点而不必循环遍历所有序列和计算计数?