一种时间序列异常点检测方法及装置制造方法及图纸

技术编号:19388911 阅读:45 留言:0更新日期:2018-11-10 02:02
本发明专利技术涉及数据处理技术领域,提供了一种时间序列异常点检测方法及装置,该方法包括:通过训练集训练时间序列的回归模型;根据训练得到的回归模型及输入的当前时刻前一段的时间序列预测当前时刻序列值,并根据预测得到的当前时刻序列值对观测得到的当前时刻序列值进行异常检测;根据异常检测的结果,在观测得到当前时刻序列值被认为是异常时,使用预测得到的当前时刻序列值替换观测得到的当前时刻序列值,并继续对时间序列的下一时刻进行异常点检测。本发明专利技术在时间序列点异常的检测任务中,采用回归预测的方法,利用预测值替换异常值,尽可能地降低预测的偏差,提高检测的准确率。

A method and device for detecting outliers in time series

The invention relates to the technical field of data processing, and provides a method and device for detecting outliers in time series. The method includes: training the regression model of time series through training set; predicting the current time series value according to the regression model obtained from training and the time series before the current time input, and predicting the current time series value according to the prediction. According to the results of anomaly detection, when the current time series value is considered abnormal, the current time series value is replaced by the predicted current time series value, and the next time series value is continued. Detection of outliers at a time. In the detection task of time series point anomaly, the method of regression prediction is adopted, and the prediction value is used to replace the anomaly value, so as to reduce the prediction deviation as much as possible and improve the detection accuracy.

【技术实现步骤摘要】
一种时间序列异常点检测方法及装置
本专利技术涉及数据处理
,尤其涉及一种时间序列异常点检测方法及装置。
技术介绍
时间序列是按时间先后顺序收集的数值型数据序列,它广泛存在于金融、工业、商业、医疗、气象等领域中。股票交易所中随时间变化的股票价格、工厂中各种传感器采集的数据、商店每个月的商品销售量、患者的心电图、某地区的降水量等数据都是时间序列。传统的数据挖掘中,异常值可能会被当作噪声剔除掉,以免影响数据挖掘的结果。然而在某些情形中,异常值包含了重要的信息,挖掘和分析异常值,能得到很多有用的知识。如地震数据中,异常值可能是一次地震的前兆;工厂中传感器数据的异常,可能表示着系统中某个部分出现了故障,及时发现异常并对系统故障进行维修,减少损失;生产线中零件进行一系列加工步骤时的检测值构成时间序列,检测其中的异常,可以判断每个步骤是否合格、最终加工的零件是否合格,进而指导生产,提高合格率。因此,时间序列中的异常检测具有重要的研究意义。目前,对于时间序列异常值检测的方法大致分为以下几种:(1)采用统计模型,估计模型参数的预测方法;该方法假设时间序列具有平稳性,这种假设很强,大多数的时间序列都不符合这种假设;而且参数估计的过程也较为复杂。(2)k-邻近方法;该方法难以定义时间序列中的“距离”概念,导致效果较差。(3)滑动窗口统计值方法;该方法较为简单,通过滑动窗口内的统计信息,如平均数、中位数等,对下一个点做出预测,但是不适合变化幅度较大、有趋势或周期的数据。(4)边界矩形方法;该方法以时间序列关键点进行分割,计算分割后矩形的信息,如长度、高度变化值等,判断此矩形是否异常。但是对点异常的检测效果不好。(5)指数平滑方法;该方法利用之前的观测值进行加权计算,利用到了之前所有的数据。但是预测值有滞后性,无法及时反应出变化。(6)回归预测方法。该方法是较为流行的策略,它使用已有数据产生预测值,与观测值比较,若相差大于阈值则为异常值。这种方法适用于周期性强、趋势变化不大的数据。然而,在实际的分析中,会存在这种情况。在有变化趋势和周期性的数据中,观测到了连续的异常值,此时回归方法将通过计算异常值来产生预测值。异常值参与预测,会导致预测值出现更大的偏差,导致产生更多的误报。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的方法中会有异常值参与预测进而导致预测偏差大的缺陷,提供了一种时间序列异常点检测方法及装置,可以利用替换策略,对预测为异常的值进行替换,替换为模型预测值,以尽可能地降低预测的偏差。为了解决上述技术问题,本专利技术提供了时间序列异常点检测方法,包括:1)通过训练集训练时间序列的回归模型;2)根据训练得到的回归模型及输入的当前时刻前一段的时间序列预测当前时刻序列值,并根据预测得到的当前时刻序列值对观测得到的当前时刻序列值进行异常检测;3)根据异常检测的结果,在观测得到当前时刻序列值被认为是异常时,使用预测得到的当前时刻序列值替换观测得到的当前时刻序列值,并转步骤2)继续对时间序列的下一时刻进行异常点检测。可选地,所述根据预测得到的当前时刻序列值对观测得到的当前时刻序列值进行异常检测,包括:判断预测得到的当前时刻序列值与观测得到的当前时刻序列值之间的差值是否大于预设阈值,是则认为观测得到的当前时刻序列值异常,否则认为观测得到的当前时刻序列值正常。可选地,所述步骤1)中还包括:计算训练集的标准差σ;所述步骤2)中使用的预设阈值通过以下公式确定:D=3σ;其中D为所述预设阈值,σ为训练集的标准差。可选地,所述步骤3)中在观测得到的当前时刻序列值被认为是正常时,不更改时间序列中观测得到的当前时刻序列值。可选地,所述步骤2)中输入的当前时刻前一段的时间序列通过以下方式确定:设当前时刻为t=index,则当前时刻前一段的时间序列为[Sindex-k-1,…,Sindex-1],其中Sindex-k-1为第index-k-1时刻序列值,Sindex-1为第index-1时刻序列值,k为回归模型输入长度。本专利技术还提供了一种时间序列异常点检测装置,至少包括:模型训练单元、异常检测单元和异常替换单元;所述模型训练单元,用于利用训练集训练时间序列的回归模型;所述异常检测单元,用于根据训练得到的回归模型及输入的当前时刻前一段的时间序列预测当前时刻序列值,并根据预测得到的当前时刻序列值对观测得到的当前时刻序列值进行异常检测;所述异常替换单元,用于根据异常检测的结果,在观测得到当前时刻序列值被认为是异常时,使用预测得到的当前时刻序列值替换观测得到的当前时刻序列值,并启动异常检测单元继续对时间序列的下一时刻进行异常点检测。可选地,所述异常检测单元判断预测得到的当前时刻序列值与观测得到的当前时刻序列值之间的差值是否大于预设阈值,是则认为观测得到的当前时刻序列值异常,否则认为观测得到的当前时刻序列值正常。可选地,所述模型训练单元还用于计算训练集的标准差σ;所述异常检测单元中使用的预设阈值通过以下公式确定:D=3σ;其中D为所述预设阈值,σ为训练集的标准差。可选地,所述异常替换单元在观测得到的当前时刻序列值被认为是正常时,不更改时间序列中观测得到的当前时刻序列值。可选地,所述异常检测单元输入的当前时刻前一段的时间序列通过以下方式确定:设当前时刻为t=index,则当前时刻前一段的时间序列为[Sindex-k-1,…,Sindex-1],其中Sindex-k-1为第index-k-1时刻序列值,Sindex-1为第index-1时刻序列值,k为回归模型输入长度。实施本专利技术实施例提供的时间序列异常点检测方法及装置,至少具有如下有益效果:本专利技术在时间序列点异常的检测任务中,采用回归预测的方法,预测过程中利用预测值替换异常值,尽可能地降低预测的偏差;在具有周期性、固定变化趋势的数据上,降低异常值对后续检测的影响,以降低误报率,尽可能提高检测的准确率。进一步地,本专利技术采用3σ准则,将训练数据中的3倍标准差作为阈值,可以较好地判断异常值,在该阈值选择下,可以很好地识别异常点,并对异常值进行替换。附图说明图1是本专利技术实施例一所提供时间序列异常点检测方法的流程图;图2是本专利技术实施例三所提供时间序列异常点检测方法的流程图;图3是本专利技术实施例四所提供时间序列异常点检测装置的示意图。图中:301:模型训练单元;302:异常检测单元;303:异常替换单元。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一如图1所示,本专利技术实施例提供的时间序列异常点检测方法,可以包括以下步骤:步骤S101:利用训练集T训练时间序列的回归模型;步骤S102:根据训练得到的回归模型及输入的当前时刻前一段的时间序列预测当前时刻序列值,并根据预测得到的当前时刻序列值对观测得到的当前时刻序列值进行异常检测。优选地,该步骤S102中判断预测得到的当前时刻序列值与观测得到的当前时刻序列值之间的差值是否大于预设阈值,是本文档来自技高网
...

【技术保护点】
1.一种时间序列异常点检测方法,其特征在于,包括:1)通过训练集训练时间序列的回归模型;2)根据训练得到的回归模型及输入的当前时刻前一段的时间序列预测当前时刻序列值,并根据预测得到的当前时刻序列值对观测得到的当前时刻序列值进行异常检测;3)根据异常检测的结果,在观测得到当前时刻序列值被认为是异常时,使用预测得到的当前时刻序列值替换观测得到的当前时刻序列值,并转步骤2)继续对时间序列的下一时刻进行异常点检测。

【技术特征摘要】
1.一种时间序列异常点检测方法,其特征在于,包括:1)通过训练集训练时间序列的回归模型;2)根据训练得到的回归模型及输入的当前时刻前一段的时间序列预测当前时刻序列值,并根据预测得到的当前时刻序列值对观测得到的当前时刻序列值进行异常检测;3)根据异常检测的结果,在观测得到当前时刻序列值被认为是异常时,使用预测得到的当前时刻序列值替换观测得到的当前时刻序列值,并转步骤2)继续对时间序列的下一时刻进行异常点检测。2.根据权利要求1所述的方法,其特征在于,所述根据预测得到的当前时刻序列值对观测得到的当前时刻序列值进行异常检测,包括:判断预测得到的当前时刻序列值与观测得到的当前时刻序列值之间的差值是否大于预设阈值,是则认为观测得到的当前时刻序列值异常,否则认为观测得到的当前时刻序列值正常。3.根据权利要求2所述的方法,其特征在于:所述步骤1)中还包括:计算训练集的标准差σ;所述步骤2)中使用的预设阈值通过以下公式确定:D=3σ;其中D为所述预设阈值,σ为训练集的标准差。4.根据权利要求2所述的方法,其特征在于,所述步骤3)中在观测得到的当前时刻序列值被认为是正常时,不更改时间序列中观测得到的当前时刻序列值。5.根据权利要求1所述的方法,其特征在于,所述步骤2)中输入的当前时刻前一段的时间序列通过以下方式确定:设当前时刻为t=index,则当前时刻前一段的时间序列为[Sindex-k-1,…,Sindex-1],其中Sindex-k-1为第index-k-1时刻序列值,Sindex-1为第index-1时刻序列值,k为回归模型输入长度。6.一种时间序列异常点检测...

【专利技术属性】
技术研发人员:王宏志李子珏高宏万晓珑
申请(专利权)人:哈尔滨工业大学
类型:发明
国别省市:黑龙江,23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1