隐马尔可夫模型

时间:2015-06-12 19:27:34

标签: matlab hidden-markov-models

我是Matlab的家庭用户,所以我无法访问所有MatLab工具箱,但我不反对一次购买一次。我目前正在使用另一块免费软件(VarScreen)来生成隐马尔可夫模型。该工具将许多向量作为输入数据,以及我认为可能存在于状态HMM中的状态数。在这种情况下,我给它5个输入向量,一个目标向量,并告诉它使用2个向量创建一个模型3状态。它选择了它认为最好的2个向量,生成了一个模型并返回了以下内容:

Specifications of the best HMM model correlating with RETURN_1D...

Means (top number) and standard deviations (bottom number)

State         CCMA_13           CCMA_89

   1        -11.96117          -7.22653
             21.46392          23.05265

   2         18.24447           7.26517
             18.36591          21.69893

   3          2.75350          12.63285
             20.37755          17.43237

Transition probabilities...

         1        2        3
  1   0.9913   0.0087   0.0000
  2   0.0073   0.9843   0.0084
  3   0.0015   0.0032   0.9952

Further properties of each state...
  Percent of cases state is highest (tied cases are ignored)
  Correlation of state probability with target
  Mean of target when in this state (tied cases are ignored)
  Standard deviation of target when in this state (tied cases are ignored)

State     Percent    Correlation   Target mean   Target StdDev

  1         26.92      -0.08378      -0.18628        2.27240
  2         26.11       0.06865       0.24341        1.53242
  3         46.98       0.01524       0.09744        1.52846

据我所知,免费工具只使用矢量生成HMM。生成相关性,查看状态如何与目标矢量匹配。这些结果至少是对我提供的财务数据的潜在合理看法(27%看跌,26%看涨,47%持平)但我实际上并未试图在任何地方使用该模型来确定它是否真的提供任何价值

无论如何,这里的问题是我将如何使用MatLab本身或者统计数据来做类似的事情。机器学习工具箱? (或者任何其他工具箱)我可以在循环中选择5个向量中的2个,但是阅读hmmgenerate / hmmtrain / etc等在线帮助文​​件。还没有点击我关于如何生成模型的信息。

谢谢!

1 个答案:

答案 0 :(得分:1)

这个答案可能会有点晚,但对于看这个帖子的其他人来说可能会有用。

Matlab本身目前没有任何内置的HMM熟练工具箱。它只包括一些基本功能,如hmmtrain,hmmestimate或hmmviterbi。但是,只要你想调整你的模型,这些功能就不够了。

话虽如此,有一个优秀的Matlab工具箱由Kevin Murphy教授开发,您可以在其早期版本中找到:http://www.cs.ubc.ca/~murphyk/Software/HMM/hmm.html,其中包含一个非常好的“如何使用”完成。此工具箱稍后进行了改进,所有文件都可在以下位置找到:https://github.com/probml/pmtk3

如果您愿意深入了解该理论,我给您的第一个链接还包括一些有用的读物​​。

希望这有帮助!