我的问题如下:我需要对来自传感器的数据流进行分类。我已设法使用。获得基线 窗口的中位数和I减去该基线的值(我想避免负峰值,所以我只使用差值的绝对值)。
现在我需要区分一个事件(=触发传感器的东西)和基线附近的噪声:
问题是我不知道使用哪种方法。 我想到了几种方法:
(不幸的是,这些方法的缺点是我需要猜测阈值并设置窗口大小)
你会建议什么?是否有更好/更简单的方法来完成这项任务?
我知道存在许多复杂的算法,但我对可能是最好的方法感到困惑 - 请对没有机器学习/ DSP背景的新手有一点耐心:)
非常感谢和最诚挚的问候。
答案 0 :(得分:1)
评估启发式的关键是开发一个系统行为模型。
例如,您正在监控的物理过程的模型是什么?例如,您是否希望您的样本在时间上相关?
传感器输出的型号是什么?可以将其建模为例如电压的离散线性函数吗?有噪音成分吗?噪声的大小是已知的还是未知的但是不变?
一旦列出了您正在监控的系统知识,就可以使用它来评估和确定一个好的分类系统。然后,您还可以估算其准确性,这对分类器输出的消费者非常有用。
修改强>
鉴于更详细的描述,我建议尝试一些简单的行为模型,这些模型可以在转向通用监督学习启发式之前使用经典技术解决。
例如,假设:
基线,事件阈值和噪声幅度都是先验已知的。
基础流程可以建模为马尔可夫链:它有两种状态(关闭和打开),它们之间的转换时间呈指数分布。
然后,您可以使用隐马尔可夫模型方法确定任何给定时间最可能的基础状态。即使噪声参数和阈值未知,您也可以使用HMM前后训练方法来训练与每个状态的输出相关的参数(例如,高斯的均值,方差)。
如果您对事件了解得更多,可以采用更简单的方法:例如,如果您知道事件信号总是达到基线+噪声之上的水平,并且事件总是在时间上由如果间隔大于事件本身的宽度,则可以进行简单的阈值测试。
修改强>
HMM的经典介绍是Rabiner's tutorial(copy can be found here)。相关的还有these errata。
答案 1 :(得分:1)
根据您的描述,正确参数化的移动平均线可能就足够了
其他一些提示