有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

基于java增量模型的离群点检测

我正在处理流数据(使用Java和Apache Flink),我想执行异常值检测。我有一个网络,每个传感器接收一个流。 然后,他们将其流的采样版本发送到“leader”节点,该节点组合所有采样并生成一个全局模型

然后,它将全局模型发送给每个孩子。孩子们将使用这个模型来检测异常值。 这必须以连续的方式发生(即,每次领导者接收到x个样本时,它都会更新模型并进行广播)

我在论文/方法中遇到的问题是,为了构建模型,我需要所有的数据,而这是不可能的。对于领导者来说,存储其收到的所有样本也是不可行的

我正在写一个小例子:

传感器A接收一些数据并将其发送给领导者

传感器B接收一些数据并将其发送给领导者

领导者使用接收到的值来构建一个广播的模型

两个传感器接收其他数据,对于每个值,它们使用接收到的模型来执行异常值检测。 然后他们将新数据发送给领导

领导者更新模型并将新更新的模型发送给孩子们

我可以使用哪种方法来获得这种行为


共 (1) 个答案

  1. # 1 楼答案

    实现这一点的一种方法是让领导者将模型更新写入卡夫卡主题,并让a和B从卡夫卡读取这些模型更新(除了传感器流)

    更新:

    检测异常值/异常的一个非常简单的算法是t-digest(是的,它是增量工作的)This page from mapr将引导您获得更多信息