马尔可夫过程和转移矩阵

数据挖掘 Python 贝叶斯 擅长 马尔科夫过程 马尔可夫隐藏模型
2022-02-19 21:19:14

我想找到一些好的课程,但也想快速响应如何在给定状态的情况下对转换矩阵进行建模。

想象一下有 4 个状态和以下数组 [1,2,4,1,3,4,2 等]。仅使用一组状态可以进行哪些计算?您可以根据需要制作数组,我只是给出了一个随机示例。

Python ; Excel;欢迎博客解决方案

1个回答

您的问题在两个方面不寻常:

  • 显然,这些状态是已知的,而不是隐藏的。Afaik 更常见的是状态是隐藏的,只有观察是已知的。这就是隐马尔可夫模型处理的问题。
  • 有一个序列。如果序列的长度不足以显示所有转换的代表性样本,则可能会出现问题。也不知道是否有任何其他可能的初始状态。

除此之外,您可以轻松地估计一个转移矩阵:只需计算每对状态彼此相邻出现的次数。例如,1,2,4,1,3,4,2,4,2,2,4,1我们有:

  • 1 -> 2:1
  • 1 -> 3:1
  • 2 -> 2:1
  • 2 -> 4: 3
  • 3 -> 4:1
  • 4 -> 1:2
  • 4 -> 2:2

注意:转换的总数应该等于序列的长度减 1。

由此我们可以计算出每个转移概率,它只是到达状态的条件概率x给定起点y, IE

p(x|y)=#(x,y)y#(x,y)

这里#(x,y)表示“y -> x 发生的次数”。在示例中:

  • 1 -> 2: 1/2
  • 1 -> 3: 1/2
  • 2 -> 2: 1/4
  • 2 -> 4: 3/4
  • 3 -> 4:1
  • 4 -> 1: 1/2
  • 4 -> 2: 1/2
其它你可能感兴趣的问题