问题
- 我是否正确假设排放概率不会遵循我的特定问题的高斯分布?
- 显然,我需要训练模型进行状态检测。正如我从这个答案中了解到的那样,我应该使用Baum-Welch 算法,因为我不知道我的模型的发射和转移概率。这个对吗?
- 如何实现将每个数据样本状态“标记”为“收缩”或“舒张”状态,如下所示?我是否正确假设 Baum-Welch 算法会给我一个逐点状态的可能性,我可以用它来实现这种分类?
图例:收缩期= 红色,舒张期= 白色
- 有人可以为我指出此类数据分类/标签任务的示例代码或库吗?我更喜欢 Python 或 Java,但其他任何东西都可以。
问题
我面临的任务是根据动脉线采样得出的时间序列检测心动周期的收缩期和舒张期,如下图所示:
图例:时间 -> 动脉面积(以像素为单位)
经过一番阅读,似乎首选的方法之一是使用隐马尔可夫模型。我还阅读了《黑客的贝叶斯方法》以掌握该主题。从维特比算法的维基百科页面,我将我的问题建模如下:
由于舒张需要大约 2/3 的心动周期时间,因此开始概率是已知的,但我不明白如何计算其余部分并标记我的数据。我找到了这个使用 PyMC 和高斯发射概率的隐马尔可夫模型示例,但我不明白如何使用它,而且文档很少......