技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种时间序列异常值校正检测方法及其系统与流程  >  正文

一种时间序列异常值校正检测方法及其系统与流程

  • 国知局
  • 2024-10-09 16:23:42

本发明涉及模拟信号测量,具体涉及一种时间序列异常值校正检测方法及其系统。

背景技术:

1、在工程应用中,大量使用了模拟信号-数字信号转换技术(adc),以便将电压、电流等物理量信号转换为对应的时间序列数字信号,并传输数字信号到信号处理电路。信号处理电路中的数字信号处理电路(中央处理器或现场可编程门阵列芯片fpga)采集数字信号,按照设定程序对数字信号进行进一步的转换与处理。随着高速adc技术的普及应用,在单位时间内会有海量的由模拟信号转换得到的数字信号需要得到处理。在电磁环境复杂、各类干扰严重、被测量模拟信号值较小的使用场景,如:飞机进气道的温度检测,adc的输出数字信号往往因为受到干扰而偏离正常测量值,且偏离值为随机值,无规律可循。如果直接使用这些异常的原始数据信号,将会给计算与控制带来不确定性,使最终的计算结果出现错误。因此,数字信号处理电路在使用这些数字信号前,往往需要进行数字信号清洗,即按照一定算法对原始的数字信号进行计算,筛选并重新生成滤除了异常值的数字信号,然后才能开展下一步的数字信号处理工作。

2、为了滤除时间序列异常值数据,通常使用滤波器算法。目前较为常见的滤波器算法包括:限幅滤波法、平均值滤波法、中位值滤波法、一阶滞后滤波法等。平均值滤波法、中位值滤波法、一阶滞后滤波法一般对偶发性的干扰信号或周期性出现的交流干扰信号有较好的滤波效果,应用也较广泛。这几种方法在实际应用中最突出的问题是鲁棒性较差。当异常值的变化范围较小、变化较慢时,滤波效果较好。如果异常值在发生大幅度的变化,导致数据信号剧烈改变,以上算法的滤波效果就难以满足应用的要求。

技术实现思路

1、针对现有技术中的上述不足,本发明提供的一种时间序列异常值校正检测方法及其系统解决了现有对时间序列异常值的处理方法存在鲁棒性较差,且无法处理当异常值在发生大幅度的变化,导致数据信号剧烈改变的情况,满足不了对测量结果的可靠性要求的问题。

2、为了达到上述发明目的,本发明采用的技术方案为:

3、提供了一种时间序列异常值校正检测方法,其包括以下步骤:

4、s1、获取时间序列数据;

5、s2、构建时间序列异常值检测模型;其中,时间序列异常值检测模型包括时间序列数据中间值计算模块、中间值绝对偏差计算模块、异常值判断模块、数据值校正模块、离群值检测模块;

6、s3、通过时间序列数据中间值计算模块对时间序列数据进行数据搜索,得到对应的时间序列数据中间值数据;

7、s4、通过中间值绝对偏差计算模块对时间序列数据中间值数据和时间序列数据进行处理,得到对应的中间值绝对偏差数据、绝对偏差中间值数据;

8、s5、基于中间值绝对偏差数据、绝对偏差中间值数据,通过异常值判断模块对时间序列数据进行判断,得到对应的判断结果;

9、s6、判断各时间序列数据对应的判断结果是否为正常;若是则得到正常时间序列数据;反之则得到异常事件序列数据并进入步骤s7;

10、s7、通过数据值校正模块对异常时间序列数据进行校正,得到校正后的时间序列数据;

11、s8、通过离群值检测模块对校正后的时间序列数据进行检测,得到检测结果。

12、进一步地,步骤s3包括以下步骤:

13、s3-1、顺序读取三个时间序列数据并作为一个数据集合;

14、s3-2、对步骤s3-1读取的三个时间序列数据进行二进制转换,分别得到对应的二进制数据;

15、s3-3、判断各二进制数据的最高位是否相同;若是则进入步骤s3-4;反之则进入步骤s3-5;

16、s3-4、将各二进制数据的低位覆盖高位,直至最高位被次高位覆盖,更新二进制数据并返回步骤s3-3;其中,最低位使用0覆盖;

17、s3-5、判断各二进制数据的丢弃次数是否为1;若是则进入步骤s3-9;反之则进入步骤s3-6;

18、s3-6、判断是否存在两个二进制数据的最高位均为1;若是则进入步骤s3-7;反之则进入步骤s3-8;

19、s3-7、丢弃最高位为0的二进制数据,丢弃次数加1并返回步骤s3-4;其中,丢弃次数的初始值为0;

20、s3-8、丢弃最高位为1的二进制数据,丢弃次数加1并返回步骤s3-4;

21、s3-9、判断是否丢弃过最高位为1的二进制数据;若是则进入步骤s3-10;反之则进入步骤s3-11;

22、s3-10、将丢弃次数为1且最高位为1的二进制数据对应的步骤s3-2的二进制数据作为时间序列数据中间值并输入至中间值绝对偏差计算模块,进入步骤s3-12;

23、s3-11、将丢弃次数为1且最高位为0的二进制数据对应的步骤s3-2的二进制数据作为时间序列数据中间值并分别输入至中间值绝对偏差计算模块,进入步骤s3-12;

24、s3-12、判断是否处理完所有时间序列数据;若是则进入步骤s4;反之则选取任一个时间序列数据并替换数据集合中选取的第一个时间序列数据,更新数据集合重置丢弃次数,并返回步骤s3-2。

25、进一步地,步骤s4包括以下步骤:

26、s4-1、顺序读取一个时间序列数据;

27、s4-2、实时获取步骤s3-10或步骤s3-11输出的时间序列数据中间值;

28、s4-3、计算该时间序列数据与时间序列中间值的中间值绝对偏差并输入至异常值判断模块,进入步骤s4-4;

29、s4-4、重复步骤s4-1至步骤s4-3,直至得到所有时间序列数据对应的中间值绝对偏差;

30、s4-4、通过与步骤s3相同方法对所有中间值绝对偏差进行处理,得到对应的绝对偏差中间值,并进入步骤s5。

31、进一步地,步骤s5包括以下步骤:

32、s5-1、计算步骤s4-3的中间值绝对偏差与绝对偏差中间值的比值;

33、s5-2、基于比值,对步骤s4-1读取的时间序列数据进行判断,得到对应的判断结果;其中,判断结果分为正常和异常;

34、s5-3、重复步骤s5-1,直至计算所有时间序列数据对应的中间值绝对偏差与绝对偏差中间值的比值;

35、s5-4、重复步骤s5-2,直至得到所有时间序列数据对应的判断结果。

36、进一步地,步骤s5-2的具体过程为:

37、预设阈值范围;判断判断结果是否处于阈值范围中;若是则判断结果为异常;反之则判断结果为正常;其中,阈值范围为2到50的实数区间。

38、进一步地,步骤s7包括以下步骤:

39、s7-1、读取一个异常时间序列数据及其对应的时间序列数据中间值;

40、s7-2、将该异常时间序列数据替换为对应的时间序列数据中间值;

41、s7-3、重复步骤s7-1和步骤s7-2,直至处理完所有的异常时间序列数据,得到校正后的时间序列数据。

42、进一步地,步骤s8包括以下步骤:

43、s8-1、计算校正后的时间序列数据对应的绝对平均值;

44、s8-2、计算校正后的时间序列数据对应的绝对标准差;

45、s8-3、计算各个校正后的时间序列数据的绝对值与绝对平均值的偏差;

46、s8-4、计算各个偏差与绝对标准差的绝对比值;

47、s8-5、计算各个绝对比值的平均差分值;

48、s8-6、判断平均差分值是否大于阈值;若是则判定修正后的时间序列数据为异常数据,即检测结果;反之则判定修正后的时间序列数据为正常数据,即检测结果。

49、提供了一种时间序列异常值校正检测系统,其包括基准信号产生模块、时间序列数据中间值计算模块、中间值绝对偏差计算模块、异常值判断模块、数据值校正模块、离群值检验模块;

50、基准信号产生模块的信号输出端分别连接原始数据中间值计算模块、中间值绝对偏差计算模块、异常值判断模块、数据值校正模块、离群值检验模块的第一信号输入端;时间序列数据中间值计算模块的第一信号输出端、第二信号输出端和第三信号输出端分别连接中间值绝对偏差计算模块、异常值判断模块、数据值校正模块的第二信号输入端;中间值绝对偏差计算模块的第一信号输出端、第二信号输出端分别连接时间序列数据中间值计算模块的第二信号输入端、异常值判断模块的第三信号输入端;异常值判断模块的信号输出端连接数据值校正模块的第三信号输入端;数据值校正模块的信号输出端连接离群值检验模块;

51、其中:

52、基准信号产生模块,用于提供基准信号,并以跳变沿驱动各模块按时序工作;

53、时间序列数据中间值计算模块,用于对时间序列数据进行数据搜索,得到对应的时间序列数据中间值数据;

54、中间值绝对偏差计算模块,用于对时间序列数据中间值数据和时间序列数据进行处理,得到对应的中间值绝对偏差数据、绝对偏差中间值数据;

55、异常值判断模块,用于基于中间值绝对偏差数据、绝对偏差中间值数据对时间序列数据进行判断,得到对应的判断结果;

56、数据值校正模块,用于对异常时间序列数据进行校正,得到校正后的时间序列数据;

57、离群值检验模块,用于对校正后的时间序列数据进行检测,得到检测结果。

58、进一步地,基准信号产生模块采用两种方式获取基准信号;第一种采用fpga的锁相环或锁延迟环技术,产生稳定的频率测量基准信号;第二种采用fpga的外部高精度频率源信号,通过计数分频方法产生频率测试所需的频率测量基准信号

59、时间序列数据中间值计算模块采用矩阵式逐位比较法。

60、本发明的有益效果为:

61、1、实现了对数据集合中间值的快速搜索;使用了逐位比较法实现对中间值的搜索,通过布尔逻辑而不是算术逻辑比较数据的大小;解决了现有算法在比较数据大小时因为使用算术逻辑带来的对fpga内部逻辑资源数量需求较多,导致在小容量fpga芯片中难以实现对较大量的数据进行大小比较的问题;

62、2、实现对大幅度波动数据的修正;利用数据异常值判断与修正算法,可以对因各种外部原因导致的大幅度波动的原始数据进行修正与检测,克服了传统算法只适于修正小幅度波动数据,对大幅度波动的异常数据修正效果较差甚至无法修正导致大量数据丢弃的问题;解决因数据异常得不到有效修正而导致后续数字处理结果不理想的问题;对修正后的数据进一步进行异常值检测,改善了数据质量,排除了异常值的干扰,提高检测结果的准确性。

本文地址:https://www.jishuxx.com/zhuanli/20240929/312905.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。