我正在尝试在现有的Java应用程序中集成一个异常检测模块,以允许用户从不同的算法和预测模型中进行选择。
Egads库看起来相当乐观,但我并不确定它是否适合我的需求。如果有新数据进来,我应该存储并更新现有模型,还是需要再次传递所有数据。此外,如果我想预测15分钟的时间窗口,仅传递15分钟的数据,结果肯定不会精确。
可能还有其他有用的技术,有人可以分享他们在类似任务中的经验吗?不幸的是,我找不到其他用于此目的的Java库。
回答:
我发现我们不能存储最初训练的模型并将其应用于任何传入的数据,一旦初始时间序列发生变化,就会抛出异常。因此,这里的唯一可能的选项是每次有新数据进来时都重新训练模型,幸运的是,这对我们的系统性能影响不大。
库本身看起来不错,可以作为构建异常检测系统的基础,但它仍然不如Python的竞争对手那么灵活,不过它是开源的,可以根据您的需求随时进行修改。