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

Python 基于时间序列数据的基于相位的事件检测,python,numpy,time-series,cluster-analysis,data-mining,Python,Numpy,Time Series,Cluster Analysis,Data Mining,我有一个表示各种事件的大型时间序列数据(1D浮点数组)。相似的事件有相似的阶段。然而,我不知道在这段时间内发生了多少事件。是否可以编写一个程序(最好是python)来识别表示相同事件的类似阶段(可以通过着色来识别) 最后,我想根据时间戳绘制时间序列数据,每个阶段的颜色不同(基于它们的事件) 任何帮助都不胜感激 谢谢听起来您可能需要使用聚类算法来确定一个组的结束位置和另一个组的开始位置。非常简单,而且,如果您有使用Python的经验,您可能可以在几个小时内自己编写一个实现 幸运的是,scikit背

我有一个表示各种事件的大型时间序列数据(1D浮点数组)。相似的事件有相似的阶段。然而,我不知道在这段时间内发生了多少事件。是否可以编写一个程序(最好是python)来识别表示相同事件的类似阶段(可以通过着色来识别)

最后,我想根据时间戳绘制时间序列数据,每个阶段的颜色不同(基于它们的事件)

任何帮助都不胜感激


谢谢

听起来您可能需要使用聚类算法来确定一个组的结束位置和另一个组的开始位置。非常简单,而且,如果您有使用Python的经验,您可能可以在几个小时内自己编写一个实现


幸运的是,
scikit
背后的人已经提供了一些。其中一个可能适合你的需要。同样,k-means是最简单的,你可能想从它开始,直到你对它有了感觉

如果您可以通过查看数据轻松地识别阶段,那么很可能可以编写一个程序来实现这一点。你能想出什么规则来识别不同的阶段?你能用一些样本数据来缩小问题的范围,并确定哪些步骤给你带来了麻烦吗?这个问题与你的另一个问题密切相关吗?@Justin,通过查看数据是不可能确定数据的,并且存在一些突发的快速变化,这些变化属于异常值,需要消除。例如数据=[.04.05.06 4.3.2.01.03 1.2 1.5 1.6]。这里我们可以看到4.3、3.2是异常值,应该消除。是的,我用收集的数据集尝试了k-means,但它无法提取相位。信号振幅可以测量相位变化。在exmaple数据中应该有两个相位。如果需要更多详细信息,请告诉我。塞纳克斯!对我来说,这听起来更像是一个一维信号处理问题,而不是聚类/数据挖掘问题,尽管如此,您已经包含了非常有限的关于信号性质的信息,这使得很难辨别或帮助您。该项目是
scikit learn
。有很多
scikit
s:@WarrenWeckesser,谢谢你的链接!这非常有帮助。