我有一个数据管道系统,所有事件都存储在 Apache Kafka 中。有一个事件处理层,它使用并转换该数据(时间序列),然后将生成的数据集存储到 Apache Cassandra 中。
现在我想使用 Apache Spark 来训练一些机器学习模型来进行异常检测。这个想法是对过去的数据运行 k-means 算法,例如一天中的每一小时。
例如,我可以选择下午 4 点到 5 点之间的所有事件并为该时间间隔构建模型。如果我应用这种方法,我将得到正好 24 个模型(每个小时的质心)。
如果算法运行良好,我可以将间隔的大小减少到例如 5 分钟。
这是对时间序列数据进行异常检测的好方法吗?