通过高斯混合模型从信号数据中检测模式?

信息处理 周期性的 传感器 频谱估计
2022-01-09 08:59:22

我是机器学习新手。

我有由多个传感器生成的传感器数据。

数据是一系列“时间”。(它没有标记,换句话说,我不知道哪个传感器生成哪个“时间”)。

并且每个传感器基本上都会周期性地产生数据,但有时也会产生其他数据。

例如,有两个传感器(传感器 A 每 2 秒生成一个“时间”,传感器 B 每 5 秒生成一个“时间”。)。

那么数据可以是:{2.1, 4.3, 5.2, 6.1, 7.9, 9(来自其中一个传感器的噪声),10.1, 10.2} ....(有一些噪声)

我想知道的是,当给出另一个数据时,有可能知道相同的传感器生成它吗?(我们知道那个时期)

我应该使用什么方法?

我找到了高斯混合模型。我有权使用它吗?

谢谢。

2个回答

如果数据本质上是循环的,那么最好的方法就是使用它的频谱。

您可以轻松地构建一个系统来检查数据子集以定期验证,并且一旦您建立了您的组,检查新数据的亲和力就很容易 - 将其添加到每个系列中。它应该属于在频率上产生较少传播的那个(即,它遵循周期)。

您可能想查看 Kevin Murphy 的 Bayes Net Toolbox BNT。我用它在标记数据上使用 EM 算法训练 HMM 高斯混合模型。隐藏层是混合比例。我对其中一个示例做了一些修改,效果很好。BNT 唯一的缺点是它不是在积极开发中,并且是为 Matlab 版本 5 编写的,最新的 Matlab 有一些问题。大多数不兼容的问题已被修补,但仍有一些。还有其他贝叶斯网络应用程序,但我认为 BNT 是唯一一个精确推理(J 树)支持高斯混合的应用程序。使用贝叶斯网络结构的好处是您可以使用它来分类和模拟数据。