当前位置: 首页 > 其他范文 > 其他范文

工业时间序列数据的智能异常检测项目技术方案

作者:Artoria | 发布时间:2023-05-06 15:06:56 收藏本文 下载本文

工业时间序列数据的智能异常检测项目技术方案

1 引言

1.1基本信息

项目名称:

工业时间序列数据的智能异常检测项目

项目类型:

    □新开发项目

文档撰写

1.2目的

针对不同工业长时间序列数据中的异常检测问题,系统能自动根据时间序列数据的特征和异常类型选取合适的异常检测算法,系统根据时间序列数据采集过程中的变换自适应调整算法以保证异常检测的有效和可靠,智能异常检测算法能在无人监督标记情况下正常有效工作,实现自主评价算法效能并自行调整优化算法参数,从而解决实际应用场景中大量工业时间序列数据的智能异常检测。

1.3适用范围

本文档适用于《工业时间序列数据的智能异常检测项目》的全过程。

1.4术语和缩略语

1.异常检测——(Anomaly Detection)是为了发现运维中偏离正常值的异常数据;

2.深度学习——深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示;

3.无监督学习算法——设计分类器时候,用于处理未被分类标记的样本集,目标是我们不告诉计算机怎么做,而是让计算机自己去学习怎样做一些事情。

4.时间序列数据——是在不同时间上收集到的数据,这类数据是按时间顺序收集到的,用于所描述现象随时间变化的情况。这类数据反映了某一事物、现象等随时间的变化状态或程度。

2 系统概述

2.1项目描述

针对不同工业长时间序列数据中的异常检测问题,系统能自动根据时间序列数据的特征和异常类型选取合适的异常检测算法,系统根据时间序列数据采集过程中的变换自适应调整算法以保证异常检测的有效和可靠,智能异常检测算法能在无人监督标记情况下正常有效工作,实现自主评价算法效能并自行调整优化算法参数,从而解决实际应用场景中大量工业时间序列数据的智能异常检测。

项目研制内容:(1)熟悉开发平台功能,数据的获取、算法上传和调用、异常检测结果评价,前期利用人工标记数据异常,验证深度学习算法的有效性;(2)基于SPARK用Scala编程语言实现经典的无监督深度学习算法,并能根据时间序列数据特征自适应调整算法参数,保证满足实际需要;(3)建立大规模时间序列数据的预测模型,能根据数据特征自动选择合适的异常检测算法,尽可能提升数据预测和异常检测性能;(4)建立智能异常检测算法评价体系,可视化方式对异常进行提示报警,现实统计分析和数据挖掘显示结果。

2.2系统流程描述

1. 数据来源

系统中有四类数据源,分别为:Kafka、Restful API、Promethethus、Promethethus Targer数据源。在当前版本中支持添加Kafka类型(流处理类型)数据源和Restful API类型数据源(批处理类型中的一种数据源)。

在采集数据源前,应先通过“bdos-monitoring-connector-1.0.jar”创建采集程序,然后在选取某个数据源进行数据的采集,并将采集到的数据保存到HDFS上。

2. 自定义算法

在添加新算法前,需要对“...Model”接口里的方法重新定义。并且对于使用predict()方法要区分使用场景,定义的模型为时序数据预测模型和非时序数据预测模型,两种模型所传入的参数类型是不同的,因此检测框架需要根据不同算法的类型来调用相应的方法。除了要重载predict()方法,还要对fit()、evaluateFit()、loadModel()、saveModel()、getModelInfo()、getThreshold()方法进行重写,训练的数据从HDFS中加载。

同时,对于输出状态应定义一个对象Entity,其内属性应该包含:数据时间、指标数据值、精确度、召回率和AUC等。

3. 部署算法插件

上传自定义插件程序包;然后调用新增程序接口(其中注意programType为3),并记录新增算法的programId;用programId获取新增自定义算法模型程序的版本ID(programVersionId),程序版本ID值为新增算法模型程序时的程序版本ID。

4. 新增算法的检测

检测程序版本选用系统默认版本programVersionId=2,数据源ID填写成RestFul API数据源,模型ID填写成新增算法模型返回的modelId。通过curl指令来进行新算法的测试。

5. 可视化

使用Web界面来将新算法的一系列操作进行可视化。将源码目录下自定义插件进行打包,然后在系统Web窗口加载对应的jar包即可。

2.3系统功能介绍

BDOS数据质量及异常检测系统,是基于BDOS大数据平台,对BDOS系统上⾯的所有应用系统产生的系统数据,通过其统计值和峰值两个维度的支持对流数据、批数据两种模式的处理,并基于规则或模型(聚类)找出异常点进行告警。系统功能包括以下部分:

1. 系统提供指标数据源同步功能,集成数据源,建立检测对象;

2. 自动检测指标,并提供异常信息,支持两种检测方式:检测模型算法方式,通过数据模型算法(模型周期性训练批处理任务与服务接⼝)检测指标,对指标进行异常计算;数据模型规则检测方式,通过模式规则匹配检测指标,对指标进行计算;

3. 异常指标处理功能,自动/手动方式处理异常告警,回溯处理结果增强模型训练,提升检测质量,计算结果对接告警系统,通过界面展示检测,并对异常进行统计分析及可视化展示。

2.4当前系统模块功能描述

2.4.1管理中心

1.程序

本系统程序包括采集、检测、模型三种类型,当前版本知支持采集、检测两种类型程序的创建。

系统管理员可根据实际需求对相应的程序进行创建,创建的程序可供系统内其他用户使用。

2. 数据源

系统提供用户操作界面,添加指标数据源,数据源可以是消息队列(如Kafka),时序数据库(如Prometheus,Influxdb等)。当前版本知支持添加Kafka类型(流处理类型)数据源和RestfulAPI类型数据源(批处理类型中的一种数据源)。

3. 算法

系统支持算法类型包括:时间序列模型,单指标模型如MAD及复合指标(多指标) 孤立森林算法,系统初始化阶段已对支持的算法进⾏内置,用户可对内置算法进行参数修改和算法说明等更改。当前版本暂不支持用户添加自定义算法。

2.4.2检测中心

1. 创建检测

检测表示指标数据使⽤特定的模型或算法进行计算的组合, 它包含模型的信息,数据源的信息,以及数据源下选择的指标信息。系统支持算法模型的检测⽅式对制定数据源的检测进行创建。

2.检测管理

用户进入本系统后,可在【检测中心-检测管理】界面,查看所有创建的检测列表,包括:检测名称、所属数据源、计算类型、检测周期、训练周期及开始时间等信息。

2.4.3指标中心

1. 指标管理

用户【指标中⼼-指标管理】进入,查看指标数据源数据采集完成后所生成的指标列表及其详细信息。通过规则类型生成的指标,目前不会出现在指标列表当中。

2.指标查看器

用户【指标中心-指标查看器】进入,指标数据源采集完成后,会生成相应的指标名称。用户可通过数据源选择、时间范围选择、便签名称选择,对指标进行查看。

3. 告警检测查看器

告警检测查看器,提供了用户对基于指标而生成的告警进行全局的可视化查看,因为和告警具备强相关联,所以入口指定在告警列表,作为管理员的权限,可以告警中心中的告警列表察看,提供图表查询入口。

2.4.4 告警中心

DQ系统中的算法检测和规则检测会对指标的值进行计算,并对计算的结果进行评估,确定是否有异常产生。当检测出异常状态时,系统需要一种媒介载体和路径选择能力,将异常通知按照约定的形式和匹配的规则,发送⾄指定处理人。

告警接收器是媒介载体,可以是邮件、短信、钉钉、微信等IM⼯具。告警路由实现告警的路径选择能⼒,保证不同类别的告警以约定的方式发送至指定的处理人。

DQ的告警接收器和告警路由是基于Alert Manager的receiver和route配置功能实现的。在传统使用中,一般通过修改AM的配置⽂件,完成告警接收和路由的功能。Story功能流程的设计目标是通过接口或Web界⾯,实现告警通知接收和告警路由的功能。

3项目实施技术思路

3.1系统算法模块功能描述

1. 局部离群因子检测(LOF)

功能描述:LOF算法通过计算每个个体的LOF值,筛选出局部密度较小的异常点,并具有可视化的功能,可将异常数据在图中显示出来。以局部离群因子(LOF)的大小表示个体为离群点的可信度,LOF值越大,个体为离群点的可能性也越大。

2. 长短期记忆网络检测(LSTM)

功能描述:在异常检测中,可以利用采用 LSTM网络对时间序列描述的生产数据进行表示与重建,再与原始数据进行比较来判断是否出现异常。LSTM 的核心由 input、forget、output 三个记忆胞组成,其能在每个时刻编码输入的信息。每个记忆胞的行为由门(gate)控制,控制信息保存与否,若保存则1,否则为0。详细来说,forget gate控制是否保存当前状态的信息,input gate控制是否读取输入信息,output gate控制是否输出新的信息。LSTM模型能够解决对时间长期依赖的问题。

选用LSTM算法对连续且采集频率较高时间序列数据进行处理,当积累数据能在一定时间范围内达到一定量级时,才会选用本算法,实现之后也会衡量LSTM的效果及适用数据类型。

3. 基于聚类的检测(K-means算法)

功能描述:在异常检测中,可以利用聚类技术将具有相似性的对象划分到同一类中,未被成功划分的对象将被识别检测出来,即噪声数据。聚类分析处理数据是根据算法来将数据集划分成不同的簇或类,使得同一个簇对象间的相似性高,不同簇对象间相似性低。K-means算法是一种通过数据对象间的距离进行查找相似属性的聚类算法。聚类后将不在簇内的数据化为异常数据。

本技术方案先选择以上三种异常检测算法进行实现,后期可根据采集数据类型不断丰富,进一步扩充算法种类,以满足DQ系统异常检测的需要。

3.2算法实现细节

(1)LOF实现框图

图3-1 LOF处理框架

该算法的核心思想是通过比较每个个体与其邻域点的密度来判断该个体是否为异常点,若该个体对象的密度越低,则被认定为是异常的可能性越大。从算法的基本原理可以看出,首先要计算数据间第k距离,然后计算出局部样本点的可达距离,再根据可达距离算出局部可达密度,最后就可以得到局部离群因子LOF。这里涉及4个数据的计算,首先是数据间第k距离,然后是局部样本点的可达距离,第三是局部可达密度,最后是局部离群因子。在LOF算法中离群因子是检测一个样本数据点是否为异常点的关键。LOF的计算方法是用某点P的第 k 距离邻域点的局部可达密度与点p自己的局部可达密度之比的平均值。假如 LOF 值越接近1,则表示点p与邻域点密度相近,点p与邻域点同属一簇的可能性较大;若该值越小于1,说明点p的密度比邻域点密度大,P为密集点;若该值越大于1,则说明p的密度小于其邻域点密度,点p是异常点的可能性大。

(2)LSTM实现框图

图3-2 LSTM网络框图

图3-3 LSTM的处理框架

阈值的选定可通过事先规定阈值T,或者采用

Fβ

算子对其进行估计。

LSTM模型是由时刻的输入词

Xt

,细胞状态

Ct

,隐层状态

ht

,遗忘门

ft

,记忆门

it

,输出门

Ot

组成。LSTM的计算过程可以概括为,通过对细胞状态中信息遗忘和记忆新的信息使得对后续时刻计算有用的信息得以传递,而无用的信息被丢弃,并在每个时间步都会输出隐层状态

ht

,其中遗忘,记忆与输出由通过上个时刻的隐层状态

ht1

和当前输入

Xt

计算出来的遗忘门

ft

,记忆门

it

,输出门

Ot

来控制。LSTM模型是由时刻的输入词

Xt

,细胞状态

Ct

,隐层状态

ht

,遗忘门

ft

,记忆门

it

,输出门

Ot

组成。LSTM的计算过程可以概括为,通过对细胞状态中信息遗忘和记忆新的信息使得对后续时刻计算有用的信息得以传递,而无用的信息被丢弃,并在每个时间步都会输出隐层状态

ht

,其中遗忘,记忆与输出由通过上个时刻的隐层状态

ht1

和当前输入

Xt

计算出来的遗忘门

ft

,记忆门

it

,输出门

Ot

来控制。

(3)K-means实现框图

图3-4 K-means处理框架

K-means算法首先从n个数据对象中任意选择k个对象作为初始聚类中心;而对于所剩下的其他对象,则根据他们与这些聚类中心的相似度(距离),分别将他们分配给与其最相似的聚类子簇中。然后再计算每个子簇的新聚类中心。不断重复这一过程,知道标准准则函数开始收敛为止。标准函数定义为:

E=i=1kpCi|pmi|2

其中E为数据中对象的均方差之和;p为代表对象的空间中的一个点;

为聚类

的均值。

3.3 自适应算法选择

自适应异常检测算法选择采取两步进行,第一步根据处理数据类型进行异常检测算法初选;第二步根据异常检测算法性能评价结果,在某一个类别下算法进行最优选取,这样同时利用直接匹配开环和评价结果反馈闭环两种选取模式,既保证快速选取算法的效率条件下又能选取局部最优算法,具体实现思路如下图所示。

数据源分为Kafka、Restful API、Promethethus、Promethethus Targer四类,经过数据的时间尺度特征分析和统计特征计算,将待处理数据进行类别判别,并以判定数据类别作为异常检测算法选取依据,异常检测算法库中算法适用类别提前标记适用数据类型分类,从而初步进行异常检测算法的选取,实现直接匹配开环算法选择功能。

当异常检测算法库中算法足够多时,算法库可根据数据类型和算法分类匹配结果,选择属于同一分类的算法进行最优细选处理,异常检测算法对于输出状态应定义了一个对象Entity,其属性包含:数据时间、指标数据值、精确度、召回率和AUC等,根据比较这一分类算法之间的输出状态结果,从而快速选择出局部最优的算法,由于算法类别与数据类型匹配,此时局部最优可认为是最适合异常检测算法,实现反馈闭环最优算法选择功能。

异常检测算法的输出状态评价结果也将作为算法调参的依据,通过闭环反馈信息,不断调整异常检测算法参数,从而使得检测性能达到最佳。

后期随着算法的不断丰富,考虑到可能统一类别的算法数量增多,为了保证选择算法的效率和节省计算资源,在算法间引入距离概念,在进行反馈闭环算法选取时,只比较算法距离最近的2-3个算法,从而提高效率,当然这个待选取算法的数量可以人工去设置管理。另一方面当某数据经过异常检测算法处理后,最优算法的评价指标达不到某个预先设定的要求时,则可将待选算法从一个类别跳到另一个类别,以确保搜索找到最佳算法。

本技术方案还考虑在将来引入时间序列流数据进行模型预测算法,预测模型将关注HTM、LSSVM、ESN、NARX 和 CBP,采用MAPE 值来评判预测准确性,通过使用混合预测模型提高预测准确性,并初步为算法选择和参数调整提供支持,并联合判断异常错误,本方案执行阶段这部分内容做探索性研究,并不在DQ系统中实现具体功能。

3.4 实时流数据的智能异常检测

为确保算法满足实时流数据的处理要求,优化算法实现效率,进一步降低算运行所需资源并提高执行效率。

在无人工干预下能够满足系统自动处理需要,在检测到数据异常时发出异常报警;也可满足在人工设定的条件下,控制异常报警的敏感程度和报警率范围。

实现异常检测的算法,满足系统平台运行和调用需要,严格按照系统管理中心、检测中心、指标中心、告警中心对数据处理和接口的实现要求,能稳定高效在DQ平台上运行。

4项目实施计划安排

项目实施分为三个阶段进行,每阶段各执行时间为4周,其中每个阶段的任务目标如下:

1. 熟悉线上运行系统及开发环境操作,基于SPARK用Scala编程语言实现经典的无监督深度学习算法;

2. 实现对新数据源的算法自动选择及参数自动设定功能,通过实时建模的方式挖掘出时间序列流数据的运行规律并结合深度学习算法效能评价结果,自动选择算法并改善算法以适应异常检测需要;

3. 支持实时流数据的自动异常检测,完成全部开发文档并按计划测试,通过验收后交付使用。

智能音箱项目可行性方案

公安信息网异常流量监测及入侵检测系统实施技术方案

智能风控项目可行性方案

技术方案 项目实施方案(共3篇)

本文标题: 工业时间序列数据的智能异常检测项目技术方案
链接地址:https://www.dawendou.com/fanwen/qitafanwen/1852295.html

版权声明:
1.大文斗范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《工业时间序列数据的智能异常检测项目技术方案》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。

本栏目阅读排行

    栏目最新

      重点推荐栏目

      关于大文斗范文网 | 在线投稿 | 网站声明 | 联系我们 | 网站帮助 | 投诉与建议 | 人才招聘 | 网站大事记
      Copyright © 2004-2025 dawendou.com Inc. All Rights Reserved.大文斗范文网 版权所有