我有一些时间序列数据,让我们说模型看起来像这样:
data {
date: Date,
greenPoint: Double,
redPoint: Double,
anomalyDetected: Boolean
}
假设如果红点低于特定阈值,我想将其标记为异常。
我可以轻松加载这个数据集(我使用带有弹性的Spark SQL,所以我在这里使DataFrame更具体)并将某些数据标记为异常,但是如何在此之后对它们进行分组,或者至少计数检测到多少异常?
如果我能以某种方式向每个异常添加一些唯一ID(在异常标志发生变化时生成),那么我甚至可以在Elastic查询中轻松地对它们进行分组。 在这些分组数据中开始异常日期和结束异常日期也会很棒。
基本上我的目标是在下面的例子中检测五个不同的异常(用红色标记)并标记原始数据以便轻松地将它们分组并在UI上显示或生成列表包含五个元素(五个异常,还有一些其他字段,如start和结束日期等。)。