基于相位的时间序列事件检测

2 投票
1 回答
1661 浏览
提问于 2025-04-18 18:29

我有一组很大的时间序列数据(一个一维的浮点数数组),它代表了各种事件。相似的事件有相似的阶段。不过,我不知道在这段时间内发生了多少个事件。有没有可能写一个程序(最好是用Python)来识别出这些相似的阶段,这些阶段代表了相同的事件(可以通过给它们上色来区分)。

最后,我想根据时间戳绘制这组时间序列数据,每个阶段用不同的颜色表示(根据它们的事件)。

任何帮助都非常感谢。

谢谢

1 个回答

2

听起来你可能需要用一种叫做聚类算法的方法,来搞清楚一个组在哪里结束,另一个组在哪里开始。K均值聚类非常简单,如果你对Python有点了解,可能几个小时就能自己写出一个实现。

幸运的是,scikit的开发者们已经提供了一些很棒的实现。其中一个可能正好符合你的需求。再说一次,K均值是最简单的,你可以先从这个开始,等你熟悉了再说。

撰写回答