CN112380268B - 等间隔时间序列压缩方法、装置、设备和存储介质 - Google Patents
等间隔时间序列压缩方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN112380268B CN112380268B CN202011164152.7A CN202011164152A CN112380268B CN 112380268 B CN112380268 B CN 112380268B CN 202011164152 A CN202011164152 A CN 202011164152A CN 112380268 B CN112380268 B CN 112380268B
- Authority
- CN
- China
- Prior art keywords
- point
- points
- data
- current
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Quality & Reliability (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开涉及一种等间隔时间序列压缩方法、装置、设备和存储介质,可以应用于电力***中的时间序列数据压缩处理情况,例如对风电出力时间序列等新能源发电相关的时间序列数据进行压缩等,其中,该方法包括:将原始时间序列数据中交错分布的极大值点和极小值点作为原始时间序列数据的特征关键点;从多个特征关键点中确定原始时间序列数据的多个定点;从原始时间序列数据中处于任意相邻的两个定点之间的时间序列数据中,等间隔地确定与***点数量对应的多个***点,最终生成压缩时间序列数据。本公开可以在尽可能保留原始数据的时序特征的前提下达到较好的压缩比,压缩前后数据特征差别较小,提高了后续基于时间序列数据的计算准确性和运算效率。
Description
技术领域
本公开涉及数据压缩技术领域,尤其涉及一种等间隔时间序列压缩方法、装置、设备和存储介质。
背景技术
时间序列是将同一统计指标的数值按其发生的时间先后顺序排列而成的序列。通过深入研究这些时间序列,可以挖掘出序列背后所隐藏的潜在规律获取有价值的信息,具有重大的社会意义和经济价值。时间序列的分析在电力、经济、建筑、医疗、气象、环境等领域应用广泛。然而,随着社会信息化的不断发展,信息技术应用领域的不断拓展,各个应用领域都积累了越来越多的数据,直接在时间序列上进行数据的研究分析不仅工作量大,还会因为一些随机数据的干扰影响研究结果的准确性和可靠性。
因此,越来越多的研究开始关注时间序列的高效压缩。比如说,在电力***,为了减轻煤电的能源消耗,采用新能源发电进行调峰。而新能源出力值一般每隔15min测量一次,数据量较大影响后续优化计算。如果在尽可能保留原有的时序特征前提下进行高效压缩,则大大提高了调峰运算效率,为电力***后续的***规划、调度和控制提供强有力的支撑。
截止到当前,现有数据压缩方案主要有以下三种:分段线性表示法(PLR)、分段聚合近似方法(PAA)、和符号聚合近似方法(SAX)。现有压缩方案的缺陷分别如下:
(1)基于分段聚合近似方法的时间序列数据压缩方法
1)该方法用均值代表原始数据的k个数据点,会出现信息丢失的情况;
2)当数据压缩比越大,均值所代表的数据点就越多,压缩后得到的时间序列不能有效反应原始序列特征;
(2)基于符号聚合近似方法的时间序列数据压缩算法
该方法与分段聚合近似方法相比具有计算简单、高效的优点,但该方法压缩数据的原理与分段聚合近似方法相同,故该算法具有同样的缺陷。
(3)基于分段线性表示的时间序列数据压缩算法
1)该算法采用累积误差进行分段,对短时间内大波动的数据不敏感,分段效果差;
2)该算法对一些状态变化的拐点不敏感,不能有效地刻画某些拐点的状态变化;
3)该算法的阈值不容易确定;
4)该算法不能按照用户要求选择压缩的程度,不能使数据点间隔相等。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开实施例提供了一种等间隔时间序列压缩方法、装置、设备和存储介质。
第一方面,本公开实施例提供了一种等间隔时间序列压缩方法,包括:
确定原始时间序列数据中交错分布的极大值点和极小值点,并将所述交错分布的极大值点和极小值点作为所述原始时间序列数据的特征关键点;
将各个特征关键点对应的时间维度参数对压缩倍数进行取余计算,得到多个余数;其中,所述压缩倍数基于所述原始时间序列数据中的时间间隔和用户需求时间间隔确定;
按照余数取值,确定所述多个余数中数量最多的目标余数;
将所述目标余数对应的多个特征关键点确定为所述原始时间序列数据的多个定点;
基于每个定点对应的时间维度参数对所述压缩倍数进行取余计算得到的商值,确定每个定点在压缩之后的压缩时间序列数据中的位置;
基于每个定点在所述压缩时间序列数据中的位置、相邻两个定点的极值属性以及所述用户需求时间间隔,确定任意相邻的两个定点之间的***点数量;其中,定点的极值属性用于表示定点为极大值点或极小值点;
从所述原始时间序列数据中处于任意相邻的两个定点之间的时间序列数据中,按照所述用户需求时间间隔,等间隔地确定与所述***点数量对应的多个***点;其中,所述***点的类型包括极大值点、极小值点或最值点;
基于每个定点和每个***点生成所述压缩时间序列数据。
第二方面,本公开实施例还提供了一种等间隔时间序列压缩装置,包括:
特征关键点确定模块,用于确定原始时间序列数据中交错分布的极大值点和极小值点,并将所述交错分布的极大值点和极小值点作为所述原始时间序列数据的特征关键点;
取余计算模块,用于将各个特征关键点对应的时间维度参数对压缩倍数进行取余计算,得到多个余数;其中,所述压缩倍数基于所述原始时间序列数据中的时间间隔和用户需求时间间隔确定;
目标余数确定模块,用于按照余数取值,确定所述多个余数中数量最多的目标余数;
定点确定模块,用于将所述目标余数对应的多个特征关键点确定为所述原始时间序列数据的多个定点;
定点位置确定模块,用于基于每个定点对应的时间维度参数对所述压缩倍数进行取余计算得到的商值,确定每个定点在压缩之后的压缩时间序列数据中的位置;
***点数量确定模块,用于基于每个定点在所述压缩时间序列数据中的位置、相邻两个定点的极值属性以及所述用户需求时间间隔,确定任意相邻的两个定点之间的***点数量;其中,定点的极值属性用于表示定点为极大值点或极小值点;
***点确定模块,用于从所述原始时间序列数据中处于任意相邻的两个定点之间的时间序列数据中,按照所述用户需求时间间隔,等间隔地确定与所述***点数量对应的多个***点;其中,所述***点的类型包括极大值点、极小值点或最值点;
压缩时间序列数据生成模块,用于基于每个定点和每个***点生成所述压缩时间序列数据。
第三方面,本公开实施例还提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令或程序的存储器;所述处理器,用于从所述存储器中读取所述可执行指令或程序,并执行所述可执行指令或程序以实现本公开实施例所提供的任一等间隔时间序列压缩方法。
第四方面,本公开实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序或指令,所述计算机程序或指令被处理器执行时实现本公开实施例所提供的任一等间隔时间序列压缩方法。
本公开实施例提供的技术方案与现有技术相比至少具有如下优点:在本公开实施例中,首先确定原始时间序列数据中交错分布的极大值点和极小值点作为原始时间序列数据的特征关键点,然后从多个特征关键点中确定多个定点,作为压缩之后的压缩时间序列数据中的定点;然后基于等间隔插值思想,从原始时间序列数据中处于任意相邻的两个定点之间的时间序列数据中,按照用户需求时间间隔,等间隔地确定多个***点;最后基于确定的定点和***点生成压缩时间序列数据,解决了现有压缩方案中压缩前和压缩后的时间序列数据之间特征差异较大、易丢失原始时间序列数据的特征信息、以及不能按照用户需求的时间间隔(或压缩比)进行数据压缩的问题,实现了在尽可能保留原始数据的时序特征的前提下达到较好的压缩比,满足了用户的数据压缩需求,并且压缩后的时间序列数据和原始时间序列数据之间的特征差别很小,从而提高了后续基于时间序列数据的计算准确性和运算效率。以电力领域为例,采用本公开实施例的技术方案对电力***中的时间序列数据进行压缩,提高了电力***规划效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种等间隔时间序列压缩方法的流程图;
图2为本公开实施例提供的一种原始时间序列数据的特征关键点确定方法的流程图;
图3为本公开实施例提供的一种等间隔插值方法的流程图;
图4为本公开实施例提供的一种等间隔时间序列压缩装置的结构示意图;
图5为本公开实施例提供的一种电子设备的结构示意图。
图6为本公开实施例提供的一种利用分段聚合近似法压缩后的时间序列的概率密度分布直方图;
图7为本公开实施例提供的一种原始时间序列与利用分段线性表示法压缩后的时间序列的概率密度分布直方图;
图8为本公开实施例提供的一种原始时间序列与利用分段线性表示法压缩后的时间序列的概率密度分布曲线对比图;
图9为本公开实施例提供的一种原始时间序列与采用本方案压缩后的时间序列的概率密度分布直方图;
图10为本公开实施例提供的一种原始时间序列与采用本方案压缩后的时间序列的概率密度分布曲线对比图;
图11为本公开实施例提供的一种的风电出力时序压缩效果对比图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
在解释本公开实施例之前,首先对本公开实施例中涉及的定义或名词进行解释说明:
1、利用极值点识别算法选取特征关键点的条件
假设一长度为n的时间序列X={(t1,x1),(t2,x2)……(ti,xi),(tn,xn)}。若点(ti,xi)为特征关键点,则需要同时满足以下条件:
A.点(ti,xi)与其相邻2个点所构成的两个向量的夹角,其余弦值取值范围在[b,a]中,-1<b<0<a<1;
B.相邻2个极值点需要满足极大值、极小值交错分布;
C.相邻2个极值点必须满足两个条件:a)绝对差值大于c;b)与较大值的相对差值大于d;其中,0<c<1,0<d<1。
2、关键点:时间序列数据中的极大值点、极小值点及拐点是反映时间序列波动特征的重要特征点,将这些点统称为特征关键点。时间序列数据中的第一个数据点和最后一个数据点可以默认为特征关键点。
3、候选极值点:即满足上述极值点识别算法条件A的点,称为候选极值点,并按极值属性分为极大值候选点和极小值候选点。所有满足条件A的极值点的集合称为候选关键点集合。
4、局部最值点:特定时间序列区间内最大值点或最小值点。根据极大值点、极小值点交错的条件,若在某个时间序列区间内需要取极大值点,在不存在极大值点时,则取该区间内的最大值点作为极大值点,反之则取该区间内的最小值点作为极小值点。
图1为本公开实施例提供的一种等间隔时间序列压缩方法的流程图,本公开实施例可以适用于对任意类型的时间序列进行压缩的情况,例如,对电力、经济、建筑、医疗、气象、环境等领域内的时间序列数据进行压缩处理等,尤其是应用于电力***中,包括但不限于对风电出力时间序列等新能源发电相关的时间序列数据进行压缩处理等。本公开实施例提供的等间隔时间序列压缩方法可以由等间隔时间序列压缩装置执行,该装置可以采用软件和/或硬件,并可集成在任意的具有计算能力的电子设备上,例如终端、服务器等。
如图1所示,本公开实施例提供的等间隔时间序列压缩方法可以包括:
S101、确定原始时间序列数据中交错分布的极大值点和极小值点,并将交错分布的极大值点和极小值点作为原始时间序列数据的特征关键点。
在本公开实施例中,原始时间序列数据中第一个数据点和最后一个数据点直接确定为特征关键点。针对原始时间序列数据中除去第一个数据点和最后一个数据点之外的中间数据点,可以根据每个中间数据点与左右相邻的数据点的数值大小、以及每个中间数据点与左右相邻的数据点组成的两个向量的夹角的余弦值,确定每个中间数据点是否为极大值点或极小值点。由于中间数据点是否为极值点是依次检索确定的,因此,第一个极值点的极值属性确定之后,可以按照交错分布的条件,依次选定第二个极值点、第三个极值点等等。
通过选择原始时间序列数据中交错分布的极大值点或极小值点作为特征关键点,可以实现利用较少的数据点表征原始时间序列数据的波动特征,减少压缩后的时间序列数据与原始时间序列数据的特征差异性。
可选的,在确定原始时间序列数据中交错分布的极大值点和极小值点之前,还包括:对原始时间序列数据进行预处理;其中,预处理包括以下至少之一:将原始时间序列数据中的非时间尺度数据(或称为纵轴数据)归一化处理和按照预设倍数(取值可根据处理需求而定)对非时间尺度数据进行放大处理。例如,若原始时间序列数据中的纵轴数据为归一化数据,则将该纵轴数据扩大100倍,反之,先将原始时间序列数据中的纵轴数据归一化处理之后再将其扩大100倍。通过数据预处理,各数据点具有规律性,可以简化极值点确定的计算量,提高极大值点和极小值点的确定准确性。
S102、将各个特征关键点对应的时间维度参数对压缩倍数进行取余计算,得到多个余数;其中,压缩倍数基于原始时间序列数据中的时间间隔和用户需求时间间隔确定。
压缩倍数(Ksep)表示压缩程度。例如:原始时间序列数据中的时间间隔为15min,用户设定时间间隔为2h,则Ksep=120/15=8,数据量将压缩8倍。
可选的,在将各个特征关键点对应的时间维度参数对压缩倍数进行取余计算,得到多个余数之前,还包括:将原始时间序列数据中各数据点对应的时间尺度转化为整数类数据,以将整数类数据作为原始时间序列数据中各数据点对应的时间维度参数。示例性的,将原始时间序列数据中横轴的时间尺度转化为整数类数据,例如将t1、t2、……tn分别转化为整数序列号点1、2、3……n,方便后续的取余计算。
S103、按照余数取值,确定多个余数中数量最多的目标余数。
例如,原始时间序列数据中的时间间隔为15min,用户设定时间间隔为1h,压缩倍数(Ksep)为60/15=4,则将各个特征关键点对应的时间维度参数对4进行取余计算,得到多个余数(即0,1,2,3),统计各个余数出现的次数,将出现次数(即数量最多)的余数确定为目标余数。
S104、将目标余数对应的多个特征关键点确定为原始时间序列数据的多个定点。
在本公开实施例中,定点不一定是从原始时间序列数据的原始零点开始选取,通过将从原始时间序列数据中提取的特征关键点对应的时间维度参数(或称为特征关键点的原始位置)对压缩倍数进行取余计算,按余数的不同将这些特征关键点进行分类,选取数量最多的类别点作为原始时间序列数据的多个定点,同时也是压缩之后得到的压缩时间序列数据的多个定点,在实现有效的数据压缩基础上,保证了对原始时间序列数据的时序特征的有效保留。
S105、基于每个定点对应的时间维度参数对压缩倍数进行取余计算得到的商值,确定每个定点在压缩之后的压缩时间序列数据中的位置。
示例性的,将每个定点对应的时间维度参数对压缩倍数进行取余计算过程中,保留向下取整的商值,作为每个定点在压缩之后的压缩时间序列数据中的位置。
以电力***中的时间序列数据为例,每个定点可以表示为:(type-i,loca-i,power-i,point-i),其中,type-i表示该点的极值属性,loca-i表示该点的原始位置(即该点在原始时间序列数据中的位置),power-i表示该点的实际出力值,point-i表示该点的新位置(即该点在压缩时间序列数据中的位置)。
S106、基于每个定点在压缩时间序列数据中的位置、相邻两个定点的极值属性以及用户需求时间间隔,确定任意相邻的两个定点之间的***点数量;其中,定点的极值属性用于表示定点为极大值点或极小值点。
在本公开实施例中,采用等间隔插值基本原则进行插值,等间隔插值基本原则为:在每两个定点之间按指定间隔(即用户需求时间间隔)划分为若干个序列区间,每个序列区间內需要***一个数据点,所有***点都视为一个类极值点,分为类极大值、类极小值,并要求类极值点相互交错,即定点和相邻的***点之间以及相邻***点之间同时满足极值属***错分布的条件。
此外,如果某个定点是压缩时间序列数据中的第一数据点,则该定点之前不需要***数据点;如果某个定点不是压缩时间序列数据中的第一个数据点,且属于最后一个定点,则需要在该定点和原始时间序列数据的终点之间按照相同的时间间隔***数据点。即该定点之前需***点,该定点之后到终点之间也需***点。
通过基于每个定点在压缩时间序列数据中的位置、相邻两个定点的极值属性以及用户需求时间间隔,确定任意相邻的两个定点之间的***点数量,确保了后续插值的准确性,进而确保了较高的压缩效果。
S107、从原始时间序列数据中处于任意相邻的两个定点之间的时间序列数据中,按照用户需求时间间隔,等间隔地确定与***点数量对应的多个***点;其中,***点的类型包括极大值点、极小值点或最值点。
按照用户需求时间间隔对任意相邻的两个定点之间的时间序列数据进行划分,得到多个序列区间,针对每个序列区间,首先确定该序列区间对应的***点的极值属性(即取极大值还是极小值),如果该序列区间内包括上述确定的多个特征关键点,则从中选取一个最显著极值点作为***点;若该序列区间内不包括特征关键点,则选取该序列区间内的最值点作为***点。其中,如果多个特征关键点是极大值点,则其中的最显著极值点为最大的极大值点;如果多个特征关键点是极小值点,则其中的最显著极值点为最小的极小值点。
具体的,在插值过程中,可以利用预先定义的函数:输出两个定点之间需要等间隔***的数据点。其中,Ksep为压缩倍数, 中的各参数分别表示第i-1个定点、第i个定点的初始位置,***点数量,定点i的极值属性;表示两个定点之间***的所有点的集合,即函数的输出值为包含多个yi的数组,数组长度为对应序列区间内的***点数量。每个***点都可以采用类似前述定点的表示方式,进行标记。以电力***中的时间序列数据为例,即使用极值属性、原始位置、实际出力值、新位置这4个参数进行描述每个***点。
S108、基于每个定点和每个***点生成压缩时间序列数据。
每个定点在压缩时间序列数据中的位置是确定的,结合用户需求的时间间隔,每个***点在压缩时间序列数据中的位置可以确定。针对***点,可以采用和定点相似的表示方式来表示。按照确定的每个定点和每个***点在压缩时间序列数据中的位置对定点和***点进行排列,即得到压缩时间序列数据,从而实现对原始时间序列数据的压缩。
根据本公开实施例的技术方案,首先确定原始时间序列数据中交错分布的极大值点和极小值点作为原始时间序列数据的特征关键点,然后从多个特征关键点中确定多个定点,作为压缩之后的压缩时间序列数据中的定点;然后基于等间隔插值思想,从原始时间序列数据中处于任意相邻的两个定点之间的时间序列数据中,按照用户需求时间间隔,等间隔地确定多个***点;最后基于确定的定点和***点生成压缩时间序列数据,解决了现有压缩方案中压缩前和压缩后的时间序列数据之间特征差异较大、易丢失原始时间序列数据的特征信息、以及不能按照用户需求的时间间隔(或压缩比)进行数据压缩的问题,实现了在尽可能保留原始数据的时序特征的前提下达到较好的压缩比,满足了用户的数据压缩需求,并且压缩后的时间序列数据和原始时间序列数据之间的特征差别很小,从而提高了后续基于时间序列数据的计算准确性和运算效率。以电力领域为例,采用本公开实施例的技术方案对电力***中的时间序列数据进行压缩,提高了电力***规划效率。
在上述技术方案的基础上,作为一种优选示例,针对原始时间序列数据中除去第一个数据点和最后一个数据点之外的中间数据点,确定原始时间序列数据中交错分布的极大值点和极小值点,并将交错分布的极大值点和极小值点作为原始时间序列数据的特征关键点,包括:
依次确定与当前中间数据点相邻的两个数据点,并确定当前中间数据点和与之相邻的两个数据点构成的两个向量之间的夹角;
如果夹角的余弦值满足预设余弦值区间,则根据当前中间数据点和与之相邻的两个数据点的数值大小,确定当前中间数据点的极值属性;其中,当前中间数据点的极值属性用于表示当前中间数据点为极大值点或极小值点,预设余弦值区间表示为[b,a],参数a和参数b之间的数值关系满足:-1<b<0<a<1;
根据当前中间数据点的极值属性,确定当前中间数据点和与之相邻的上一个特征关键点的极值属性是否满***错分布;
如果满***错分布,并且当前中间数据点和与之相邻的上一个特征关键点满足预设条件,则将当前中间数据点确定为原始时间序列数据的特征关键点;
其中,预设条件包括:当前中间数据点xi和与之相邻的上一个特征关键点xi-1的绝对差值|xi-xi-1|大于第一阈值c,且当前中间数据点xi和与之相邻的上一个特征关键点xi-1的相对差值|xi-xi-1|/xi大于第二阈值d,第一阈值c的取值大于0且小于1,第二阈值d的取值大于0且小于1。
进一步的,确定原始时间序列数据中交错分布的极大值点和极小值点,并将交错分布的极大值点和极小值点作为原始时间序列数据的特征关键点,还包括:
如果不满***错分布,并且当前中间数据点和与之相邻的上一个特征关键点满足预设条件,则将当前中间数据点确定为原始时间序列数据的特征关键点,并确定原始时间序列数据中处于当前中间数据点和与之相邻的上一个特征关键点之间的时间序列数据的目标局部最值点;其中,目标局部最值点的极值属性与当前中间数据点的极值属性相反;
将目标局部最值点确定为原始时间序列数据的特征关键点,并***当前中间数据点和与之相邻的上一个特征关键点之间。
进一步的,确定原始时间序列数据中交错分布的极大值点和极小值点,并将交错分布的极大值点和极小值点作为原始时间序列数据的特征关键点,还包括:
如果不满***错分布,并且当前中间数据点和与之相邻的上一个特征关键点不满足预设条件,则根据当前中间数据点和与之相邻的上一个特征关键点的极值属性,从当前中间数据点和与之相邻的上一个特征关键点中确定最显著极值点,作为原始时间序列数据的特征关键点。
图2为本公开实施例提供的一种原始时间序列数据的特征关键点确定方法的流程图,用于对本公开实施例中如何确定特征关键点进行示例性说明,但不应理解为对本公开实施例的具体限定。具体的,图2针对原始时间序列数据中除去第一个数据点和最后一个数据点之外的中间数据点(xi,yi),对特征关键点的确定过程进行示例性说明。
如图2所示,该特征关键点识别方法可以包括:
步骤1:
输入当前中间数据点(xi,yi),计算该点处夹角余弦值,判断是否属于[b,a]。
1.1)否,舍弃该中间数据点,依次判断下一个中间数据点(xi+1,yi+1)是否属于[b,a]。
1.2)是,规定该中间数据点为候选极值点,并继续判断该候选极值点的极值属性。
步骤2:
针对夹角余弦值属于[b,a]的中间数据点,判断其极值属性,具体包括极大值候选点或者极小值候选点。即如果当前中间数据点是与之相邻的上一数据点、当前中间数据点、与之相邻的下一数据点之间的最大值,则当前中间数据点为极大值候选点,反之为极小值候选点。
步骤3:
判断当前候选极值点(即当前中间数据点)与上一个特征关键点类型是否交错,以及两者的绝对差值、相对差值是否满足前述条件。
3.1)交错(即极值属性不同),满足条件;选取该候选极值点为特征关键点,返回步骤1,判断下一个中间数据点(xi+1,yi+1)。
3.2)交错,不满足条件;舍弃该候选极值点,返回步骤1,判断下一个中间数据点(xi+1,yi+1)。
3.3)不交错(即极值属性相同),满足条件;选取该候选极值点为特征关键点,并同时在当前特征关键点和与之相邻的上一个特征关键点之间,***一个与当前特征关键点的极值属性相反的局部最值点,以其满足极值属***错分布条件,返回步骤1,判断下一个中间数据点(xi+1,yi+1)。
3.4)不交错,不满足条件;在当前候选极值点和与之相邻的上一个特征关键点这两者之间,选取一个最显著极值点,作为当前特征关键点,舍弃另一个点。返回步骤1,判断下一个点。
步骤4:
直到将所有中间数据点都判断完成,算法结束,得到原始时间序列数据的所有特征关键点。
通过选择原始时间序列数据中交错分布的极大值点或极小值点作为特征关键点,可以实现利用较少的数据点表征原始时间序列数据的波动特征,减少压缩后的时间序列数据与原始时间序列数据的特征差异性。
在上述技术方案的基础上,作为一种优选示例,基于每个定点在压缩时间序列数据中的位置、相邻两个定点的极值属性以及用户需求时间间隔,确定任意相邻的两个定点之间的***点数量,包括以下至少之一:
如果当前定点是原始时间序列数据的多个定点中的第一个,并且基于当前定点在压缩时间序列数据中的位置,确定当前定点是压缩时间序列数据的起点,则在当前定点之前的***点数量为0;即压缩时间序列数据的起点之前,无需在***数据点;
如果当前定点是原始时间序列数据的多个定点中的第一个,并且基于当前定点在压缩时间序列数据中的位置,确定当前定点不是压缩时间序列数据的起点,则按照用户需求时间间隔,确定原始时间序列数据的起点和当前定点之间的***点数量;
如果当前定点是原始时间序列数据的多个定点中的最后一个,并且基于当前定点在压缩时间序列数据中的位置,确定当前定点不是原始时间序列数据的终点,则按照用户需求时间间隔,确定原始时间序列数据的终点和当前定点之间的***点数量,并且确定当前定点和与之相邻的上一个定点之间的***点数量;
如果当前定点属于原始时间序列数据的多个定点中除去首尾定点之外的中间定点,则根据当前定点和相邻的上一个定点极值属性以及用户需求时间间隔,确定当前定点和相邻的上一个定点之间的***点数量。
进一步的,根据当前定点和相邻的上一个定点极值属性以及用户需求时间间隔,确定当前定点和相邻的上一个定点之间的***点数量,包括:
如果当前定点和相邻的上一个定点的极值属性相同,则按照用户需求时间间隔,确定当前定点和相邻的上一个定点之间的***点数量为奇数,从而确保当前定点和相邻的上一个定点之间的点的极值属性满***错分布;
如果当前定点和相邻的上一个定点的极值属性不同,则按照用户需求时间间隔,确定当前定点和相邻的上一个定点之间的***点数量为偶数,从而确保当前定点和相邻的上一个定点之间的点的极值属性满***错分布;
可选的,从原始时间序列数据中处于任意相邻的两个定点之间的时间序列数据中,按照用户需求时间间隔,等间隔地确定与***点数量对应的多个***点,包括:
针对原始时间序列数据中处于原始时间序列数据的起点和当前定点之间的时间序列数据,或者针对原始时间序列数据中处于原始时间序列数据的终点和当前定点之间的时间序列数据,或者针对原始时间序列数据中处于当前定点和相邻的上一个定点之间的时间序列数据,按照用户需求时间间隔,进行等间隔划分,得到多个序列区间;
按照每个当前序列区间的上一个序列区间对应的***点的极值属性,确定每个当前序列区间的***点的需求极值属性;其中,每个当前序列区间的***点的需求极值属性与上一个序列区间对应的***点的极值属性相反;
确定每个当前序列区间中是否存在多个特征关键点;其中,特征关键点包括极大值点或极小值点;
如果每个当前序列区间中存在多个特征关键点,则按照每个当前序列区间的***点的需求极值属性,从每个当前序列区间的多个特征关键点中确定最显著极值点,作为***点。
可选的,从原始时间序列数据中处于任意相邻的两个定点之间的时间序列数据中,按照用户需求时间间隔,等间隔地确定与***点数量对应的多个***点,还包括:
如果每个当前序列区间中不存在多个特征关键点,则确定每个当前序列区间的上一个序列区间对应的***点是否为特征关键点;
如果是,则将每个当前序列区间内的目标最值点确定为***点;
如果不是,则将每个当前序列区间的上一个序列区间对应的***点更新为目标特征关键点,并将每个当前序列区间内的目标最值点确定为***点;
其中,目标特征关键点指与每个当前序列区间的上一个序列区间对应的***点相邻且极值属性相同的特征关键点,目标最值点的极值属性与每个当前序列区间的***点的需求极值属性相同。
由于极值点可以很好的反映原始时间序列数据的特征,通过将每个当前序列区间的上一个序列区间对应的***点更新为目标特征关键点,可以确保压缩时间序列数据较好的保留原始时间序列数据的时序特征。
可选的,从原始时间序列数据中处于任意相邻的两个定点之间的时间序列数据中,按照用户需求时间间隔,等间隔地确定与***点数量对应的多个***点,还包括:
确定存在共同定点的两个相邻的序列区间内,共同定点与左右相邻的两个***点的极值属性是否满***错分布;
如果不满足,则确定存在共同定点的两个相邻的序列区间内,是否存在与共同定点的极值属性相反的特征关键点;
如果存在与共同定点的极值属性相反的特征关键点,则将该特征关键点替换共同定点,作为新定点。
可选的,从原始时间序列数据中处于任意相邻的两个定点之间的时间序列数据中,按照用户需求时间间隔,等间隔地确定与***点数量对应的多个***点,还包括:
如果不存在与共同定点的极值属性相反的特征关键点,则确定存在共同定点的两个相邻的序列区间内,与共同定点的极值属性相反的最值点,并将该最值点替换共同定点,作为新定点。
图3为本公开实施例提供的一种等间隔插值方法的流程图,用于对本公开实施例中如何进行等间隔插值进行示例性说明,但不应理解为对本公开实施例的具体限定。具体的,图3以电力***中的时间序列数据、以及前插法为例进行示例性说明。如图3所示,该等间隔插值方法包括:
步骤1:
输入当前定点i,当前定点i可以表示为:(type-i,loca-i,power-i,point-i),其中,type-i表示该点的极值属性,loca-i表示该点的原始位置(即该点在原始时间序列数据中的位置),power-i表示该点的实际出力值,point-i表示该点的新位置(即该点在压缩时间序列数据中的位置)
1)如果i=1(即为第一个定点),判断point-i是否为0。
1.1)是,直接***该定点,即当前定点i为压缩时间序列数据的起点,直接将当前定点i确定为压缩时间序列数据中的数据。
1.2)否,等间隔***定点i之前的点,再***定点i,即当前定点i不是压缩时间序列数据的起点,还需要在当前定点i和原始时间序列数据的起点之间等时间间隔地***数据点。
2)如果当前定点i为最后一个定点且不为原始时间序列数据的终点,需要在当前定点i与原始时间序列数据的终点之间等时间间隔地***数据点,并且***当前定点i和与之相邻的上一个定点i-1之间的点;。
3)其它定点i,计算该定点与上一个定点i-1之间的序列区间所需要***的点数,并判断两个相邻的定点的极值属性是否相同。
3.1)属性相同且***点数为偶数或属性不同且***点数为奇数,进入步骤2。
当两定点的属性不能满***错分布的条件时,为了保证满***错分布条件且***的点数确定不变,需要更改定点,并且保证新定点在压缩时间序列的位置是固定的。步骤2即用于实现更新定点。
3.2)其他情况,进入步骤3。
步骤2:
判断当前定点i前后两个时间间隔内是否存在与当前定点i的原始属性不同的极值点。
2.1)是,在与当前定点i的原始属性不同的极值点中,选取显著极值点替换当前定点i,作为新定点i。进入步骤3。
2.2)否,在当前定点i前后两个时间间隔内,确定与当前定点i的极值属性相反的最值点(即局部最值点),并将该最值点替换当前定点i,作为新定点。进入步骤3。
步骤3:
首先等间隔***定点i-1与新定点i之间的点,然后***该新定点i,即定点i-1与新定点i之间的***点和该新定点i均作为压缩时间序列数据中的数据。
其中,步骤2的目的旨在确保定点和与之相邻的***点之间的极值属性也满***错分布的条件,如果不满足,则需要对当前定点的取值进行更新,但定点的位置保持不变。
本公开实施例通过在压缩过程中采用等时间间隔进行插值,在得到用户需求的压缩倍数的基础上,尽可能地保留了原始时间序列数据的波动性特征,减少了压缩前和压缩后的时间序列数据之间的差异。
图4为本公开实施例提供的一种等间隔时间序列压缩装置的结构示意图,该装置可以采用软件和/或硬件的方式实现,并可集成在任意具有计算能力的电子设备上,例如终端、服务器等。
如图4所示,本公开实施例提供的等间隔时间序列压缩装置可以包括特征关键点确定模块401、取余计算模块402、目标余数确定模块403、定点确定模块404、定点位置确定模块405、***点数量确定模块406、***点确定模块407和压缩时间序列数据生成模块408,其中:
特征关键点确定模块401,用于确定原始时间序列数据中交错分布的极大值点和极小值点,并将交错分布的极大值点和极小值点作为原始时间序列数据的特征关键点;
取余计算模块402,用于将各个特征关键点对应的时间维度参数对压缩倍数进行取余计算,得到多个余数;其中,压缩倍数基于原始时间序列数据中的时间间隔和用户需求时间间隔确定;
目标余数确定模块403,用于按照余数取值,确定多个余数中数量最多的目标余数;
定点确定模块404,用于将目标余数对应的多个特征关键点确定为原始时间序列数据的多个定点;
定点位置确定模块405,用于基于每个定点对应的时间维度参数对压缩倍数进行取余计算得到的商值,确定每个定点在压缩之后的压缩时间序列数据中的位置;
***点数量确定模块406,用于基于每个定点在压缩时间序列数据中的位置、相邻两个定点的极值属性以及用户需求时间间隔,确定任意相邻的两个定点之间的***点数量;其中,定点的极值属性用于表示定点为极大值点或极小值点;
***点确定模块407,用于从原始时间序列数据中处于任意相邻的两个定点之间的时间序列数据中,按照用户需求时间间隔,等间隔地确定与***点数量对应的多个***点;其中,***点的类型包括极大值点、极小值点或最值点;
压缩时间序列数据生成模块408,用于基于每个定点和每个***点生成压缩时间序列数据。
可选的,原始时间序列数据中第一个数据点和最后一个数据点直接确定为特征关键点。
可选的,针对原始时间序列数据中除去第一个数据点和最后一个数据点之外的中间数据点,特征关键点确定模块401包括:
向量夹角确定单元,用于依次确定与当前中间数据点相邻的两个数据点,并确定当前中间数据点和与之相邻的两个数据点构成的两个向量之间的夹角;
极值属性确定单元,用于如果夹角的余弦值满足预设余弦值区间,则根据当前中间数据点和与之相邻的两个数据点的数值大小,确定当前中间数据点的极值属性;其中,当前中间数据点的极值属性用于表示当前中间数据点为极大值点或极小值点,预设余弦值区间表示为[b,a],参数a和参数b之间的数值关系满足:-1<b<0<a<1;
属性分布确定单元,用于根据当前中间数据点的极值属性,确定当前中间数据点和与之相邻的上一个特征关键点的极值属性是否满***错分布;
第一特征关键点确定单元,用于如果满***错分布,并且当前中间数据点和与之相邻的上一个特征关键点满足预设条件,则将当前中间数据点确定为原始时间序列数据的特征关键点;
其中,预设条件包括:当前中间数据点xi和与之相邻的上一个特征关键点xi-1的绝对差值|xi-xi-1|大于第一阈值c,且当前中间数据点xi和与之相邻的上一个特征关键点xi-1的相对差值|xi-xi-1|/xi大于第二阈值d,第一阈值c的取值大于0且小于1,第二阈值d的取值大于0且小于1。
可选的,特征关键点确定模块401还包括:
目标局部最值点确定单元,用于如果不满***错分布,并且当前中间数据点和与之相邻的上一个特征关键点满足预设条件,则将当前中间数据点确定为原始时间序列数据的特征关键点,并确定原始时间序列数据中处于当前中间数据点和与之相邻的上一个特征关键点之间的时间序列数据的目标局部最值点;其中,目标局部最值点的极值属性与当前中间数据点的极值属性相反;
第二特征关键点确定单元,用于将目标局部最值点确定为原始时间序列数据的特征关键点,并***当前中间数据点和与之相邻的上一个特征关键点之间。
可选的,特征关键点确定模块401还包括:
第三特征关键点确定单元,用于如果不满***错分布,并且当前中间数据点和与之相邻的上一个特征关键点不满足预设条件,则根据当前中间数据点和与之相邻的上一个特征关键点的极值属性,从当前中间数据点和与之相邻的上一个特征关键点中确定最显著极值点,作为原始时间序列数据的特征关键点。
可选的,本公开实施例提供的装置还包括:
时间尺度转换模块,用于将原始时间序列数据中各数据点对应的时间尺度转化为整数类数据,以将整数类数据作为原始时间序列数据中各数据点对应的时间维度参数。
可选的,***点数量确定模块406包括以下至少之一:
第一***点数量确定单元,用于如果当前定点是原始时间序列数据的多个定点中的第一个,并且基于当前定点在压缩时间序列数据中的位置,确定当前定点是压缩时间序列数据的起点,则在当前定点之前的***点数量为0;
第二***点数量确定单元,用于如果当前定点是原始时间序列数据的多个定点中的第一个,并且基于当前定点在压缩时间序列数据中的位置,确定当前定点不是压缩时间序列数据的起点,则按照用户需求时间间隔,确定原始时间序列数据的起点和当前定点之间的***点数量;
第三***点数量确定单元,用于如果当前定点是原始时间序列数据的多个定点中的最后一个,并且基于当前定点在压缩时间序列数据中的位置,确定当前定点不是原始时间序列数据的终点,则按照用户需求时间间隔,确定原始时间序列数据的终点和当前定点之间的***点数量;并且确定当前定点和与之相邻的上一个定点之间的***点数量;
第四***点数量确定单元,用于如果当前定点属于原始时间序列数据的多个定点中除去首尾定点之外的中间定点,则根据当前定点和相邻的上一个定点极值属性以及用户需求时间间隔,确定当前定点和相邻的上一个定点之间的***点数量。
可选的,第四***点数量确定单元包括:
第一确定子单元,用于如果当前定点和相邻的上一个定点的极值属性相同,则按照用户需求时间间隔,确定当前定点和相邻的上一个定点之间的***点数量为奇数;
第二确定子单元,用于如果当前定点和相邻的上一个定点的极值属性不同,则按照用户需求时间间隔,确定当前定点和相邻的上一个定点之间的***点数量为偶数;
可选的,***点确定模块407包括:
序列区间划分单元,用于针对原始时间序列数据中处于原始时间序列数据的起点和当前定点之间的时间序列数据,或者针对原始时间序列数据中处于原始时间序列数据的终点和当前定点之间的时间序列数据,或者针对原始时间序列数据中处于当前定点和相邻的上一个定点之间的时间序列数据,按照用户需求时间间隔,进行等间隔划分,得到多个序列区间;
***点极值属性确定单元,用于按照每个当前序列区间的上一个序列区间对应的***点的极值属性,确定每个当前序列区间的***点的需求极值属性;其中,每个当前序列区间的***点的需求极值属性与上一个序列区间对应的***点的极值属性相反;
区间特征关键点确定单元,用于确定每个当前序列区间中是否存在多个特征关键点;其中,特征关键点包括极大值点或极小值点;
第一***单元,用于如果每个当前序列区间中存在多个特征关键点,则按照每个当前序列区间的***点的需求极值属性,从每个当前序列区间的多个特征关键点中确定最显著极值点,作为***点。
可选的,***点确定模块407还包括:
***点确定单元,用于如果每个当前序列区间中不存在多个特征关键点,则确定每个当前序列区间的上一个序列区间对应的***点是否为特征关键点;
第二***单元,用于如果是,则将每个当前序列区间内的目标最值点确定为***点;
第三***单元,用于如果不是,则将每个当前序列区间的上一个序列区间对应的***点更新为目标特征关键点,并将每个当前序列区间内的目标最值点确定为***点;
其中,目标特征关键点指与每个当前序列区间的上一个序列区间对应的***点相邻且极值属性相同的特征关键点,目标最值点的极值属性与每个当前序列区间的***点的需求极值属性相同。
可选的,***点确定模块407还包括:
定点属性分布确定单元,用于确定存在共同定点的两个相邻的序列区间内,共同定点与左右相邻的两个***点的极值属性是否满***错分布;
属性相反特征关键点确定单元,用于如果不满足,则确定存在共同定点的两个相邻的序列区间内,是否存在与共同定点的极值属性相反的特征关键点;
第一新定点确定单元,用于如果存在与共同定点的极值属性相反的特征关键点,则将该特征关键点替换共同定点,作为新定点。
可选的,***点确定模块407还包括:
第二新定点确定单元,用于如果不存在与共同定点的极值属性相反的特征关键点,则确定存在共同定点的两个相邻的序列区间内,与共同定点的极值属性相反的最值点,并将该最值点替换共同定点,作为新定点。
可选的,原始时间序列数据包括电力***中的时间序列数据。
可选的,本公开实施例提供的装置还包括:
预处理模块,用于对原始时间序列数据进行预处理;其中,预处理包括以下至少之一:将原始时间序列数据中的非时间尺度数据归一化处理和按照预设倍数对非时间尺度数据进行放大处理。
本公开实施例所提供的等间隔时间序列压缩装置可执行本公开实施例所提供的任意等间隔时间序列压缩方法,具备执行方法相应的功能模块和有益效果。本公开装置实施例中未详尽描述的内容可以参考本公开任意方法实施例中的描述。
图5为本公开实施例提供的一种电子设备的结构示意图。如图5所示,电子设备500包括一个或多个处理器501和存储器502。
处理器501可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备500中的其他组件以执行期望的功能。
存储器502可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器501可以运行程序指令,以实现本公开实施例提供的任意等间隔时间序列压缩方法以及/或者其他期望的功能。在计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备500还可以包括:输入装置503和输出装置504,这些组件通过总线***和/或其他形式的连接机构(未示出)互连。
此外,该输入装置503还可以包括例如键盘、鼠标等等。
该输出装置504可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置504可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图5中仅示出了该电子设备500中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备500还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行本公开实施例所提供的任意等间隔时间序列压缩方法。
计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行本公开实施例所提供的任意等间隔时间序列压缩方法。
计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
下面是以某时间内某区域的风电出力时间序列为例,分别采用分段聚合近似方法(PAA)、分段线性表示法(PLR)和本公开实施例提供的压缩方案进行数据压缩的效果对比。
1、分段聚合近似法(PAA)
对每n个点取均值,做直方图和密度曲线,获取分布的拟合函数,并计算面积误差。
表1:不同n值的计算结果
图6示出了n=6时,压缩后的时间序列的概率密度分布直方图。通过上表的计算发现数据压缩程度的大小与面积误差没有线性关系,用该方法进行时间序列的数据压缩不能保证较低的面积误差和较高的压缩比。
2、分段线性表示法(PLR)
图7示分别出了当阈值取0.005时,原始时间序列与PLR方法压缩后的时间序列的概率密度分布直方图,图8示出了当阈值取0.005时,原始时间序列与PLR方法压缩后的时间序列的概率密度分布曲线对比图。经过计算得到,原始数据为35136个点压缩为8117个点,面积误差为2%。该方法的压缩比较小,且面积误差较大。
3、采用本方案的实验结果
图9示出了原始时间序列与采用本方案压缩后的时间序列的概率密度分布直方图,图10示出了原始时间序列与采用本方案压缩后的时间序列的概率密度分布曲线对比图。
表2:不同出力值对应的绝对误差
本方案将原始数据点35136个压缩至4393个,时间间隔为2小时,曲线图中的两曲线的相似性为99.85%,面积误差仅为0.49%。a、b、c、d、Ksep取值分别为0.8、-0.8、0.03、0.1、8。从图9直方图中可知,不同出力范围的比例只存在细微差异,从图10曲线图中可知,两曲线总体分布的趋势十分相似。由图10和表2可知,0.4以上的大出力值范围内比0.4以下的小出力值范围内的时间序列经算法压缩后的概率值绝对误差更小。
图11示出了某时间内某区域的风电出力时序压缩效果对比图。所标出的散点为采用本方案提取的特征关键点,虚线为以2h的间隔进行插值后的等时间尺度时序图,由上图与原始时序图相比可观察出,应用本方案进行数据压缩后,时间序列趋势与原时序图并没有太大差异,只是时间尺度上发生细微偏移。
表3:不同时间间隔进行算法压缩后的数据结果
由表3,采用不同时间间隔进行本方案的数据压缩得到的数据结果与分段线性表示方法和分段聚合近似法(PAA)进行比较可知,本方案可保证较低的面积误差和较高的压缩比。本方案能有效地识别并提取时间序列的关键点,时间序列压缩后极值点的保留比例较大,很好的保留了原始数据的时序特征,并保证压缩后的数据点间隔时间相等,该算法可达到较大的压缩比,较小的面积误差,为后续研究提供了更好的数据基础。对我国生产和科学研究相关时间序列数据工作具有重要意义。
Claims (17)
1.一种等间隔时间序列压缩方法,其特征在于,包括:
确定原始时间序列数据中交错分布的极大值点和极小值点,并将所述交错分布的极大值点和极小值点作为所述原始时间序列数据的特征关键点;
将各个特征关键点对应的时间维度参数对压缩倍数进行取余计算,得到多个余数;其中,所述压缩倍数基于所述原始时间序列数据中的时间间隔和用户需求时间间隔确定;
按照余数取值,确定所述多个余数中数量最多的目标余数;
将所述目标余数对应的多个特征关键点确定为所述原始时间序列数据的多个定点;
基于每个定点对应的时间维度参数对所述压缩倍数进行取余计算得到的商值,确定每个定点在压缩之后的压缩时间序列数据中的位置;
基于每个定点在所述压缩时间序列数据中的位置、相邻两个定点的极值属性以及所述用户需求时间间隔,确定任意相邻的两个定点之间的***点数量;其中,定点的极值属性用于表示定点为极大值点或极小值点;
从所述原始时间序列数据中处于任意相邻的两个定点之间的时间序列数据中,按照所述用户需求时间间隔,等间隔地确定与所述***点数量对应的多个***点;其中,所述***点的类型包括极大值点、极小值点或最值点;
基于每个定点和每个***点生成所述压缩时间序列数据。
2.根据权利要求1所述的方法,其特征在于,所述原始时间序列数据中第一个数据点和最后一个数据点直接确定为特征关键点。
3.根据权利要求2所述的方法,其特征在于,针对所述原始时间序列数据中除去所述第一个数据点和所述最后一个数据点之外的中间数据点,所述确定原始时间序列数据中交错分布的极大值点和极小值点,并将所述交错分布的极大值点和极小值点作为所述原始时间序列数据的特征关键点,包括:
依次确定与当前中间数据点相邻的两个数据点,并确定所述当前中间数据点和与之相邻的两个数据点构成的两个向量之间的夹角;
如果所述夹角的余弦值满足预设余弦值区间,则根据所述当前中间数据点和与之相邻的两个数据点的数值大小,确定所述当前中间数据点的极值属性;其中,所述当前中间数据点的极值属性用于表示所述当前中间数据点为极大值点或极小值点,所述预设余弦值区间表示为[b,a],参数a和参数b之间的数值关系满足:-1<b<0<a<1;
根据所述当前中间数据点的极值属性,确定所述当前中间数据点和与之相邻的上一个特征关键点的极值属性是否满***错分布;
如果满***错分布,并且所述当前中间数据点和与之相邻的上一个特征关键点满足预设条件,则将所述当前中间数据点确定为所述原始时间序列数据的特征关键点;
其中,所述预设条件包括:所述当前中间数据点xi和与之相邻的上一个特征关键点xi-1的绝对差值|xi-xi-1|大于第一阈值c,且所述当前中间数据点xi和与之相邻的上一个特征关键点xi-1的相对差值|xi-xi-1|/xi大于第二阈值d,所述第一阈值c的取值大于0且小于1,所述第二阈值d的取值大于0且小于1。
4.根据权利要求3所述的方法,其特征在于,还包括:
如果不满***错分布,并且所述当前中间数据点和与之相邻的上一个特征关键点满足所述预设条件,则将所述当前中间数据点确定为所述原始时间序列数据的特征关键点,并确定所述原始时间序列数据中处于所述当前中间数据点和与之相邻的上一个特征关键点之间的时间序列数据的目标局部最值点;其中,所述目标局部最值点的极值属性与所述当前中间数据点的极值属性相反;
将所述目标局部最值点确定为所述原始时间序列数据的特征关键点,并***所述当前中间数据点和与之相邻的上一个特征关键点之间。
5.根据权利要求3所述的方法,其特征在于,还包括:
如果不满***错分布,并且所述当前中间数据点和与之相邻的上一个特征关键点不满足所述预设条件,则根据所述当前中间数据点和与之相邻的上一个特征关键点的极值属性,从所述当前中间数据点和与之相邻的上一个特征关键点中确定最显著极值点,作为所述原始时间序列数据的特征关键点。
6.根据权利要求1所述的方法,其特征在于,在所述将各个特征关键点对应的时间维度参数对压缩倍数进行取余计算,得到多个余数之前,还包括:
将所述原始时间序列数据中各数据点对应的时间尺度转化为整数类数据,以将所述整数类数据作为所述原始时间序列数据中各数据点对应的时间维度参数。
7.根据权利要求1所述的方法,其特征在于,所述基于每个定点在所述压缩时间序列数据中的位置、相邻两个定点的极值属性以及所述用户需求时间间隔,确定任意相邻的两个定点之间的***点数量,包括以下至少之一:
如果当前定点是所述原始时间序列数据的多个定点中的第一个,并且基于所述当前定点在所述压缩时间序列数据中的位置,确定所述当前定点是所述压缩时间序列数据的起点,则在所述当前定点之前的***点数量为0;
如果所述当前定点是所述原始时间序列数据的多个定点中的第一个,并且基于所述当前定点在所述压缩时间序列数据中的位置,确定所述当前定点不是所述压缩时间序列数据的起点,则按照所述用户需求时间间隔,确定所述原始时间序列数据的起点和所述当前定点之间的***点数量;
如果所述当前定点是所述原始时间序列数据的多个定点中的最后一个,并且基于所述当前定点在所述压缩时间序列数据中的位置,确定所述当前定点不是所述原始时间序列数据的终点,则按照所述用户需求时间间隔,确定所述原始时间序列数据的终点和所述当前定点之间的***点数量,并且确定所述当前定点和与之相邻的上一个定点之间的***点数量;
如果所述当前定点属于所述原始时间序列数据的多个定点中除去首尾定点之外的中间定点,则根据所述当前定点和相邻的上一个定点极值属性以及所述用户需求时间间隔,确定所述当前定点和相邻的上一个定点之间的***点数量。
8.根据权利要求7所述的方法,其特征在于,根据所述当前定点和相邻的上一个定点极值属性以及所述用户需求时间间隔,确定所述当前定点和相邻的上一个定点之间的***点数量,包括:
如果所述当前定点和相邻的上一个定点的极值属性相同,则按照所述用户需求时间间隔,确定所述当前定点和相邻的上一个定点之间的***点数量为奇数;
如果所述当前定点和相邻的上一个定点的极值属性不同,则按照所述用户需求时间间隔,确定所述当前定点和相邻的上一个定点之间的***点数量为偶数。
9.根据权利要求7所述的方法,其特征在于,所述从所述原始时间序列数据中处于任意相邻的两个定点之间的时间序列数据中,按照所述用户需求时间间隔,等间隔地确定与所述***点数量对应的多个***点,包括:
针对所述原始时间序列数据中处于所述原始时间序列数据的起点和所述当前定点之间的时间序列数据,或者针对所述原始时间序列数据中处于所述原始时间序列数据的终点和所述当前定点之间的时间序列数据,或者针对所述原始时间序列数据中处于所述当前定点和相邻的上一个定点之间的时间序列数据,按照所述用户需求时间间隔,进行等间隔划分,得到多个序列区间;
按照每个当前序列区间的上一个序列区间对应的***点的极值属性,确定每个当前序列区间的***点的需求极值属性;其中,每个当前序列区间的***点的需求极值属性与上一个序列区间对应的***点的极值属性相反;
确定每个当前序列区间中是否存在多个特征关键点;其中,所述特征关键点包括极大值点或极小值点;
如果每个当前序列区间中存在多个特征关键点,则按照每个当前序列区间的***点的需求极值属性,从每个当前序列区间的多个特征关键点中确定最显著极值点,作为***点。
10.根据权利要求9所述的方法,其特征在于,还包括:
如果每个当前序列区间中不存在多个特征关键点,则确定每个当前序列区间的上一个序列区间对应的***点是否为特征关键点;
如果是,则将每个当前序列区间内的目标最值点确定为***点;
如果不是,则将每个当前序列区间的上一个序列区间对应的***点更新为目标特征关键点,并将每个当前序列区间内的目标最值点确定为***点;
其中,所述目标特征关键点指与每个当前序列区间的上一个序列区间对应的***点相邻且极值属性相同的特征关键点,所述目标最值点的极值属性与每个当前序列区间的***点的需求极值属性相同。
11.根据权利要求9所述的方法,其特征在于,还包括:
确定存在共同定点的两个相邻的序列区间内,所述共同定点与左右相邻的两个***点的极值属性是否满***错分布;
如果不满足,则确定所述存在共同定点的两个相邻的序列区间内,是否存在与所述共同定点的极值属性相反的特征关键点;
如果存在与所述共同定点的极值属性相反的特征关键点,则将该特征关键点替换所述共同定点,作为新定点。
12.根据权利要求11所述的方法,其特征在于,还包括:
如果不存在与所述共同定点的极值属性相反的特征关键点,则确定所述存在共同定点的两个相邻的序列区间内,与所述共同定点的极值属性相反的最值点,并将该最值点替换所述共同定点,作为新定点。
13.根据权利要求1所述的方法,其特征在于,所述原始时间序列数据包括电力***中的时间序列数据。
14.根据权利要求1所述的方法,其特征在于,在所述确定原始时间序列数据中交错分布的极大值点和极小值点之前,还包括:
对所述原始时间序列数据进行预处理;其中,所述预处理包括以下至少之一:将所述原始时间序列数据中的非时间尺度数据归一化处理和按照预设倍数对所述非时间尺度数据进行放大处理。
15.一种等间隔时间序列压缩装置,其特征在于,包括:
特征关键点确定模块,用于确定原始时间序列数据中交错分布的极大值点和极小值点,并将所述交错分布的极大值点和极小值点作为所述原始时间序列数据的特征关键点;
取余计算模块,用于将各个特征关键点对应的时间维度参数对压缩倍数进行取余计算,得到多个余数;其中,所述压缩倍数基于所述原始时间序列数据中的时间间隔和用户需求时间间隔确定;
目标余数确定模块,用于按照余数取值,确定所述多个余数中数量最多的目标余数;
定点确定模块,用于将所述目标余数对应的多个特征关键点确定为所述原始时间序列数据的多个定点;
定点位置确定模块,用于基于每个定点对应的时间维度参数对所述压缩倍数进行取余计算得到的商值,确定每个定点在压缩之后的压缩时间序列数据中的位置;
***点数量确定模块,用于基于每个定点在所述压缩时间序列数据中的位置、相邻两个定点的极值属性以及所述用户需求时间间隔,确定任意相邻的两个定点之间的***点数量;其中,定点的极值属性用于表示定点为极大值点或极小值点;
***点确定模块,用于从所述原始时间序列数据中处于任意相邻的两个定点之间的时间序列数据中,按照所述用户需求时间间隔,等间隔地确定与所述***点数量对应的多个***点;其中,所述***点的类型包括极大值点、极小值点或最值点;
压缩时间序列数据生成模块,用于基于每个定点和每个***点生成所述压缩时间序列数据。
16.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令或程序的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令或程序,并执行所述可执行指令或程序以实现权利要求1-14中任一所述的等间隔时间序列压缩方法。
17.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序或指令,所述计算机程序或指令被处理器执行时实现权利要求1-14中任一所述的等间隔时间序列压缩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011164152.7A CN112380268B (zh) | 2020-10-27 | 2020-10-27 | 等间隔时间序列压缩方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011164152.7A CN112380268B (zh) | 2020-10-27 | 2020-10-27 | 等间隔时间序列压缩方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112380268A CN112380268A (zh) | 2021-02-19 |
CN112380268B true CN112380268B (zh) | 2022-03-18 |
Family
ID=74576688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011164152.7A Active CN112380268B (zh) | 2020-10-27 | 2020-10-27 | 等间隔时间序列压缩方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112380268B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113280819B (zh) * | 2021-05-21 | 2024-03-08 | 广东美房智高机器人有限公司 | 一种移动机器人的作业路径数据的压缩方法 |
CN113408829B (zh) * | 2021-08-19 | 2021-11-26 | 南通倍佳机械科技有限公司 | 基于大数据分析的危险区域设备数据压缩方法及*** |
CN115167554B (zh) * | 2022-07-19 | 2024-05-10 | 珠海格力电器股份有限公司 | 烹饪温度曲线的处理方法、装置和计算机设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101795138A (zh) * | 2010-01-19 | 2010-08-04 | 北京四方继保自动化股份有限公司 | 电力***广域测量***高密度时间序列数据的压缩处理方法 |
US8742959B1 (en) * | 2013-01-22 | 2014-06-03 | Sap Ag | Compressing a time series of data |
CN104820779A (zh) * | 2015-04-28 | 2015-08-05 | 电子科技大学 | 一种基于极值点和转折点的时间序列降维方法 |
CN107463604A (zh) * | 2017-06-19 | 2017-12-12 | 天津科技大学 | 一种基于重要点的时间序列固定分段算法 |
CN107562374A (zh) * | 2017-08-14 | 2018-01-09 | 重庆大学 | 一种非易失性存储器时序数据压缩的量化方法 |
CN109643397A (zh) * | 2016-09-06 | 2019-04-16 | 日本电信电话株式会社 | 时间序列数据特征量提取装置、时间序列数据特征量提取方法和时间序列数据特征量提取程序 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9450602B2 (en) * | 2014-01-02 | 2016-09-20 | Sap Se | Efficiently query compressed time-series data in a database |
-
2020
- 2020-10-27 CN CN202011164152.7A patent/CN112380268B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101795138A (zh) * | 2010-01-19 | 2010-08-04 | 北京四方继保自动化股份有限公司 | 电力***广域测量***高密度时间序列数据的压缩处理方法 |
US8742959B1 (en) * | 2013-01-22 | 2014-06-03 | Sap Ag | Compressing a time series of data |
CN104820779A (zh) * | 2015-04-28 | 2015-08-05 | 电子科技大学 | 一种基于极值点和转折点的时间序列降维方法 |
CN109643397A (zh) * | 2016-09-06 | 2019-04-16 | 日本电信电话株式会社 | 时间序列数据特征量提取装置、时间序列数据特征量提取方法和时间序列数据特征量提取程序 |
CN107463604A (zh) * | 2017-06-19 | 2017-12-12 | 天津科技大学 | 一种基于重要点的时间序列固定分段算法 |
CN107562374A (zh) * | 2017-08-14 | 2018-01-09 | 重庆大学 | 一种非易失性存储器时序数据压缩的量化方法 |
Non-Patent Citations (3)
Title |
---|
一种无限长时间序列的分段线性拟合算法;闫秋艳,夏士雄;《电子学报》;20100215;全文 * |
基于分段极值的时间序列数据查询显示方法;李重文,邓腾彬,马世龙;《计算机工程》;20140915;全文 * |
时间序列的表示与分类算法综述;原继东,王志海;《计算机科学》;20150315;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112380268A (zh) | 2021-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112380268B (zh) | 等间隔时间序列压缩方法、装置、设备和存储介质 | |
Echihabi et al. | The lernaean hydra of data series similarity search: An experimental evaluation of the state of the art | |
Yong et al. | An improved KNN text classification algorithm based on clustering | |
Bello | Measuring structural similarity in music | |
Liao et al. | A sample-based hierarchical adaptive K-means clustering method for large-scale video retrieval | |
KR102215690B1 (ko) | 시계열의 데이터를 모니터링 하는 방법 및 그 장치 | |
Louboutin et al. | Using general-purpose compression algorithms for music analysis | |
CN104750973B (zh) | 基于数据平滑度函数的机组负荷(准)稳态工况聚类算法 | |
CN109190660A (zh) | 基于条件互信息的特征选择与评价方法 | |
CN111291824B (zh) | 时间序列的处理方法、装置、电子设备和计算机可读介质 | |
CN113822319B (zh) | 面向主动配电网的源-荷联合时序场景生成方法和*** | |
CN112819299A (zh) | 一种基于中心优化的差分K-means负荷聚类方法 | |
Khalil et al. | Improvement of aerodynamic performance of a small wind turbine | |
CN111625578A (zh) | 适用于文化科技融合领域时间序列数据的特征提取方法 | |
CN113807605A (zh) | 电力消耗预测模型训练方法、预测方法及装置 | |
CN113762355A (zh) | 一种基于非侵入式负荷分解的用户异常用电行为检测方法 | |
CN116775918B (zh) | 基于互补熵对比学习跨模态检索方法、***、设备及介质 | |
Jin et al. | Power load curve clustering algorithm using fast dynamic time warping and affinity propagation | |
CN109508371B (zh) | 一种结合集束搜索间隔最大化约束的文本摘要生成方法 | |
Hassanpour et al. | A regression-based approach for measuring similarity in discrete signals | |
CN105373521B (zh) | 一种基于Minwise Hash动态多阈值过滤计算文本相似度的方法 | |
CN112966108B (zh) | 检测数据和训练分类模型的方法、装置、设备和存储介质 | |
Yang et al. | Short-term prediction of wind power generation based on VMD-GSWOA-LSTM model | |
Wang et al. | Stacking strategy-assisted random forest algorithm and its application | |
CN111090743A (zh) | 一种基于词嵌入和多值形式概念分析的论文推荐方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |