我有一个带有开/关数据的二进制时间序列数据集。on通常是短暂的,因此看起来像一个峰值。这就是它的样子。
我已经检测到了峰值,并提取了峰值之间的时间间隔,并且也有数据(底部的红色小双向箭头)。问题是,可以看出,峰值是聚集的,我想对突发大小(集群中的峰值数量)、突发间隔(第一个集群的最后一个峰值和最后一个集群的第一个峰值之间的距离)、突发数量等进行量化。
一旦确定了集群,所有这些都很容易做到。这可以通过将峰间间隔阈值设置为大于某个值来轻松实现。但是我所有的数据都没有这样定义明确的集群,并且间歇间隔变化很大。有些数据集甚至没有集群。因此,我在这里的主要问题是基于一些自动和相对(非固定)阈值来识别集群。
谁能帮我一个同样的算法吗。
你的问题的答案是:没有。没有人能(现在)帮你找到你想要的算法。
问题是你没有什么好的量化。当您无法识别集群是什么时,您需要一种可靠的算法来识别集群。
我之前写过一个答案,建议你看看从一个峰值到下一个峰值的比率。如果比率高于某个阈值,那么它是簇间间隙,否则它是簇内间隙。这是可行的,但仍有一个门槛。
问题是——你需要一个。你不能只盯着每个图表说“哦,有一个簇。”如果不定义集群,则无法识别集群。有一些方法可以使你的阈值更通用;比率是一种更简单的方法,可以避免缩放问题,通常是有效的。你可以看看滚动平均值。有各种各样的方法来处理数据,但是在其中的某个地方,你必须定义你想要什么。即使你训练了一些人工智能,理想情况下,你也应该用一个固定的标准来衡量什么是集群,什么不是集群。一旦你有了固定的标准,你就不需要人工智能了。
因此,定义一个集群。一旦你能量化集群对你意味着什么,你就可以为它制定一个算法。
从回答以下问题开始:
如果有帮助的话,看看这些简化的图来帮助你找到答案。你能为每一个定义一个集群吗?
..||.|.|.|.||
|.|.|.|.|.|.|
||..||..||..|
||....||....|
|...||||.....
更新:到目前为止,性能最好的算法就是这个。 这个问题探索了检测实时时间序列数据中突然峰值的鲁棒算法。 考虑下面的示例数据: 此数据的示例为Matlab格式(但此问题与语言无关,而与算法有关): 你可以清楚地看到有三个大峰和一些小峰。此数据集是问题所涉及的timeseries数据集类的一个特定示例。此类数据集具有两个一般特征: 存在具有一般平均值的基本噪声 存在明显偏离噪声的大“峰值”或“更高数据点
我正在使用一个数据集,其中包含与相结合的度量值,例如: 我试图检测和删除可能出现的潜在峰值,如度量值。 到目前为止,我发现了一些东西: > 这个数据集的时间间隔从15秒一直到25分钟,这使得它非常不均匀 峰的宽度无法事先确定 峰值高度与其他值明显偏离 时间步长的标准化只应在去除异常值后进行,因为它们会干扰结果 由于其他异常(例如,负值、平线),即使没有这些异常,也“不可能”使其变得均匀,因为峰值会
谁会有一个好的算法来使用Swift(v3)测量不断增长的时间序列数据的峰值?因此,在数据流入时检测峰值。 例如,平滑z波算法的快速版本。那个算法似乎是合适的。 我需要检测如下所示的峰值。数据包含正数和负数。输出应该是峰值的计数器,和/或该特定样本的真/假。 示例数据集(上一系列的摘要): 最新消息:感谢Jean Paul首次提供Swift端口。但不确定z-wave算法是否适合此数据集
我一直试图实时检测正弦时间序列数据中的峰值,但迄今为止没有成功。我似乎找不到一种能够以合理的精度检测正弦信号峰值的实时算法。我要么没有检测到峰值,要么正弦波上有无数个点被检测为峰值。 对于类似正弦波且可能包含一些随机噪声的输入信号,什么是好的实时算法? 作为一个简单的测试案例,考虑一个稳定的正弦波,它总是相同的频率和振幅。(确切的频率和振幅并不重要;我任意选择了60赫兹的频率,振幅为/− 使用Je
问题内容: 我正在帮助兽医诊所测量狗爪下的压力。我使用Python进行数据分析,现在我被困在试图将爪子分成(解剖)子区域。 我制作了每个爪子的2D数组,其中包含爪子随时间推移已加载的每个传感器的最大值。这是一个爪子的示例,我使用Excel绘制了要“检测”的区域。这些是传感器周围具有最大最大值的2 x 2框,它们的总和最大。 因此,我尝试了一些实验,并决定只寻找每一列和每一行的最大值(由于爪子的形状
$k$均值聚类算法(k-means clustering algorithm) 在聚类的问题中,我们得到了一组训练样本集 ${x^{(1)},...,x^{(m)}}$,然后想要把这些样本划分成若干个相关的“类群(clusters)”。其中的 $x^{(i)}\in R^n$,而并未给出分类标签 $y^{(i)}$ 。所以这就是一个无监督学习的问题了。 $K$ 均值聚类算法如下所示: 随机初始化(