自动检测时间序列数据的异常情况

2022-08-03 16:13:58仲婉世
导读 公司收集的大量数据使得分析和收集洞察力变得具有挑战性。机器学习极大地加速了时间序列数据分析,以便公司能够理解并根据他们的时间序列数

公司收集的大量数据使得分析和收集洞察力变得具有挑战性。机器学习极大地加速了时间序列数据分析,以便公司能够理解并根据他们的时间序列数据采取行动,以推动重大的创新和改进。

目前的估计预测,到2025年将有超过1万亿个传感器可用,生成时间序列数据。为了帮助企业处理所有这些数据,专门研究人工智能(AI)和时间序列数据的法国科技公司Ezako创建了Upalgo平台。Upalgo是一个SaaS平台,它将机器学习应用于时间序列数据,通过自动化异常检测和标记过程,然后迭代这些过程以改进数据模型,使其更加有用和高性能。

该公司主要服务于航空航天、汽车和电信行业,但可以服务于处理大量传感器、遥测和物联网(IoT)数据的任何垂直行业。

InfluxData是开源时间序列平台InfluxDB的创建者,它使开发人员能够更快地构建变革性监控、分析和物联网应用程序并进行扩展。该平台处理物联网设备、应用程序、网络和容器产生的海量时间戳数据。

Upalgo平台依赖InfluxDB作为其数据存储。该公司在发现InfluxDB之前尝试了多种选择,包括关系数据库、NoSQL数据库以及Hadoop和OpenTSDB的组合,它们本质上是一个NoSQL数据库,对时间序列数据进行了一些调整。

这些解决方案都没有提供处理Upalgo所需的时间序列数据的速度和功能。关键的决策因素包括InfluxDB的窗口功能和活跃的开发者社区。Ezako团队将此视为从同一领域的工作人员那里获得时间序列特定问题帮助的关键资源。使用InfluxDB使Ezako的数据科学家能够专注于数据科学和机器学习,而不是时间序列存储。

作为高级概述,Upalgo平台从将数据发送到InfluxDB的数据收集API开始。由于Upalgo需要与许多不同的系统交互,Ezako团队构建了一个RESTAPI,作为一个通用层,可以轻松连接到其他技术堆栈。通过该API层,UpalgoUI可以从InfluxDB中查询数据以进行可视化。机器学习处理层可以访问相同的数据进行分析,并将处理后的数据写入InfluxDB存储桶,以进行更深入的分析和微调数据模型。

即使InfluxDB作为Upalgo平台的核心,在将机器学习应用于时间序列数据时仍然存在一些固有的挑战。

一是连续数据摄取。系统全天候收集数据,从根本上说,这会消耗一定量的处理资源。机器学习从业者需要保持对这种资源消耗的认识,并将其纳入将同时运行的其他流程中,以便他们可以优化连续和非连续工作负载,以提供预期的用户体验。

与第一个挑战相关的是阅读密集型学习过程。构建数据模型需要大量数据,这意味着非常大的读取操作。最重要的是,学习过程需要快速,同时与其他过程共享资源。这就是RESTAPI发挥作用的地方,因为它将任何读取问题整合到一个技术层中,无论在其上运行什么进程或系统。

异常检测

Upalgo平台的主要功能之一是异常检测。该平台为建模和异常检测提供了许多不同的算法,因此用户可以为他们的数据和业务目标选择最佳选项。

然而,无论算法如何,机器学习都需要大量数据。例如,要开始使用一类SVM或隔离森林算法构建异常检测模型,您至少需要100万个数据点。在60点窗口上计算特征,这是标准的秒或小时,会产生15,000个窗口供算法学习。实际上,这并不多,这只是一个系列的因素。

包含多个系列的模型需要为每个附加系列增加一百万个数据点。因此,包含三个系列的模型需要300万个数据点才能生成基本模型。有些算法需要更多的数据。长短期记忆(LSTM)算法需要学习原始数据的特征,这意味着在学习阶段需要5到1000万个数据点。

异常检测的一个重大挑战是缺乏数据的基线真实性。因此,可能会出现误报和误报。为了减轻这些异常情况,机器学习算法需要更多关于数据的信息。这就是标签的用武之地。

使用机器学习标记数据

标签是数据集上的额外信息。标签帮助算法更多地了解数据,从而使用户能够用它做更好的事情。标签可以帮助机器学习的一种方法是从数据集中删除异常。这有助于为数据建立更真实的基线。

标记大型数据集是一项巨大的时间投入。这也是训练机器学习算法的一个关键方面,因此数据科学家花费大量时间标记数据。Upalgo自动识别异常,使数据科学家更快、更轻松地找到他们需要标记的东西。

该平台的标签功能还允许用户手动识别数据集中的多个标签。然后它使用AI来检查该系列的其余部分并找到类似的模式。这会生成更多标签,从而产生更多关于系列的信息,以及更准确的数据模型。

使时间序列数据计数

在整个异常检测和标记过程中,Upalgo为使用InfluxQL从InfluxDB查询数据的用户生成数据可视化,因为它可以快速返回大型数据集。

Ezako致力于改进对时间序列数据的机器学习,显着加速了ML数据科学家面临的关键过程。InfluxDB提供的后端功能使Ezako团队能够专注于数据科学,而不是基础设施,并提供客户想要的最终用户体验。

免责声明:本文由用户上传,如有侵权请联系删除!