CN104077309B - 一种对时序序列进行降维处理的方法和装置 - Google Patents
一种对时序序列进行降维处理的方法和装置 Download PDFInfo
- Publication number
- CN104077309B CN104077309B CN201310105366.0A CN201310105366A CN104077309B CN 104077309 B CN104077309 B CN 104077309B CN 201310105366 A CN201310105366 A CN 201310105366A CN 104077309 B CN104077309 B CN 104077309B
- Authority
- CN
- China
- Prior art keywords
- time
- time series
- distance
- processing
- series
- 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
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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Software Systems (AREA)
Abstract
本发明公开了一种对时序序列进行降维处理的方法和装置,属于计算机技术领域。所述方法包括:获取待处理的时序序列;对所述时序序列进行PLA处理,所述PLA处理的时间片段的时长不固定且所述时间片段的时长为预设的单位时长的整数倍。采用本发明,可以减少存储时序序列时所占用的存储空间。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种对时序序列进行降维处理的方法和装置。
背景技术
随着数据库技术的飞速发展,人们开始关注如何从大规模数据中获取有价值的信息,这个过程可称作大数据分析。大数据分析在实际应用中,很多情况都是针对时序数据进行分析。时序数据是指时间序列数据,是统一指标下按时间顺序记录的数据列,例如,股票市场的交易数据,传感器网络收集到的状态数据,商店的消费统计数据,电话通信量统计数据等等。
时序数据的数据量是非常庞大的,为了方便时序数据的存储和检索,会对时序数据采取降维处理,即将较多时间点的数据压缩为较少时间点的数据。PLA(PiecewiseLinear Approximation,分段线性近似法)是一种常用的降维处理方法。PLA是将时序数据切分成小的时间片段,在每个时间片段中,用一个具有一定斜率的线段来近似该时间片段的数据,这样,在存储处理后的时序序列时,只需要存储各时间片段对应的线段的起始和终止的时间点以及相应的线性参数(线段所属直线方程的系数),可以有效的节省存储空间。
时序数据相似性检索是大数据分析中常用的一种分析手段。其做法是,将庞大的时序数据分成大量时长相等的时序序列进行存储,根据检索的目标时序序列(目标时序序列与存储的各时序序列时长相同),在存储的各时序序列中查询与其相匹配的时序序列。例如,在心电图中,某种特征波形的出现频率可以用于判定某种疾病,可以在记录的心电图中对该特征波形进行检索,并根据检索结果进行疾病分析。为了便于检索,一般对存储的时序序列和目标时序序列都进行定长PLA处理。定长PLA即,在PLA处理的过程中,将时序序列切分成多个时长相等的时间片段。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
现有技术中,对时序序列存储时,进行定长PLA处理,对于定长PLA,需要通过缩短时间片段的时长来保证数据的精度,这将会增大需要存储的数据量,对存储空间的占用较大。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种对时序序列进行降维处理的方法和装置,以减少存储时序序列时所占用的存储空间。所述技术方案如下:
一方面,提供了一种对时序序列进行降维处理的方法,所述方法包括:
获取待处理的时序序列;
对所述时序序列进行分段线性近似法PLA处理,所述PLA处理的时间片段的时长不固定且所述时间片段的时长为预设的单位时长的整数倍。
另一方面,提供了一种对时序序列进行检索的方法,预先存储有采用如上述的对时序序列进行降维处理的方法处理的时序序列,所述方法包括:
接收携带目标时序序列的查询请求;
采用对存储的时序序列进行降维处理的相同方式对所述目标时序序列进行降维处理;
在存储的时序序列中,查询与处理后的目标时序序列相匹配的时序序列。
另一方面,提供了一种对时序序列进行降维处理的装置,所述装置包括:
获取模块,用于获取待处理的时序序列;
处理模块,用于对所述时序序列进行分段线性近似法PLA处理,所述PLA处理的时间片段的时长不固定且所述时间片段的时长为预设的单位时长的整数倍。
另一方面,提供了一种对时序序列进行检索的装置,所述装置包括:
存储模块,用于预先存储采用如上述的对时序序列进行降维处理的装置处理的时序序列;
接收模块,用于接收携带目标时序序列的查询请求;
处理模块,用于采用对存储的时序序列进行降维处理的相同方式对所述目标时序序列进行降维处理;
查询模块,用于在存储的时序序列中,查询与处理后的目标时序序列相匹配的时序序列。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,采用时间片段的时长不固定且为预设的单位时长的整数倍的PLA处理方式,对时序序列进行降维处理,这样,相对于定长PLA,可以用一个时间片段替代定长PLA中的多个时间片段,从而,可以减少存储时序序列时所占用的存储空间。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的对时序序列进行降维处理的方法流程图;
图2是本发明实施例提供的对时序序列进行检索的方法流程图;
图3是本发明实施例提供的对时序序列进行降维处理的装置结构示意图;
图4是本发明实施例提供的对时序序列进行检索的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种对时序序列进行降维处理的方法,该方法是对时序序列进行降维处理并存储的方法,可以应用于需要对大量的时序序列进行存储的数据库中。如图1所示,该方法的处理流程可以包括如下的步骤:
步骤101,获取待处理的时序序列。
以数据库对实时产生的时序数据进行存储为例,随着时间的推移,会不断的产生新的时序数据,每经过一定的时长(预先设置的时序序列的时长),可以获取这段时长内产生的时序数据,作为待处理的时序序列,进而可以进行后续的降维处理的操作。另外,该步骤中也可以获取数据库中已经存储的时序序列,进行后续的降维处理,或者,该步骤中也可以获取进行时序序列检索的目标时序序列,进行后续的降维处理。
步骤102,对获取的时序序列进行PLA处理,该PLA处理的时间片段的时长不固定且时间片段的时长为预设的单位时长的整数倍。
其中,在进行单位时长的设置时,可以设置其为时序序列的时长的N分之一(N可以为任意正整数,N的取值可以根据精确度和处理速度的要求进行设置)。各时间片段的时长可以是单位时长的任意整数倍(不超过N),各时间片段的时长可以不同,这样,在PLA处理的过程中,时间片段的时长选择自由度较大,这使得此PLA处理可以尽可能的遵循PLA的根据数据变化趋势进行时间片段划分的原则,即尽可能在数据随时间的变化趋势发生改变(如由增大趋势变为减小趋势)的时间点附近进行时间片段划分(这是PLA的设计之初的原则,定长PLA实际在一定程度上破坏了这个原则)。
在步骤102之后,还可以包括对处理后的时序序列进行存储的步骤。
其中,处理后的时序序列即为经过上述PLA处理的降维的时序序列。该处理后的时序序列的内容可以包括按时序顺序排列的每个时间片段的起始时间点和线性参数。时间片段结束时间点是其后一个时间片段的起始时间点,所以可以不记录时间片段的结束时间点。时间片段的线性参数,可以是时间片段对应的线段所属直线的函数式中的系数,即f(x)=ax+b中的a和b,其中x为时间变量,f(x)为时间点对应的数据。
本发明实施例中,对于上述步骤102的处理过程,可以有多种不同的具体执行方法,下面给出了其中的几种执行方法。
方法一,可以包括如下的处理步骤:
步骤一,对获取的时序序列进行时间片段的时长为预设的单位时长的PLA处理。其中,时序序列的时长是所述单位时长的整数倍。
该方法中先对时序序列进行时间片段的时长为单位时长的定长PLA处理,再进行时间片段的合并处理。
步骤二,在时长为该单位时长的各时间片段中,如果顺序连接的多个时间片段对应的线段之间满足预设的近似条件,则对此顺序连接的多个时间片段进行合并处理。
其中,时长为该单位时长的各时间片段即上述步骤的定长PLA处理中划分出的各时间片段。近似条件即对各线段之间的近似度的要求,如果顺序连接的多个时间片段对应的线段之间满足一定的近似度的要求,则可以对这些时间片段进行合并。
此合并处理可以包括:将顺序连接的多个时间片段合并为一个时间片段,合并得到的时间片段对应的线段用于近似表示此多个时间片段对应的线段组成的折线。合并得到的时间片段的两个端点的时间点可以分别是该时间片段的起始时间点和结束时间点。合并得到的时间片段的两个端点的数据值可以分别根据该时序序列在该起始时间点和该结束时间点的数据值确定,例如,可以选取与该起始时间点的数据值的差值小于某阈值的数据值作为第一端点的数据值,选取与该结束时间点的数据值的差值小于某阈值的数据值作为第二端点的数据值。优选的,合并得到的时间片段的两个端点的数据值可以分别为该时序序列在该起始时间点和该结束时间点的数据值,也即,合并得到的时间片段对应的线段为此顺序连接的多个时间片段对应的线段的各端点中最外侧的两个端点的连线。
通过合并处理的过程,可以将合并前的多个时间片段对应的多组数据(每组数据包括起始时间点和线性参数)简化为合并后的一个时间片段对应的一组数据。
具体的,步骤二的执行过程可以是:在时长为单位时长的各时间片段中,如果顺序连接的多个时间片段对应的线段相互之间的斜率差的绝对值小于预设的第一阈值,则对所述顺序连接的多个时间片段进行合并处理。顺序连接的多个时间片段可以是两个时间片段也可以是两个以上的时间片段。这里,合并的条件可以是顺序连接的多个时间片段对应的线段两两之间的斜率差的绝对值都小于第一阈值。进一步的,该步骤在实施过程中,可以采用如下的多种执行方式。
处理方式一,其具体执行过程可以包括如下步骤:
步骤A,在时长为单位时长的各时间片段中,将位于时序序列第一端的时间片段设置为第一基准时间片段。
其中,时序序列的的两端可以定义为第一端和第二端,第一端可以是时序序列的最前端,也可以是时序序列的最后端。
步骤B,判断第一基准时间片段是否为时序序列第二端的时间片段,如果是,则结束流程,否则,将第一基准时间片段的靠近时序序列第二端侧的相邻时间片段设置为第二基准时间片段。
其中,如果定义时序序列的第一端是时序序列的最前端,则第二端是时序序列的最后端,如果第一端是时序序列的最后端,则第二端是时序序列的最前端。第一基准时间片段的靠近时序序列第二端侧的相邻时间片段,即为与第一基准时间片段相邻的时间片段中距离时序序列第二端较近的时间片段。
步骤C,判断第一基准时间片段对应的线段和第二基准时间片段对应的线段的斜率差的绝对值是否小于预设的第一阈值,如果是,则执行步骤D,否则,执行步骤E。
其中,第一阈值的取值可以根据精确度、存储空间占用和处理速度等要求进行设置。两个线段的斜率接近,说明这两个线段所在的直线比较近似,如果进行合并,对数据精确度的影响较小,而可以减少存储空间占用。
步骤D,判断第二基准时间片段是否为时序序列第二端的时间片段,如果是,则将第一基准时间片段至第二基准时间片段的顺序连接的多个时间片段进行合并处理,并结束流程,否则,将第二基准时间片段的靠近时序序列第二端侧的相邻时间片段设置为第二基准时间片段,并转至执行步骤C。
具体的,将第一基准时间片段至第二基准时间片段的顺序连接的多个时间片段进行合并处理的过程中,如果第一基准时间片段和第二基准时间片段是相邻的时间片段,可以是对第一基准时间片段和第二基准时间片段进行合并处理,如果第一基准时间片段和第二基准时间片段不是相邻的时间片段,可以是对第一基准时间片段和第二基准时间片段以及它们之间的时间片段进行合并处理。
步骤E,判断第一基准时间片段是否为第二基准时间片段的相邻时间片段,如果是,则将第二基准时间片段设置为第一基准时间片段,并转至执行步骤B,否则,将包括第一基准时间片段和第二基准时间片段之间的时间片段以及第一基准时间片段在内的顺序连接的多个时间片段进行合并处理,将第二基准时间片段设置为第一基准时间片段,并转至执行步骤B。
上述流程中,从时序序列的一端开始向另一端,顺序的将各时间片段中的线段与第一个时间片段中的线段进行斜率比较,直到当前时间片段与第一个时间片段的斜率差达到第一阈值时,将第一个时间片段一直到当前时间片段的前一个时间片段进行合并处理,然后,把当前时间片段作为第一个时间片段重复前面的过程,直到时序序列另一端的时间片段。
下面结合一个具体的例子对上述流程进行说明:假设时序序列被划分为5个时长为单位时长的时间片段,从前到后分别是时间片段1至时间片段5。首先,可以将时间片段2中的线段与时间片段1中的线段进行斜率比较,假设斜率差小于第一阈值;然后,继续将时间片段3中的线段与时间片段1中的线段进行斜率比较,假设斜率差仍小于第一阈值;再后,继续将时间片段4中的线段与时间片段1中的线段进行斜率比较,假设这时斜率差大于第一阈值,这时,将时间片段1、时间片段2和时间片段3进行合并处理;再后,从时间片段4开始,将时间片段5中的线段与时间片段4中的线段进行斜率比较,假设斜率差小于第一阈值,这时,将时间片段4和时间片段5进行合并处理,并结束流程。
处理方式二,其具体执行过程可以包括如下步骤:
步骤H,在时长为单位时长的各时间片段中,将位于时序序列第一端的时间片段设置为第三基准时间片段。
步骤I,判断第三基准时间片段是否为时序序列第二端的时间片段,如果是,则结束流程,否则,执行步骤J。
步骤J,判断第三基准时间片段的靠近时序序列第二端侧的相邻时间片段对应的线段与第三基准时间片段对应的线段的斜率差的绝对值是否小于预设的第一阈值,如果是,则执行步骤K,否则,执行步骤L。
其中,第一阈值的取值可以根据精确度、存储空间占用和处理速度等要求进行设置。
步骤K,将包括第三基准时间片段的靠近时序序列第二端侧的相邻时间片段和第三基准时间片段在内的顺序连接的多个时间片段进行合并处理,将合并得到的时间片段设置为第三基准时间片段,并转至执行步骤I。
步骤L,将第三基准时间片段的靠近时序序列第二端侧的相邻时间片段设置为第三基准时间片段,并转至执行步骤I。
上述步骤中,从时序序列的一端开始向另一端,逐个比较时间片段中线段的斜率,如果相邻的时间片段中的线段的斜率差小于第一阈值,则对时间片段进行合并处理,并使用合并后的时间片段与后面相邻的时间片段进行斜率比较,以此类推。
下面结合一个具体的例子对上述流程进行说明:假设时序序列被划分为5个时长为单位时长的时间片段,从前到后分别是时间片段1至时间片段5。首先,可以将时间片段2中的线段与时间片段1中的线段进行斜率比较,假设斜率差小于第一阈值,则将时间片段1和时间片段2进行合并处理得到时间片段2’;然后,将时间片段3中的线段与时间片段2’中的线段进行斜率比较,假设斜率差仍小于第一阈值,则将时间片段2’和时间片段3进行合并处理得到时间片段3’;再后,将时间片段4中的线段与时间片段3’中的线段进行斜率比较,假设这时斜率差大于第一阈值,则从时间片段4开始进行比较,将时间片段5中的线段与时间片段4中的线段进行斜率比较,假设斜率差小于第一阈值,这时,将时间片段4和时间片段5进行合并处理,并结束流程。
方法二,可以包括如下的处理步骤:
步骤一,在获取的时序序列的时长对应的时间范围内确定时间点,这些时间点距离时序序列的起始时间点或终止时间点的时长为预设的单位时长的整数倍(这些时间点可称作单位时间点),时序序列的时长是单位时长的整数倍。
因为时序序列的时长是单位时长的整数倍,所以距离时序序列起始时间点的时长是单位时长的整数倍的时间点与时序序列终止时间点相距的时长也是单位时长的整数倍。
步骤二,根据时序序列的波形包括的波峰和波谷的时间点,在上述确定出的时间点中选取时间片段的分界时间点。
具体的,对于各波峰的时间点,可以在上述确定出的各时间点中,选取一个或多个与波峰的时间点的距离小于某预设时长的时间点,对于各波谷的时间点,可以在上述确定出的各时间点中,选取一个或多个与波谷的时间点的距离小于某预设时长的时间点,将选取的时间点作为时间片段的分界时间点。这样选取时间片段的分界时间点进行PLA处理,可以尽量保证根据数据变化趋势进行时间片段划分,在节省存储空间的同时,可以一定程度的保证数据精确度。
优选的,可以在上述确定出的时间点中,选取与各波峰的时间点的距离小于所述单位时长的时间点,以及与各波谷的时间点的距离小于所述单位时长的时间点,并将选取的时间点作为时间片段的分界时间点。具体的,对于每个波峰和波谷的时间点,可以选取至少一个与其距离小于单位时长的单位时间点,作为时间片段的分界时间点。对于一个波峰或波谷的时间点,如果与某个单位时间点重合,则在各单位时间点中,与该波峰或波谷的时间点距离小于单位时长的单位时间点只有一个,即为此重合的单位时间点,可以选择此单位时间点作为时间片段的分界时间点。对于一个波峰或波谷的时间点,如果位于两个单位时间点中间,则在各单位时间点中,与该波峰或波谷的时间点距离小于单位时长的单位时间点有两个,即为这两个单位时间点,可以选择其中的任一个作为时间片段的分界时间点,也可以将这两个单位时间点都选作时间片段的分界时间点。
优选的,可以在上述确定出的时间点中,选取与各波峰的时间点的距离最小的时间点,以及与各波谷的时间点的距离最小的时间点,并将选取的时间点作为时间片段的分界时间点。具体的,对于每个波峰和波谷的时间点,可以选取与其距离最小的一个单位时间点,作为时间片段的分界时间点。这样选取时间片段的分界时间点进行PLA处理,可以更有效的保证PLA处理后的时序序列的数据精确度。
步骤三,根据选取的时间片段的分界时间点,对时序序列进行PLA处理。
这种方法,处理过程较为简单,可以有效的提高步骤102的处理效率。
本发明实施例还提供了一种对时序序列进行检索的方法。该方法中,可以预先存储经过降维处理的时序序列,该降维处理的方式可以是预定的任意降维处理方式,如传统PLA处理、定长PLA处理等。优选的,可以预先存储采用上述实施例中的对时序序列进行降维处理的方法处理的时序序列,具体的处理过程可以参考上面对步骤102的详细说明,在此不再累述。如图2所示,该方法的处理流程可以包括如下的步骤:
步骤201,接收携带目标时序序列的查询请求。其中,目标时序序列的时长与存储的时序序列的时长相同。
步骤202,采用对存储的时序序列进行降维处理的相同方式对目标时序序列进行降维处理。如果采用上述实施例中的对时序序列进行降维处理的方法对目标时序序列进行降维处理,则具体的处理过程可以参考上面对步骤102的详细说明,在此不再累述。
步骤203,在存储的时序序列中,查询与处理后的目标时序序列相匹配的时序序列。
其中,处理后的目标时序序列和存储的每个时序序列都记录了一系列线段的数据,所以都可以表示为一条折线。处理后的目标时序序列和存储的时序序列相匹配,也即它们的数据的近似度达到一定的要求,可以理解为它们对应的折线之间的近似度达到了一定的要求。具体的,匹配的判定方式可以是判断处理后的目标时序序列与存储的时序序列之间距离的绝对值是否小于某预设的距离阈值,如果是,则判定匹配,否则判定不匹配。
两个时序序列之间距离的计算方法有很多种,优选的,可以采用如下的方法计算距离:计算处理后的目标时序序列与存储的时序序列对应的折线在它们时长范围内组成的图形的面积,这里,定义时序序列之间的距离是存在正负的,那么,相应的图形的面积也是存在正负的。具体的,对于图形的每一个封闭部分,定义如果第一时序序列的平均值大于第二时序序列的平均值,则该部分的面积为正,否则面积为负,也可以反过来,对于图形的每一个封闭部分,定义如果第一时序序列的平均值大于第二时序序列的平均值,则该部分的面积为负,否则面积为正。对于图形的一个封闭部分,在该封闭部分的时间范围内,两个时序序列对应的折线,哪个折线在上面则说明哪个折线对应的时序序列的平均值较大。计算出图形的每个封闭部分的面积后,这些面积数值是有正有负的,将这些封闭部分的面积数值相加,则可以得到整个图形的面积,该图形的面积即为此两个时序序列之间距离。
在本发明实施例中,还可以记录存储的各时序序列对应的第一距离,其中,第一距离是处理后的时序序列与预设的基准时序序列之间的距离,第一距离又可以定义为参考距离。基于此,上述步骤203的执行过程可以是:获取第二距离,第二距离为处理后的目标时序序列与基准时序序列之间的距离(第二距离又可以定义为目标距离);在存储的时序序列中,获取对应的第一距离与所述第二距离的距离差小于预设的第二阈值的时序序列(即获取参考距离与目标距离的距离差小于预设的第二阈值的时序序列),作为与处理后的目标时序序列相匹配的时序序列。
其中,基准时序序列的时长与存储的时序序列的时长相同,基准时序序列中的时序数据可以任意设置,优选的,为了便于计算距离,提高处理效率,可以设置基准时序序列只包括一个时间片段,且该时间片段对应的线段的斜率为0。参考距离可以在处理后的时序序列存储到数据库中之后计算得到,无需在查询的过程中再计算。
参考距离与目标距离的距离差,即为相应的存储的时序序列与处理后的目标时序序列之间的距离。在上述的查询过程中,只需要简单的计算各参考距离与目标距离的距离差,便可以确定相应的处理后的时序序列与处理后的目标时序序列之间的距离,与预设的第二阈值进行比较之后,就可以确定出符合条件的时序序列,即与处理后的目标时序序列相匹配的时序序列。相对于现有技术在查询过程中实时计算处理后的目标时序序列与存储的各时序序列之间的距离,本发明实施例提供的方法可以有效的提升查询过程的处理效率。
优选的,还可以对存储的时序序列建立R-树,并记录R-树中的每个MBR(MinimumBounding Rectangle,最小边界矩形)对应的最小边界距离,其中,最小边界距离是MBR中的各时序序列的第一距离(参考距离)的最小值。
R-树是一种基于树结构的数据描述方式,主要用来通过索引数据来提高这些数据的查询效率。R-树的核心思想是将相互类似的数据对象分组在一起,并对每组数据对象用最小边界矩形(MBR)来在更高一层的树节点上来描述这组数据对象。由于所有相似的数据对象包含在一个MBR中,当查询数据库中与目标数据对象相匹配的数据对象时,只需要从最高层开始,在每层中查找能够包含目标数据对象的MBR,直到最底层,然后在最底层的MBR内的各数据对象中查找与目标数据对象相匹配的数据对象。上述的数据对象可以是时序序列,R-树可以用于对数据库中的时序序列进行描述。参考距离和最小边界距离都可以在R-树中进行记录。
当有新的处理后的时序序列存入数据库时,加入到某MBR的范围内,则可以计算该时序序列的参考距离,并可以根据该参考距离判定是否需要对该MBR的最小边界距离进行更新,如果该参考距离小于该MBR的最小边界距离,则将该MBR的最小边界距离更新为该参考距离的数值。如果这个MBR已满,可以将其分割为两个MBR,将该时序序列插入其中的一个MBR,然后记录两个MBR的最小边界距离。
基于R-树及各MBR的最小边界距离,上述在存储的时序序列中获取对应的第一距离与第二距离的距离差小于预设的第二阈值的时序序列作为与处理后的目标时序序列相匹配的时序序列的处理过程,可以是:根据记录的R-树中的MBR对应的最小边界距离以及时序序列对应的第一距离,在存储的时序序列中,获取对应的第一距离与第二距离的距离差小于预设的第二阈值的时序序列,作为与处理后的目标时序序列相匹配的时序序列。具体处理过程可以包括:在R-树中获取最小边界距离与第二距离的距离差小于预设第二阈值的MBR;在获取的MBR中的各时序序列中,获取对应的第一距离与第二距离的距离差小于预设第二阈值的时序序列,作为与处理后的目标时序序列相匹配的时序序列。
在实施过程中,从R-树的最高层开始,在R-树的最底层之外的每层中,查询最小边界距离与目标距离的距离差小于预设的第二阈值的MBR,并在查询到的MBR中进行下一层的查询;在R-树的最底层中,获取参考距离与目标距离的距离差小于预设的第二阈值的时序序列,作为与处理后的目标时序序列相匹配的时序序列。
在上述的查询过程中,只需要简单的计算MBR的最小边界距离与目标距离的差值,以及计算相应的参考距离与目标距离的差值,就可以进行R-树的查询过程。相对于现有技术在R-树查询过程中实时计算距离的方式,本发明实施例提供的方法可以有效的提高R-树查询的效率。
上述方法中的R-树查询的过程可以通过下面的程序来实现:
其中,Q为经过PLA处理后的目标时序序列,ε为预设的第二阈值,b为基准时序序列。该程序的输出结果可以是result={TS1,TS2,TS3,…,TSn}。
本发明实施例中,采用时间片段的时长不固定且为预设的单位时长的整数倍的PLA处理方式,对时序序列进行降维处理,这样,相对于定长PLA,可以用一个时间片段替代定长PLA中的多个时间片段,从而,可以减少存储时序序列时所占用的存储空间。
基于相同的技术构思,本发明实施例还提供了一种对时序序列进行降维处理的装置,如图3所示,所述装置包括:
获取模块310,用于获取待处理的时序序列;
处理模块320,用于对所述时序序列进行分段线性近似法PLA处理,所述PLA处理的时间片段的时长不固定且所述时间片段的时长为预设的单位时长的整数倍。
优选的,所述处理模块320,具体用于:
对所述时序序列进行时间片段的时长为预设的单位时长的PLA处理,所述时序序列的时长是所述单位时长的整数倍;
在时长为所述单位时长的各时间片段中,如果顺序连接的多个时间片段对应的线段之间满足预设的近似条件,则对所述顺序连接的多个时间片段进行合并处理。
优选的,所述处理模块320,具体用于:
在时长为所述单位时长的各时间片段中,如果顺序连接的多个时间片段对应的线段相互之间的斜率差的绝对值小于预设的第一阈值,则对所述顺序连接的多个时间片段进行合并处理。
优选的,所述处理模块320,具体用于:
在所述时序序列的时长对应的时间范围内确定时间点,所述时间点距离所述时序序列的起始时间点或终止时间点的时长为预设的单位时长的整数倍,所述时序序列的时长是所述单位时长的整数倍;
根据所述时序序列的波形包括的波峰和波谷的时间点,在确定出的时间点中选取时间片段的分界时间点;
根据选取的时间片段的分界时间点,对所述时序序列进行PLA处理。
优选的,所述处理模块320,具体用于:
在所述确定出的时间点中,选取与各波峰的时间点的距离小于所述单位时长的时间点,以及与各波谷的时间点的距离小于所述单位时长的时间点,并将选取的时间点作为时间片段的分界时间点。
优选的,所述处理模块320,具体用于:
在所述确定出的时间点中,选取与各波峰的时间点的距离最小的时间点,以及与各波谷的时间点的距离最小的时间点,并将选取的时间点作为时间片段的分界时间点。
优选的,还包括:存储模块,用于对处理后的时序序列进行存储。
基于相同的技术构思,本发明实施例还提供了一种对时序序列进行检索的装置,如图4所示,所述装置包括:
存储模块410,用于预先存储经过降维处理的时序序列,该降维处理的方式可以是预定的任意降维处理方式,如传统PLA处理、定长PLA处理等,优选的,该存储模块410用于预先存储采用如上述的对时序序列进行降维处理的装置处理的时序序列;
接收模块420,用于接收携带目标时序序列的查询请求;
处理模块430,用于采用对存储的时序序列进行降维处理的相同方式对所述目标时序序列进行降维处理;
查询模块440,用于在存储的时序序列中,查询与处理后的目标时序序列相匹配的时序序列。
优选的,所述存储模块410,还用于:
记录存储的各时序序列对应的第一距离,其中,所述第一距离是所述存储的时序序列与预设的基准时序序列之间的距离;
所述查询模块440,用于:
获取第二距离,所述第二距离为所述处理后的目标时序序列与所述基准时序序列之间的距离;
在存储的时序序列中,获取对应的第一距离与所述第二距离的距离差小于预设的第二阈值的时序序列,作为与处理后的目标时序序列相匹配的时序序列。
优选的,所述存储模块410,还用于:
对存储的时序序列建立R-树;记录所述R-树中的每个最小边界矩形MBR对应的最小边界距离,其中,所述最小边界距离是所述MBR中的各时序序列的第一距离的最小值;
所述查询模块440,用于:
根据记录的所述R-树中的MBR对应的最小边界距离以及时序序列对应的第一距离,在存储的时序序列中,获取对应的第一距离与所述第二距离的距离差小于预设的第二阈值的时序序列,作为与处理后的目标时序序列相匹配的时序序列。
优选的,所述查询模块440,用于:
在所述R-树中获取最小边界距离与所述第二距离的距离差小于预设第二阈值的MBR;
在获取的MBR中的各时序序列中,获取对应的第一距离与所述第二距离的距离差小于预设第二阈值的时序序列,作为与处理后的目标时序序列相匹配的时序序列。
本发明实施例中,采用时间片段的时长不固定且为预设的单位时长的整数倍的PLA处理方式,对时序序列进行降维处理,这样,相对于定长PLA,可以用一个时间片段替代定长PLA中的多个时间片段,从而,可以减少存储时序序列时所占用的存储空间。
需要说明的是:上述实施例提供的对时序序列进行降维处理的装置在对时序序列进行降维处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的对时序序列进行降维处理的装置与对时序序列进行降维处理的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种对时序序列进行降维处理的方法,其特征在于,所述方法包括:
获取待处理的时序序列;
在所述时序序列的时长对应的时间范围内确定时间点,所述时间点距离所述时序序列的起始时间点或终止时间点的时长为预设的单位时长的整数倍,所述时序序列的时长是所述单位时长的整数倍;
在所述确定出的时间点中,选取与各波峰的时间点的距离小于所述单位时长的时间点,以及与各波谷的时间点的距离小于所述单位时长的时间点,并将选取的时间点作为时间片段的分界时间点;或者,在所述确定出的时间点中,选取与各波峰的时间点的距离最小的时间点,以及与各波谷的时间点的距离最小的时间点,并将选取的时间点作为时间片段的分界时间点;
根据选取的时间片段的分界时间点,对所述时序序列进行分段线性近似法PLA处理。
2.根据权利要求1所述的方法,其特征在于,所述对所述时序序列进行PLA处理,包括:
对所述时序序列进行时间片段的时长为预设的单位时长的PLA处理,所述时序序列的时长是所述单位时长的整数倍;
在时长为所述单位时长的各时间片段中,如果顺序连接的多个时间片段对应的线段之间满足预设的近似条件,则对所述顺序连接的多个时间片段进行合并处理。
3.根据权利要求2所述的方法,其特征在于,所述在时长为所述单位时长的各时间片段中,如果顺序连接的多个时间片段对应的线段之间满足预设的近似条件,则对所述顺序连接的多个时间片段进行合并处理,包括:
在时长为所述单位时长的各时间片段中,如果顺序连接的多个时间片段对应的线段相互之间的斜率差的绝对值小于预设的第一阈值,则对所述顺序连接的多个时间片段进行合并处理。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述对所述时序序列进行分段线性近似法PLA处理之后,还包括:
对处理后的时序序列进行存储。
5.一种对时序序列进行检索的方法,其特征在于,预先存储有采用如权利要求1-4所述的对时序序列进行降维处理的方法处理的时序序列,所述方法包括:
记录存储的各时序序列对应的第一距离,其中,所述第一距离是所述存储的时序序列与预设的基准时序序列之间的距离;
接收携带目标时序序列的查询请求;
采用对存储的时序序列进行降维处理的相同方式对所述目标时序序列进行降维处理;
获取第二距离,所述第二距离为所述处理后的目标时序序列与所述基准时序序列之间的距离;
在存储的时序序列中,获取对应的第一距离与所述第二距离的距离差小于预设的第二阈值的时序序列,作为与处理后的目标时序序列相匹配的时序序列。
6.根据权利要求5所述的方法,其特征在于,还包括:
对存储的时序序列建立R-树;记录所述R-树中的每个最小边界矩形MBR对应的最小边界距离,其中,所述最小边界距离是所述MBR中的各时序序列的第一距离的最小值;
所述在存储的时序序列中,获取对应的第一距离与所述第二距离的距离差小于预设的第二阈值的时序序列,作为与处理后的目标时序序列相匹配的时序序列,包括:
根据记录的所述R-树中的MBR对应的最小边界距离以及时序序列对应的第一距离,在存储的时序序列中,获取对应的第一距离与所述第二距离的距离差小于预设的第二阈值的时序序列,作为与处理后的目标时序序列相匹配的时序序列。
7.根据权利要求6所述的方法,其特征在于,根据记录的所述R-树中的MBR对应的最小边界距离以及时序序列对应的第一距离,在存储的时序序列中,获取对应的第一距离与所述第二距离的距离差小于预设的第二阈值的时序序列,作为与处理后的目标时序序列相匹配的时序序列,包括:
在所述R-树中获取最小边界距离与所述第二距离的距离差小于预设第二阈值的MBR;
在获取的MBR中的各时序序列中,获取对应的第一距离与所述第二距离的距离差小于预设第二阈值的时序序列,作为与处理后的目标时序序列相匹配的时序序列。
8.一种对时序序列进行降维处理的装置,其特征在于,所述装置包括:
获取模块,用于获取待处理的时序序列;
处理模块,用于在所述时序序列的时长对应的时间范围内确定时间点,所述时间点距离所述时序序列的起始时间点或终止时间点的时长为预设的单位时长的整数倍,所述时序序列的时长是所述单位时长的整数倍;在所述确定出的时间点中,选取与各波峰的时间点的距离小于所述单位时长的时间点,以及与各波谷的时间点的距离小于所述单位时长的时间点,并将选取的时间点作为时间片段的分界时间点;或者,在所述确定出的时间点中,选取与各波峰的时间点的距离最小的时间点,以及与各波谷的时间点的距离最小的时间点,并将选取的时间点作为时间片段的分界时间点;根据选取的时间片段的分界时间点,对所述时序序列进行分段线性近似法PLA处理。
9.根据权利要求8所述的装置,其特征在于,所述处理模块,具体用于:
对所述时序序列进行时间片段的时长为预设的单位时长的PLA处理,所述时序序列的时长是所述单位时长的整数倍;
在时长为所述单位时长的各时间片段中,如果顺序连接的多个时间片段对应的线段之间满足预设的近似条件,则对所述顺序连接的多个时间片段进行合并处理。
10.根据权利要求9所述的装置,其特征在于,所述处理模块,具体用于:
在时长为所述单位时长的各时间片段中,如果顺序连接的多个时间片段对应的线段相互之间的斜率差的绝对值小于预设的第一阈值,则对所述顺序连接的多个时间片段进行合并处理。
11.根据权利要求8-10任一项所述的装置,其特征在于,还包括:
存储模块,用于对处理后的时序序列进行存储。
12.一种对时序序列进行检索的装置,其特征在于,所述装置包括:
存储模块,用于预先存储采用如权利要求8-11所述的对时序序列进行降维处理的装置处理的时序序列,以及记录存储的各时序序列对应的第一距离,其中,所述第一距离是所述存储的时序序列与预设的基准时序序列之间的距离;
接收模块,用于接收携带目标时序序列的查询请求;
处理模块,用于采用对存储的时序序列进行降维处理的相同方式对所述目标时序序列进行降维处理;
查询模块,用于获取第二距离,所述第二距离为所述处理后的目标时序序列与所述基准时序序列之间的距离;在存储的时序序列中,获取对应的第一距离与所述第二距离的距离差小于预设的第二阈值的时序序列,作为与处理后的目标时序序列相匹配的时序序列。
13.根据权利要求12所述的装置,其特征在于,所述存储模块,还用于:
对存储的时序序列建立R-树;记录所述R-树中的每个最小边界矩形MBR对应的最小边界距离,其中,所述最小边界距离是所述MBR中的各时序序列的第一距离的最小值;
所述查询模块,用于:
根据记录的所述R-树中的MBR对应的最小边界距离以及时序序列对应的第一距离,在存储的时序序列中,获取对应的第一距离与所述第二距离的距离差小于预设的第二阈值的时序序列,作为与处理后的目标时序序列相匹配的时序序列。
14.根据权利要求13所述的装置,其特征在于,所述查询模块,用于:
在所述R-树中获取最小边界距离与所述第二距离的距离差小于预设第二阈值的MBR;
在获取的MBR中的各时序序列中,获取对应的第一距离与所述第二距离的距离差小于预设第二阈值的时序序列,作为与处理后的目标时序序列相匹配的时序序列。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310105366.0A CN104077309B (zh) | 2013-03-28 | 2013-03-28 | 一种对时序序列进行降维处理的方法和装置 |
JP2014043463A JP2014194762A (ja) | 2013-03-28 | 2014-03-06 | 次元削減に基づき時系列を処理するための方法および装置 |
US14/203,852 US9396247B2 (en) | 2013-03-28 | 2014-03-11 | Method and device for processing a time sequence based on dimensionality reduction |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310105366.0A CN104077309B (zh) | 2013-03-28 | 2013-03-28 | 一种对时序序列进行降维处理的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104077309A CN104077309A (zh) | 2014-10-01 |
CN104077309B true CN104077309B (zh) | 2018-05-08 |
Family
ID=51598569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310105366.0A Active CN104077309B (zh) | 2013-03-28 | 2013-03-28 | 一种对时序序列进行降维处理的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9396247B2 (zh) |
JP (1) | JP2014194762A (zh) |
CN (1) | CN104077309B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10809977B2 (en) | 2015-05-28 | 2020-10-20 | Mitsubishi Electric Corporation | Analysis device, analysis method, and computer readable medium |
CN106600449B (zh) * | 2015-10-16 | 2021-03-16 | 国家电网公司 | 一种自动的功率趋势识别方法 |
CN106021579B (zh) * | 2016-06-01 | 2019-11-08 | 南京国电南自维美德自动化有限公司 | 一种历史数据库的压缩方法 |
CN107391148B (zh) * | 2017-07-28 | 2020-09-15 | 广州视源电子科技股份有限公司 | 视图元素保存方法、装置、电子设备及计算机存储介质 |
CN107918914A (zh) * | 2017-11-02 | 2018-04-17 | 浙江富帝科技有限公司 | 一种金融软件中的时间序列数据分段方法 |
US10891335B2 (en) | 2018-01-03 | 2021-01-12 | International Business Machines Corporation | Enhanced exploration of dimensionally reduced data |
CN109376953B (zh) * | 2018-11-21 | 2022-09-23 | 国网冀北电力有限公司 | 一种中长期电量预测方法及系统 |
CN110620586B (zh) * | 2019-09-17 | 2021-07-13 | 河北省科学院应用数学研究所 | 数据压缩方法、装置和终端设备 |
CN111104966B (zh) * | 2019-11-30 | 2023-04-18 | 西安外事学院 | 一种基于时间序列的二维封闭图形降维方法 |
CN116269258B (zh) * | 2023-02-22 | 2023-11-21 | 昆山市第一人民医院 | 一种枕式睡眠检测方法、装置及计算机设备 |
CN116383273A (zh) * | 2023-04-04 | 2023-07-04 | 济南永信新材料科技有限公司 | 一种时间序列降维表示方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763417A (zh) * | 2009-12-30 | 2010-06-30 | 北京世纪高通科技有限公司 | 一种数据查询方法及装置 |
CN102682573A (zh) * | 2012-03-31 | 2012-09-19 | 上海海洋大学 | 一种基于时间序列分析的风暴潮灾害预警系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3562572B2 (ja) * | 2000-05-02 | 2004-09-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データベースのドキュメントにおける新規な事項・新規クラスの検出及び追跡 |
JP5095109B2 (ja) * | 2006-03-09 | 2012-12-12 | 三菱電機株式会社 | 追尾装置 |
US8111271B2 (en) * | 2006-04-27 | 2012-02-07 | Jasper Display Corporation | Gray scale drive sequences for pulse width modulated displays |
US20080071843A1 (en) * | 2006-09-14 | 2008-03-20 | Spyridon Papadimitriou | Systems and methods for indexing and visualization of high-dimensional data via dimension reorderings |
US8219574B2 (en) * | 2009-06-22 | 2012-07-10 | Microsoft Corporation | Querying compressed time-series signals |
-
2013
- 2013-03-28 CN CN201310105366.0A patent/CN104077309B/zh active Active
-
2014
- 2014-03-06 JP JP2014043463A patent/JP2014194762A/ja active Pending
- 2014-03-11 US US14/203,852 patent/US9396247B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763417A (zh) * | 2009-12-30 | 2010-06-30 | 北京世纪高通科技有限公司 | 一种数据查询方法及装置 |
CN102682573A (zh) * | 2012-03-31 | 2012-09-19 | 上海海洋大学 | 一种基于时间序列分析的风暴潮灾害预警系统 |
Also Published As
Publication number | Publication date |
---|---|
JP2014194762A (ja) | 2014-10-09 |
CN104077309A (zh) | 2014-10-01 |
US20140297606A1 (en) | 2014-10-02 |
US9396247B2 (en) | 2016-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104077309B (zh) | 一种对时序序列进行降维处理的方法和装置 | |
CN104050258B (zh) | 一种基于兴趣群组的群体推荐方法 | |
US10977248B2 (en) | Processing records in dynamic ranges | |
CN104572886B (zh) | 基于k线图表示的金融时间序列相似性查询方法 | |
CN104361113B (zh) | 一种内存‑闪存混合存储模式下的olap查询优化方法 | |
CN107798346B (zh) | 一种基于Fréchet距离阈值的轨迹相似性快速匹配方法 | |
CN108830162A (zh) | 无线电频谱监测数据中的时序模式序列提取方法及存储方法 | |
Anitha | A new web usage mining approach for next page access prediction | |
CN106776837A (zh) | 一种基于MongoDB的证券实时交易关联分析的方法 | |
CN107180223A (zh) | 基于wifi无线信号的动作识别方法和系统 | |
CN104992348A (zh) | 一种信息展示的方法和装置 | |
CN110444011A (zh) | 交通流高峰识别方法、装置、电子设备及存储介质 | |
CN104361109B (zh) | 确定图片筛选结果的方法和装置 | |
CN106407749A (zh) | 寻找样本的染色体突变位点的分析方法和分析装置 | |
CN105354313A (zh) | 一种利用大数据进行信用评估的方法 | |
CN104902292A (zh) | 一种基于电视报道的舆情分析方法和系统 | |
CN109977923A (zh) | 基于脑电信号的驾驶员性别检测方法及系统 | |
CN111796917A (zh) | 算子运算调度方法和装置 | |
CN114266421B (zh) | 基于复合气象特征构建与选择的新能源功率预测方法 | |
CN104765782B (zh) | 一种索引排序更新方法及装置 | |
CN114241086A (zh) | 一种基于最大三角形三段算法的海量数据绘图优化方法 | |
CN103064887B (zh) | 一种推荐信息的方法和设备 | |
Lin et al. | On bulk loading TPR-tree | |
CN105117403B (zh) | 日志数据分片与查询方法及装置 | |
CN103747033A (zh) | 一种社区发现的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |