一种用于时序数据降采样的方法和系统转让专利

申请号 : CN202011579516.8

文献号 : CN112699165B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王立峰自明任成宾郭英端赵金栋潘爱兵于庆海

申请人 : 山东鲁能软件技术有限公司

摘要 :

本发明涉及一种用于时序数据降采样的方法和系统,所述的方法包括:S1:定义TimeGap辅助算法,S2:定义Mixed辅助算法,S3:对于给定的待降采样数据data、阈值t,使用Mixed(LTTB(data,t),TimeGap(data,t/10))进行计算,得到所需要的降采样结果数据。

权利要求 :

1.一种用于时序数据降采样的方法,其特征在于,包括以下步骤:S1:定义TimeGap辅助算法,该算法步骤如下:

S11:对待降采样的数据中除最后一个数据点以外的每个数据点,计算△t=t1‑t0,作为本数据点的权重,最后一个点的权重设为0,其中t0为当前数据点的时间,t1为其右侧数据点的时间;

S12:按照权重由大到小的顺序,选取数据点及其右侧数据点作为已选数据点,直至已选数据点的数量大于或等于规定的阈值;

S2:定义Mixed辅助算法,该算法步骤如下:

S21:Mixed包含多个降采样方法,将待降采样的数据和相应的阈值交给每个降采样方法进行处理;

S22:将各个方法处理的结果合并为一个数据集,对此数据集进行排序和去重;

S3:对于给定的待降采样数据data、阈值t,使用Mixed(LTTB(data,t),TimeGap(data,t/10))进行计算,得到所需要的降采样结果数据;所述步骤S12包括:依次选取数据点及其右侧的数据点作为已选数据点,其中数据点右侧的数据点指的是时间晚于当前数据点的第一个数据点,直到已选数据点的数量大于或等于规定的阈值;所述步骤S3中,使用LTTB方法对data进行阈值为t的降采样,使用TimeGap方法对data进行阈值为t/10的降采样;所述步骤S12中,阈值为降采样总阈值的十分之一。

2.一种用于时序数据降采样的系统,其特征在于,包括:

TimeGap辅助算法定义模块,该模块包括:

对待降采样的数据中除最后一个数据点以外的每个数据点,计算△t=t1‑t0,作为本数据点的权重,最后一个点的权重设为0,其中t0为当前数据点的时间,t1为其右侧数据点的时间;

按照权重由大到小的顺序,选取数据点及其右侧数据点作为已选数据点,直至已选数据点的数量大于或等于规定的阈值;

Mixed辅助算法定义模块,该模块中:

Mixed包含多个降采样方法,将待降采样的数据和相应的阈值交给每个降采样方法进行处理;

将各个方法处理的结果合并为一个数据集,对此数据集进行排序和去重;

获取采样结果模块,该模块中:

对于给定的待降采样数据data、阈值t,使用Mixed(LTTB(data,t),TimeGap(data,t/

10))进行计算,得到所需要的降采样结果数据;所述TimeGap辅助算法定义模块中,依次选取数据点及其右侧的数据点作为已选数据点,其中数据点右侧的数据点指的是时间晚于当前数据点的第一个数据点,直到已选数据点的数量大于或等于规定的阈值;所述获取采样结果模块中,使用LTTB方法对data进行阈值为t的降采样,使用TimeGap方法对data进行阈值为t/10的降采样。

说明书 :

一种用于时序数据降采样的方法和系统

技术领域

[0001] 本发明属于计算机软件技术领域,具体涉及一种用于时序数据降采样的方法和系统。

背景技术

[0002] 时序数据是指时间序列数据。时间序列数据是同一指标按时间顺序记录的数据列,例如设备监测传感器产生的数据、IT系统监控数据等。时序数据的可视化最常用的手段就是折线图,而时序数据往往数据量较大,采用折线图展示其趋势的时候,数据过多会严重降低绘图程序的性能,另外受到用户显示设备像素多少的约束,过多的数据可能会呈现为一片密集的色块,无法分辨细节,实际上没有意义。所以需要对时序数据进行降采样,从大量数据中提取出最具有特征的样本,用来绘制折线图。
[0003] 目前最广泛应用的时序数据降采样方法是由冰岛大学的Sveinn在2013年提出的LTTB(Largest‑Triangle‑Three‑Buckets)、LTD(Largest‑Triangle‑Dynamic)等方法。在传统实时数据库领域,OSIsoft的PI System应用广泛,PI系统的趋势函数所采用的降采样方法是一种特殊的方法。
[0004] 在实际使用过程中,我们发现现有的时序数据降采样方法存在以下问题:
[0005] 基于最大三角形的LTTB、LTD方法能较好的反应数据的特征,但是在特殊情况下准确性不够,导致趋势图出现“斜坡效应”;
[0006] “斜坡效应”指在时序数据在出现比正常时间间隔相比明显增大的时间间隔时,经过降采样方法降采样后丢失关键数据,导致本来的“尖峰”、“悬崖”形状的图形变成一个“斜坡”。LTTB:是英文Largest‑Triangle‑Three‑Buckets的缩写,是Sveinn于2013年在其论文中描述的时序数据降采样方法。其特点在于使用相邻点构成的三角形面积作为权重筛选出特征点。
[0007] LTD:是英文Largest‑Triangle‑Dynamic的缩写,是Sveinn于2013年在其论文中描述的时序数据降采样方法。其特点在于通过动态调整桶的大小,优化了LTTB在数据不均匀分布的情况下的表现,能更好的反应密集波动数据的细节。
[0008] PI系统:OSIsoft公司的实时数据库产品,广泛应用于生产行业的实时数据存储和展示。
[0009] PI趋势图的降采样方法不会产生“斜坡效应”,但是在反应趋势特征上不如最大三角形算法,并且采样数量远大于给定的阈值(约为给定阈值的3‑4倍),可能引发绘图程序的性能问题。此为现有技术的不足之处。
[0010] 有鉴于此,本发明提供一种用于时序数据降采样的方法和系统,以解决现有技术中存在的上述缺陷,是非常有必要的。

发明内容

[0011] 本发明的目的在于,针对上述现有技术存在的缺陷,提供设计一种用于时序数据降采样的方法和系统,以解决上述技术问题。
[0012] 为实现上述目的,本发明给出以下技术方案:
[0013] 一种用于时序数据降采样的方法,包括以下步骤:
[0014] S1:定义TimeGap辅助算法,该算法步骤如下:
[0015] S11:对待降采样的数据中除最后一个数据点以外的每个数据点,计算△t=t1‑t0,作为本数据点的权重,最后一个数据点的权重设为0,其中t0为当前数据点的时间,t1为其右侧数据点的时间;
[0016] S12:按照权重由大到小的顺序,选取数据点及其右侧数据点作为已选数据点,直至已选数据点的数量大于或等于规定的阈值;
[0017] S2:定义Mixed辅助算法,该算法步骤如下:
[0018] S21:Mixed包含多个降采样方法,将待降采样的数据和相应的阈值交给每个降采样方法进行处理;
[0019] S22:将各个方法处理的结果合并为一个数据集,对此数据集进行排序和去重;
[0020] S3:对于给定的待降采样数据data、阈值t,使用Mixed(LTTB(data,t),TimeGap(data,t/10))进行计算,得到所需要的降采样结果数据。
[0021] 作为优选,所述步骤S13包括:
[0022] 依次选取数据点及其右侧的数据点,其中数据点右侧的数据点指的是时间晚于当前数据点的第一个数据点,直到已选取数量大于规定的阈值;该种选取方法不仅能够提高选取数据点的效率,而且避免了重要特征数据点的遗漏。
[0023] 作为优选,所述步骤S3中,使用LTTB方法对data进行阈值为t的降采样,使用TimeGap方法对data进行阈值为t/10的降采样。
[0024] 作为优选,所述步骤S12中,阈值取值为降采样总阈值的十分之一;采样效率更高。
[0025] 本发明还提供一种用于时序数据降采样的系统,包括:
[0026] TimeGap辅助算法定义模块,该模块包括:
[0027] 对待降采样的数据中除最后一个数据点以外的每个数据点,计算△t=t1‑t0,作为本数据点的权重,最后一个点的权重设为0,其中t0为当前数据点的时间,t1为下一个数据点的时间;
[0028] 按照权重由大到小的顺序,选取出数据点及其右侧数据点作为已选数据点,直至已选数据点的数量大于或等于规定的阈值;
[0029] Mixed辅助算法定义模块,该模块中:
[0030] Mixed包含多个降采样方法,将待降采样的数据和相应的阈值交给每个降采样方法进行处理;
[0031] 将各个方法处理的结果合并为一个数据集,对此数据集进行排序和去重;
[0032] 获取采样结果模块,该模块中:
[0033] 对于给定的待降采样数据data、阈值t,使用Mixed(LTTB(data,t),TimeGap(data,t/10))进行计算,得到所需要的降采样结果数据。
[0034] 作为优选,所述TimeGap辅助算法定义模块中,
[0035] 依次选取数据点及其右侧的数据点,其中数据点右侧的数据点指的是时间晚于当前数据点的数据点,直到选取数量大于规定的阈值;该种选取方法不仅能够提高选取数据点的效率,而且避免了重要特征数据点的遗漏。
[0036] 作为优选,所述获取采样结果模块中,使用LTTB方法对data进行阈值为t的降采样,使用TimeGap方法对data进行阈值为t/10的降采样。
[0037] 本申请中,数据点:时序数据中的一条数据,至少包含一个时间戳和一个数据值。阈值:原始数据经过降采样方法处理后,期望得到的结果数据量。
[0038] 本发明的有益效果在于,克服了LTTB、LTD等常用方法,在特殊情况下出现“斜坡效应”的问题,提升了趋势图的正确性。克服了PI系统降采样方法在数据特征提取上的不足,以及返回数据过大的问题,提升了趋势图的表现力和绘制性能此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
[0039] 由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。

附图说明

[0040] 图1是本发明提供的一种用于时序数据降采样的方法的流程图。
[0041] 图2是本发明提供的一种用于时序数据降采样的系统的流程图。
[0042] 其中,1‑TimeGap辅助算法定义模块,2‑Mixed辅助算法定义模块,3‑获取采样结果模块。

具体实施方式

[0043] 下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
[0044] 实施例1:
[0045] 如图1所示,本实施例提供的一种用于时序数据降采样的方法,包括以下步骤:
[0046] S1:定义TimeGap辅助算法,该算法步骤如下:
[0047] S11:对待降采样的数据中除最后一个数据点以外的每个数据点,计算△t=t1‑t0,作为本数据点的权重,最后一个点的权重设为0,其中t0为当前数据点的时间,t1为下一个数据点的时间;
[0048] S13:按照权重由大到小的顺序,选取数据点及其右侧的数据点,其中数据点右侧的数据点指的是时间晚于当前数据点的数据点,直到已选数据点的数量大于或等于规定的阈值;该种选取方法不仅能够提高选取数据点的效率,而且避免了重要特征数据点的遗漏。阈值为降采样总阈值的十分之一;采样效率更高。
[0049] S2:定义Mixed辅助算法,该算法步骤如下:
[0050] S21:Mixed包含多个降采样方法,将待降采样的数据和相应的阈值交给每个降采样方法进行处理;
[0051] S22:将各个方法处理的结果合并为一个数据集,对此数据集进行排序和去重;
[0052] S3:对于给定的待降采样数据data、阈值t,使用Mixed(LTTB(data,t),TimeGap(data,t/10))进行计算,得到所需要的降采样结果数据。
[0053] 实施例2:
[0054] 如图2所示,本实施例提供的一种用于时序数据降采样的系统,包括:
[0055] TimeGap辅助算法定义模块1,该模块包括:
[0056] 对待降采样的数据中除最后一个数据点以外的每个数据点,计算△t=t1‑t0,作为本数据点的权重,最后一个点的权重设为0,其中t0为当前数据点的时间,t1为其右侧数据点的时间;
[0057] 按照权重由大到小的顺序,选取数据点及其右侧数据点作为已选数据点,直至已选数据点的数量大于或等于规定的阈值;其中数据点右侧的数据点指的是时间晚于当前数据点的第一个数据点;该种选取方法不仅能够提高选取数据点的效率,而且避免了重要特征数据点的遗漏。
[0058] Mixed辅助算法定义模块2,该模块中:
[0059] Mixed包含多个降采样方法,将待降采样的数据和相应的阈值交给每个降采样方法进行处理;
[0060] 将各个方法处理的结果合并为一个数据集,对此数据集进行排序和去重;
[0061] 获取采样结果模块3,该模块中:
[0062] 对于给定的待降采样数据data、阈值t,使用Mixed(LTTB(data,t),TimeGap(data,t/10))进行计算,得到所需要的降采样结果数据。
[0063] 以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。