我有一个用二进制位串表示的 128 个状态的空间。我知道这些状态之间的转换概率如下:
(('1111111', '1111111'), 0.255),
(('0000000', '0000000'), 0.027),
(('1111111', '1111101'), 0.016),
(('1111111', '1111110'), 0.016),
(('1111011', '1111111'), 0.014),
...
(('0000000', '0111010'), 0.0),
(('0111010', '1000101'), 0.0),
(('1000101', '0000000'), 0.0)
不同位位置处的值可以是相互依赖的,即表示状态的位串的位置x处的值可以影响该状态的位串中另一个位置y处的值。但是,我不知道不同位位置的值如何相互依赖。
我想将最多 t 步的状态序列作为输入,例如 ,[0111111, 1111110, 1111110, 1111011, 1101110, 1111111, 1111101]
并想预测第 (t+1) 步的状态。
到目前为止,我已经分别考虑了每个位位置的 Viterbi 算法和状态位串的整数值的 Seq2Seq 模型。但是,我认为它们没有解决不同位位置相互依赖的可能性,也没有利用我计算的转换矩阵。
这个问题似乎很常见,但由于在社会研究领域,我可能不太熟悉任何解决此类问题的现有算法。您能否建议我在给定场景中应用一个好的算法或模型?此外,如果您能指导我使用任何可以帮助我使用的可用 Python 库,我们将不胜感激。