CN107644063A - 基于数据并行的时间序列分析方法与系统 - Google Patents
基于数据并行的时间序列分析方法与系统 Download PDFInfo
- Publication number
- CN107644063A CN107644063A CN201710771475.4A CN201710771475A CN107644063A CN 107644063 A CN107644063 A CN 107644063A CN 201710771475 A CN201710771475 A CN 201710771475A CN 107644063 A CN107644063 A CN 107644063A
- Authority
- CN
- China
- Prior art keywords
- parallel
- data
- mrow
- analysis
- time 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000012731 temporal analysis Methods 0.000 title claims abstract description 48
- 238000000700 time series analysis Methods 0.000 title claims abstract description 48
- 238000004364 calculation method Methods 0.000 claims abstract description 8
- 238000004458 analytical method Methods 0.000 claims description 99
- 238000000429 assembly Methods 0.000 claims description 49
- 230000000712 assembly Effects 0.000 claims description 49
- 238000004422 calculation algorithm Methods 0.000 claims description 38
- 230000011218 segmentation Effects 0.000 claims description 22
- 238000000605 extraction Methods 0.000 claims description 20
- 230000015572 biosynthetic process Effects 0.000 claims description 15
- 238000003786 synthesis reaction Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 10
- 238000005457 optimization Methods 0.000 claims description 8
- 238000012300 Sequence Analysis Methods 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 5
- 238000000354 decomposition reaction Methods 0.000 claims description 4
- 238000003860 storage Methods 0.000 claims description 4
- 230000000737 periodic effect Effects 0.000 claims description 3
- 230000001105 regulatory effect Effects 0.000 claims description 3
- 238000013500 data storage Methods 0.000 claims description 2
- 230000006399 behavior Effects 0.000 claims 1
- 238000004088 simulation Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 5
- 238000013461 design Methods 0.000 abstract description 4
- 238000007405 data analysis Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 102100037060 Forkhead box protein D3 Human genes 0.000 description 2
- 101001029308 Homo sapiens Forkhead box protein D3 Proteins 0.000 description 2
- 238000005304 joining Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
Landscapes
- Complex Calculations (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明的公开了一种基于数据并行的时间序列分析方法及系统,本方法在解决时间序列数据分析问题时,不需要划分应用程序,也不需要将问题映射到分布式进程集合,根据本方法设计的应用程序将数据作为一个整体对待,运行时由计算平台自适应地创建进程,无需人为干预;本方法采用分段冗余的方式,通过计算过程中的数据冗余减少了通信量,提高了并行效率,并且对各计算节点的任务量平均分配,降低了集群资源要求,故不需要解决通信延迟大和负载不平衡的问题;根据本方法所适用的计算平台,设计出的应用程序可靠性强,即便某个进程或计算节点失效,剩余计算任务也可由其他进程或计算节点接替和完成,可以保证计算结果的正确性。
Description
技术领域
本发明涉及时间序列分析技术领域,具体而言,涉及一种基于数据并行的时间序列分析方法及系统。
背景技术
随着物联网、大数据等新一代信息技术逐渐向工业领域渗透,现代工业设备中安装了数以千计的传感器,来探测温度、压力、振动和噪声。传感器产生的数据经过解码和转换后形成一维或高维的序列数据,数据量远大于企业中计算机和人工产生的数据。利用这些序列数据可以找出被监测对象的一些特征,进而实现设备诊断、故障预测等分析。
现有的时间序列分析方法主要有两种:(1)一种是通过单台计算机上的串行或多线程的矩阵运算方法对时间序列数据进行分析;(2)还有一种是通过基于超性能计算框架MPI实现的并行计算平台,利用多个计算节点上的计算资源结合并行的矩阵运算方法对时间序列数据进行并行分析。
其中第一种时间序列分析方法缺点在于:计算效率低,适用范围小,仅适用于小规模的时间序列数据,分析所使用的算法难以在可接受的时间内完成计算。
第二种时间序列分析方法虽然适用于大规模的时间序列数据,但其易用性差:并行效率较低,对集群资源要求较高,如果集群资源不足以启动所有计算实例,则可能造成分析任务一直等待的问题,并且计算实例较多时会极大地增加通信开销,导致分析任务所用时间过度增长。
现有的时间序列分析系统主要有两种:第一种是借助于运行在单机上的矩阵运算系统中的时间序列分析功能实现,如SPSS、Matlab和R等系统中包含的大量的时间序列分析算法和开源库;第二种是借助于运行在分布式集群上的计算系统中的时间序列分析功能实现,例如MLlib、RHadoop和Mahout等分布式矩阵运算系统中含有的少量时间序列分析算法。
然而现有的时间序列分析系统存在以下问题:
第一种时间序列分析系统的缺点在于:可处理数据规模小,在需要进行分析的时间序列数据的数量变得巨大时,数据处理速度远远低于数据生成速度,甚至因为超出算法运行所需内存的容量而无法运行,无法做到实时分析。
第二种时间序列分析系统的缺点在于:第二种时间序列分析系统中所含有的开源库算法数量非常有限,并且大多数适用于时间序列分析的算法是基于特定计算平台的任务并行型算法。面对不同的分析应用问题需求,通常需要重复编写和测试新的并行化算法,把实际分析工作的大部分时间花费在底层复杂的并行化和分布式编程和调试上,给上层数据分析和算法设计工作带来很大的不便和困难。
除此之外,第二种还存在易用性差的问题,其并行效率较低,对集群资源要求较高,如果集群资源不足以启动所有计算实例,则可能造成分析任务一直等待的问题,并且计算实例较多时会极大地增加通信开销,导致分析任务所用时间过度增长。
发明内容
本发明的主要目的在于提供基于数据并行的时间序列分析方法及系统,以解决现有技术中时间序列分析方法和系统中的可处理数据规模小、算法可移植性差、易用性差等问题。
为了实现上述目的,根据本发明的一个方面,提供了一种基于数据并行的时间序列分析方法,其步骤如下:
a.输入分析时间序列数据所要使用的分析算法;
b.在指定分析算法后,根据待分析的时间序列数据的周期特性,在分布式集群的主节点上,生成分析计算时所需要的并行参数;
所述步骤b具体包括如下步骤:
(b1)根据输入的时间序列数据文件,在满足能够保留与输入的原始时间序列数据一致的周期特性和小于分布式集群中单节点分析运算所能容纳的最大规模两个条件下,对该时间序列数据文件进行取样,在分布式集群的主节点上生成时间序列样本;
(b2)根据给定的分析算法,对时间序列样本的整体进行分析,得到串行分析结果;
(b3)对于给定的分析算法,设定不同的分段长度和冗余范围,对时间序列样本进行多次迭代分析,即通过分段、冗余、分析、去除冗余以及合成分段的操作得到多次模拟并行分析结果;
(b4)比较多次模拟并行分析结果与串行分析结果之间的相似程度,将相似程度高于阈值范围的单个或多个结果对应的冗余范围作为候选项,再在候选项中选择相似程度最高的结果所对应的冗余范围作为分析计算时所需的第一并行参数;
(b5)根据分析结果的相似程度,选择符合阈值范围的单个或多个分段长度作为候选值,再根据分段长度对分布式集群上运行分析算法的时空复杂度影响,在候选值中确定最优的分段长度,作为分析计算时所需的第二并行参数。
c.根据输入的并行参数,在分布式集群的所有节点上,对时间序列数据进行分析计算,生成分析结果。
所述步骤c具体包括如下步骤:
(c1)根据并行参数,在分布式集群上对输入的原始时间序列数据进行划分和冗余,在分布式集群的各个节点上形成并行单元;
(c2)利用输入的分析算法,在分布式集群上对各个并行单元进行分析运算,得到各个子序列所形成的并行单元的分析结果;
(c3)根据并行参数和对应子序列划分的顺序,去除各个并行单元的分析结果中的冗余并进行拼接,生成最终的分析结果,并对其进行保存。
本方法在解决时间序列数据分析问题时,不需要划分应用程序,也不需要将问题映射到分布式进程集合,根据本方法设计的应用程序将数据作为一个整体对待,运行时由计算平台自适应地创建进程,无需人为干预;本方法采用分段冗余的方式,通过计算过程中的数据冗余减少了通信量,提高了并行效率,并且对各计算节点的任务量平均分配,降低了集群资源要求,故不需要解决通信延迟大和负载不平衡的问题;根据本方法所适用的计算平台,设计出的应用程序可靠性强,即便某个进程或计算节点失效,剩余计算任务也可由其他进程或计算节点接替和完成,可以保证计算结果的正确性。由于本方法有划分数据的步骤,故实际处理时的单次运算量在可控范围内,不易出现内存溢出问题。
根据计算平台的配置,可以设置合适的计算节点数量,例如可以通过增加计算节点的方式有效地减少计算时间。
进一步地,子步骤(b4)和子步骤(b5)在度量分析结果的相似程度时,衡量标准为皮尔逊相关系数,定义相关系数ρxy:
式中,xn和yn是两个能量有限的确定性信号.当xn=yn时,ρxy=1表明两个信号完全相等;若ρxy=0,则表明它们完全无关.如果两个信号有某种程度上的相似,则ρxy在0到1之间取值。
进一步地,所述子步骤(b5)具体为,
多次迭代的模拟分析过程中,分析结果的相似程度取得最高值时所采用的分段长度作为最小分段长度,该值作为上述迭代分析的初始条件。
获取最小分段长度的具体方法如下:
对于总长度为m的待分析时间序列X={x1,x2,...,xm},被分割成m/LS个长度为LS的非重叠子序列,每个子序列分别向左右两侧各取长度为LR的冗余,由此形成m/LS个长度为n的并行单元,其中n=2LR+LS。由于增大LR会导致时间和空间效率均呈上升趋势,故后续分析将寻找最优分段长度LS以取得时间代价和空间代价的平衡。定义采用数据并行的时空代价CostT(LS):
式中,T(n)是指长度为n的单个并行单元在利用分析算法计算时的时间复杂度;T(m)是指总长度为m的时间序列在利用相同的分析算法计算时的时间复杂度;C为常数,是除计算外的其他时间开销,具体是根据计算工具的启动时间和通信时间开销等实际情况进行测定和设置.由时间代价定义式计算得到的时间代价取值范围0<CostT(LS)<1。当计算时间T(n)超过启动时间C时,LS越大,时间代价则越大,
在长度为n的并行单元中,非重叠子序列的长度为LS,定义采用数据并行的空间代价:
式中,n/LS是并行单元长度与分段长度的比值,代表采用冗余策略后增加的空间代价。考虑到在序列分割时非重叠子序列长度应大于用于保护其周期性的冗余长度LR<LS,可得1<n/LS<3。将n/LS进行归一化,即0<CostH(LS)<1。由空间代价定义式可知,LS越大,空间代价则越小,
故分段长度LS对序列分析框架的时空优化的子目标问题属于多目标优化问题。通过增加权重,对时间代价和空间代价进行协调和折中处理,定义采用数据并行的时空代价为
Cost(LS)=ωCostT(LS)+(1-ω)CostH(LS)
式中,ω是用于调节时间代价和空间代价在时空代价中的权重的因子0<ω<1,可根据实际情况进行调整.时空代价Cost(LS)的取值范围是[0,1],
采用两个目标函数加权相加的形式,将多目标优化问题转换为单目标优化问题,并定义时空代价最小化的目标函数,如式:
minCost(LS)=ωCostT(LS)+(1-ω)CostH(LS)
当目标函数取得最小值时,则认为取得空间利用效率与时间利用效率上的平衡状态,此时的分段长度作为最优分段长度。
进一步地,所述子步骤(c1)具体为
根据并行参数中的分段长度,在分布式集群上对输入的原始时间序列数据划分为比原始时间序列长度更小的子序列,根据并行参数中的冗余范围,在分布式集群上对划分得到的全部子序列进行冗余操作,经过处理的子序列形成各个独立的并行单元,在进行冗余操作时,根据并行参数中的冗余范围,对生成的子序列向两边求取冗余,冗余部分在数值上均与原始序列的对应部分保持一致,其中对第一个子序列和最后一个子序列只向数据内部求取冗余。
进一步地,所述子步骤(c1)具体为
根据并行参数中的分段长度,在分布式集群上对输入的原始时间序列数据划分为比原始时间序列长度更小的子序列,根据并行参数中的冗余范围,在分布式集群上对划分得到的全部子序列进行冗余操作,经过处理的子序列形成各个独立的并行单元,在进行冗余操作时,根据并行参数中的冗余范围,对生成的子序列向两边求取冗余,冗余部分在数值上均与原始序列的对应部分保持一致,其中对第一个子序列和最后一个子序列只向数据内部求取冗余。
这里所述的术语“划分”是指将原始时间序列进行批量化分段处理,其段长设定为并行参数中的分段长度。
进一步地,所述子步骤(c3)具体为,
拼接各个并行单元的分析结果时,首先按照并行参数去除各个并行单元的冗余,接着按照对应的并行单元生成时的顺序进行合成。
即生成顺序有先后之分的两个并行单元,其分析结果首尾相连后形成一个整体。
为了实现上述目的,根据本发明的另一个方面,还提供了一种用于上述基于数据并行的时间序列分析方法的基于数据并行的时间序列分析系统,包括依次首尾相连的数据存储模块、参数提取模块、并行分析模块以及与数据存储模块、参数提取模块、并行分析模块分别相连的框架扩展模块;
数据存储模块用于在分布式集群中存储基于数据并行的时间序列分析方法所需的输入数据以及经该方法生成的输出数据,提供数据读取和写入的接口,在分布式集群中为待存储的数据分配资源;
参数提取模块用于提取并行分析模块所需要的算法参数和并行参数;
并行分析模块用于对输入的时间序列数据进行分析计算;
框架扩展模块用于根据不同的分布式计算引擎,选择对应的编程框架和存储体系以实现数据存储模块、参数提取模块、并行分析模块,根据计算引擎提供的应用程序接口调用支持时间序列分析的第三方算法库和接入其他组件和模块以实现算法的集成和扩展。
进一步地,所述参数提取模块包括算法参数提取子模块和并行参数提取子模块,
算法参数提取子模块用于提取并行分析模块中给定的分析算法所需要的参数;
并行参数提取子模块用于提取并行分析模块中进行数据并行计算时所需要的分段长度和冗余范围。
进一步地,所述并行分析模块包括分段生成子模块、计算子模块和分段合成子模块,
分段生成子模块用于根据并行参数,对输入的时间序列数据进行分段和冗余操作,生成并行单元;
计算子模块用于在分布式集群中利用多个计算节点,同时对多个并行单元进行分析计算,为每一个并行单元生成对应的分析结果;
分段合成子模块用于根据并行参数,对分析结果按照对应的并行单元生成时的顺序在去除冗余后进行拼接合成,形成整体的最终分解结果。
本发明中基于数据并行的时间序列分析系统与现有技术相比,本系统可扩大分析算法适用的数据规模,通过合理的计算资源配置,可以完成对大规模时间序列数据的实时分析计算;本系统通过框架扩展模块,能够简化并行的时间序列分析算法的开发过程,使得数据分析任务可以更加高效、便捷地完成。
可见,通过本发明所构思的以上技术方案,与现有技术相比,本系统具有以下的有益效果:可处理数据的规模更大,可移植性较优,易用性较好。
下面结合附图和具体实施方式对本发明做进一步的说明。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的附图用来辅助对本发明的理解,附图中所提供的内容及其在本发明中有关的说明可用于解释本发明,但不构成对本发明的不当限定。在附图中:
图1为本发明基于数据并行的时间序列分析系统的结构示意图。
图2为本发明基于数据并行的时间序列分析方法的流程图。
具体实施方式
下面结合附图对本发明进行清楚、完整的说明。本领域普通技术人员在基于这些说明的情况下将能够实现本发明。在结合附图对本发明进行说明前,需要特别指出的是:
本发明中在包括下述说明在内的各部分中所提供的技术方案和技术特征,在不冲突的情况下,这些技术方案和技术特征可以相互组合。
此外,下述说明中涉及到的本发明的实施例通常仅是本发明一分部的实施例,而不是全部的实施例。因此,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
关于本发明中术语和单位。本发明的说明书和权利要求书及有关的部分中的术语“包括”、“具有”以及它们的任何变形,意图在于覆盖不排他的包含。术语“HDFS”是指分布式文件系统。术语“Hadoop”为分布式系统基础架构
本发明基于数据并行的时间序列分析方法,其步骤如下:
a.输入分析时间序列数据所要使用的分析算法;
b.在指定分析算法后,根据待分析的时间序列数据的周期特性,在分布式集群的主节点上,生成分析计算时所需要的并行参数;
所述步骤b具体包括如下步骤:
(b1)根据输入的时间序列数据文件,在满足能够保留与输入的原始时间序列数据一致的周期特性和小于分布式集群中单节点分析运算所能容纳的最大规模两个条件下,对该时间序列数据文件进行取样,在分布式集群的主节点上生成时间序列样本;
(b2)根据给定的分析算法,对时间序列样本的整体进行分析,得到串行分析结果;
(b3)对于给定的分析算法,设定不同的分段长度和冗余范围,对时间序列样本进行多次迭代分析,即通过分段、冗余、分析、去除冗余以及合成分段的操作得到多次模拟并行分析结果;
(b4)比较多次模拟并行分析结果与串行分析结果之间的相似程度,将相似程度高于阈值范围的单个或多个结果对应的冗余范围作为候选项,再在候选项中选择相似程度最高的结果所对应的冗余范围作为分析计算时所需的第一并行参数;
(b5)根据分析结果的相似程度,选择符合阈值范围的单个或多个分段长度作为候选值,再根据分段长度对分布式集群上运行分析算法的时空复杂度影响,在候选值中确定最优的分段长度,作为分析计算时所需的第二并行参数。
c.根据输入的并行参数,在分布式集群的所有节点上,对时间序列数据进行分析计算,生成分析结果。
所述步骤c具体包括如下步骤:
(c1)根据并行参数,在分布式集群上对输入的原始时间序列数据进行划分和冗余,在分布式集群的各个节点上形成并行单元;
(c2)利用输入的分析算法,在分布式集群上对各个并行单元进行分析运算,得到各个子序列所形成的并行单元的分析结果;
(c3)根据并行参数和对应子序列划分的顺序,去除各个并行单元的分析结果中的冗余并进行拼接,生成最终的分析结果,并对其进行保存。
本方法在解决时间序列数据分析问题时,不需要划分应用程序,也不需要将问题映射到分布式进程集合,根据本方法设计的应用程序将数据作为一个整体对待,运行时由计算平台自适应地创建进程,无需人为干预;本方法采用分段冗余的方式,通过计算过程中的数据冗余减少了通信量,提高了并行效率,并且对各计算节点的任务量平均分配,降低了集群资源要求,故不需要解决通信延迟大和负载不平衡的问题;根据本方法所适用的计算平台,设计出的应用程序可靠性强,即便某个进程或计算节点失效,剩余计算任务也可由其他进程或计算节点接替和完成,可以保证计算结果的正确性。由于本方法有划分数据的步骤,故实际处理时的单次运算量在可控范围内,不易出现内存溢出问题。
根据计算平台的配置,可以设置合适的计算节点数量,例如可以通过增加计算节点的方式有效地减少计算时间。
进一步地,子步骤(b4)和子步骤(b5)在度量分析结果的相似程度时,衡量标准为皮尔逊相关系数,定义相关系数ρxy:
式中,xn和yn是两个能量有限的确定性信号.当xn=yn时,ρxy=1表明两个信号完全相等;若ρxy=0,则表明它们完全无关.如果两个信号有某种程度上的相似,则ρxy在0到1之间取值。
进一步地,所述子步骤(b5)具体为,
多次迭代的模拟分析过程中,分析结果的相似程度取得最高值时所采用的分段长度作为最小分段长度,该值作为上述迭代分析的初始条件。
获取最小分段长度的具体方法如下:
对于总长度为m的待分析时间序列X={x1,x2,...,xm},被分割成m/LS个长度为LS的非重叠子序列,每个子序列分别向左右两侧各取长度为LR的冗余,由此形成m/LS个长度为n的并行单元,其中n=2LR+LS。由于增大LR会导致时间和空间效率均呈上升趋势,故后续分析将寻找最优分段长度LS以取得时间代价和空间代价的平衡。定义采用数据并行的时空代价CostT(LS):
式中,T(n)是指长度为n的单个并行单元在利用分析算法计算时的时间复杂度;T(m)是指总长度为m的时间序列在利用相同的分析算法计算时的时间复杂度;C为常数,是除计算外的其他时间开销,具体是根据计算工具的启动时间和通信时间开销等实际情况进行测定和设置.由时间代价定义式计算得到的时间代价取值范围0<CostT(LS)<1。当计算时间T(n)超过启动时间C时,LS越大,时间代价则越大,
在长度为n的并行单元中,非重叠子序列的长度为LS,定义采用数据并行的空间代价:
式中,n/LS是并行单元长度与分段长度的比值,代表采用冗余策略后增加的空间代价。考虑到在序列分割时非重叠子序列长度应大于用于保护其周期性的冗余长度LR<LS,可得1<n/LS<3。将n/LS进行归一化,即0<CostH(LS)<1。由空间代价定义式可知,LS越大,空间代价则越小,
故分段长度LS对序列分析框架的时空优化的子目标问题属于多目标优化问题。通过增加权重,对时间代价和空间代价进行协调和折中处理,定义采用数据并行的时空代价为
Cost(LS)=ωCostT(LS)+(1-ω)CostH(LS)
式中,ω是用于调节时间代价和空间代价在时空代价中的权重的因子0<ω<1,可根据实际情况进行调整.时空代价Cost(LS)的取值范围是[0,1],
采用两个目标函数加权相加的形式,将多目标优化问题转换为单目标优化问题,并定义时空代价最小化的目标函数,如式:
minCost(LS)=ωCostT(LS)+(1-ω)CostH(LS)
当目标函数取得最小值时,则认为取得空间利用效率与时间利用效率上的平衡状态,此时的分段长度作为最优分段长度。
进一步地,所述子步骤(c1)具体为
根据并行参数中的分段长度,在分布式集群上对输入的原始时间序列数据划分为比原始时间序列长度更小的子序列,根据并行参数中的冗余范围,在分布式集群上对划分得到的全部子序列进行冗余操作,经过处理的子序列形成各个独立的并行单元,在进行冗余操作时,根据并行参数中的冗余范围,对生成的子序列向两边求取冗余,冗余部分在数值上均与原始序列的对应部分保持一致,其中对第一个子序列和最后一个子序列只向数据内部求取冗余。
进一步地,所述子步骤(c1)具体为
根据并行参数中的分段长度,在分布式集群上对输入的原始时间序列数据划分为比原始时间序列长度更小的子序列,根据并行参数中的冗余范围,在分布式集群上对划分得到的全部子序列进行冗余操作,经过处理的子序列形成各个独立的并行单元,在进行冗余操作时,根据并行参数中的冗余范围,对生成的子序列向两边求取冗余,冗余部分在数值上均与原始序列的对应部分保持一致,其中对第一个子序列和最后一个子序列只向数据内部求取冗余。
这里所述的术语“划分”是指将原始时间序列进行批量化分段处理,其段长设定为并行参数中的分段长度。
进一步地,所述子步骤(c3)具体为,
拼接各个并行单元的分析结果时,首先按照并行参数去除各个并行单元的冗余,接着按照对应的并行单元生成时的顺序进行合成。
即生成顺序有先后之分的两个并行单元,其分析结果首尾相连后形成一个整体。
本发明中用于上述基于数据并行的时间序列分析方法的系统,包括依次首尾相连的数据存储模块、参数提取模块、并行分析模块以及与数据存储模块、参数提取模块、并行分析模块分别相连的框架扩展模块;
数据存储模块用于在分布式集群中存储基于数据并行的时间序列分析方法所需的输入数据以及经该方法生成的输出数据,提供数据读取和写入的接口,在分布式集群中为待存储的数据分配资源;
参数提取模块用于提取并行分析模块所需要的算法参数和并行参数;
并行分析模块用于对输入的时间序列数据进行分析计算;
框架扩展模块用于根据不同的分布式计算引擎,选择对应的编程框架和存储体系以实现数据存储模块、参数提取模块、并行分析模块,根据计算引擎提供的应用程序接口调用支持时间序列分析的第三方算法库和接入其他组件和模块以实现算法的集成和扩展。
进一步地,所述参数提取模块包括算法参数提取子模块和并行参数提取子模块,
算法参数提取子模块用于提取并行分析模块中给定的分析算法所需要的参数;
并行参数提取子模块用于提取并行分析模块中进行数据并行计算时所需要的分段长度和冗余范围。
进一步地,所述并行分析模块包括分段生成子模块、计算子模块和分段合成子模块,
分段生成子模块用于根据并行参数,对输入的时间序列数据进行分段和冗余操作,生成并行单元;
计算子模块用于在分布式集群中利用多个计算节点,同时对多个并行单元进行分析计算,为每一个并行单元生成对应的分析结果;
分段合成子模块用于根据并行参数,对分析结果按照对应的并行单元生成时的顺序在去除冗余后进行拼接合成,形成整体的最终分解结果。
如图1所示,本具体实施方式中基于数据并行的时间序列分析方法的系统包括数据存储模块1,与数据存储模块1分别相连的参数提取模块2、并行分析模块3,与数据存储模块1,参数提取模块2、并行分析模块3均相连的框架扩展模块4。其中所述参数提取模块包括算法参数提取子模块21和并行参数提取子模块22。所述并行分析模块包括分段生成子模块21、计算子模块22和分段合成子模块23。
如图2所示,本本具体实施方式中基于数据并行的时间序列分析方法的方法在实施时步骤主要包括:
S1:开始;
S2:生成并行参数;
S2中包括以下子步骤:
S21:采样原始时间序列数据,生成时间序列样本;
S22:串行分析时间序列样本;
S23:迭代模拟并行分析时间序列样本;
S24:比较串行分析结果和模拟并行分析结果间的相似度,选择冗余范围和冗余长度作为并行参数;
S3:并行分析计算;
S3中包括以下子步骤:
S31:根据并行参数对原始时间序列数据进行划分和冗余,形成并行单元;
S32:利用分析算法对并行单元进行分析运算,形成分析结果;
S33:根据并行参数和对应子序列划分的顺序,去除分析结果中的冗余并拼接,生成并保存最终分析结果。
以上对本发明的有关内容进行了说明。本领域普通技术人员在基于这些说明的情况下将能够实现本发明。基于本发明的上述内容,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明中基于数据并行的时间序列分析系统相对于现有技术的优点在于:
(1)可扩大分析算法适用的数据规模,通过合理的计算资源配置,可以完成对大规模时间序列数据的实时分析计算。
(2)通过框架扩展模块,能够简化并行的时间序列分析算法的开发过程,使得数据分析任务可以更加高效、便捷地完成。
本发明中基于数据并行的时间序列分析方法相对于现有技术的优点在于:
(1)可以保证分析结果的正确性。
(2)能有效提高分析处理的速度和规模。
(3)能在多种分布式计算平台上实现,具有较高的易用性。
为了验证本发明系统的可行性和有效性,在真实环境下配置本发明系统,对时间序列数据的经验模态分解进行实验。
实施本发明的于数据并行的时间序列分析方法和系统基本硬件和软件配置如表1所示:
表1
本发明的各模块部署包括四个部分:
指定要使用的分析算法,将框架扩展模块以rpy2链接到分析算法的形式,在Spark编程模型中实现对分析算法的调用,存储为Python源文件;
将数据存储模块在Hadoop提供的分布式文件系统HDFS上进行建立数据的存档;
将参数提取模块以程序的形式存放在分布式集群的主节点上;
将并行分析模块打包成zip压缩包的格式,分发到Spark集群中的各个节点。
本发明首先对将待分析的时间序列数据存储在分布式文件系统上;然后对时间序列数据进行并行参数提取,并结合分析算法确定该算法本身所需要的参数;然后在分布式集群上对时间序列数据进行分段、冗余、分析、去除冗余和合成的操作,生成分析结果;最后将分析结果进行存储。该系统快速、有效地为提供了可应对大规模时间序列数据的分析工具,减少了在分布式集群上二次开发算法所需工作,同时提高了时间序列分析的计算效率。
Claims (9)
1.基于数据并行的时间序列分析方法,其步骤如下:
a.输入分析时间序列数据所要使用的分析算法;
b.在指定分析算法后,根据待分析的时间序列数据的周期特性,在分布式集群的主节点上,生成分析计算时所需要的并行参数;
所述步骤b具体包括如下步骤:
(b1)根据输入的时间序列数据文件,在满足能够保留与输入的原始时间序列数据一致的周期特性和小于分布式集群中单节点分析运算所能容纳的最大规模两个条件下,对该时间序列数据文件进行取样,在分布式集群的主节点上生成时间序列样本;
(b2)根据给定的分析算法,对时间序列样本的整体进行分析,得到串行分析结果;
(b3)对于给定的分析算法,设定不同的分段长度和冗余范围,对时间序列样本进行多次迭代分析,即通过分段、冗余、分析、去除冗余以及合成分段的操作得到多次模拟并行分析结果;
(b4)比较多次模拟并行分析结果与串行分析结果之间的相似程度,将相似程度高于阈值范围的单个或多个结果对应的冗余范围作为候选项,再在候选项中选择相似程度最高的结果所对应的冗余范围作为分析计算时所需的第一并行参数;
(b5)根据分析结果的相似程度,选择符合阈值范围的单个或多个分段长度作为候选值,再根据分段长度对分布式集群上运行分析算法的时空复杂度影响,在候选值中确定最优的分段长度,作为分析计算时所需的第二并行参数,
c.根据输入的并行参数,在分布式集群的所有节点上,对时间序列数据进行分析计算,生成分析结果,
所述步骤c具体包括如下步骤:
(c1)根据并行参数,在分布式集群上对输入的原始时间序列数据进行划分和冗余,在分布式集群的各个节点上形成并行单元;
(c2)利用输入的分析算法,在分布式集群上对各个并行单元进行分析运算,得到各个子序列所形成的并行单元的分析结果;
(c3)根据并行参数和对应子序列划分的顺序,去除各个并行单元的分析结果中的冗余并进行拼接,生成最终的分析结果,并对其进行保存。
2.如权利要求1所述的基于数据并行的时间序列分析方法,其特征在于,子步骤(b4)和子步骤(b5)在度量分析结果的相似程度时,衡量标准为皮尔逊相关系数,定义相关系数ρxy:
<mrow>
<msub>
<mi>&rho;</mi>
<mrow>
<mi>x</mi>
<mi>y</mi>
</mrow>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>n</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>&infin;</mi>
</munderover>
<msub>
<mi>x</mi>
<mi>n</mi>
</msub>
<msub>
<mi>y</mi>
<mi>n</mi>
</msub>
</mrow>
<msup>
<mrow>
<mo>(</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>n</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>&infin;</mi>
</munderover>
<msubsup>
<mi>x</mi>
<mi>n</mi>
<mn>2</mn>
</msubsup>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>n</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>&infin;</mi>
</munderover>
<msubsup>
<mi>y</mi>
<mi>n</mi>
<mn>2</mn>
</msubsup>
<mo>)</mo>
</mrow>
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
</msup>
</mfrac>
</mrow>
式中,xn和yn是两个能量有限的确定性信号.当xn=yn时,ρxy=1表明两个信号完全相等;若ρxy=0,则表明它们完全无关.如果两个信号有某种程度上的相似,则ρxy在0到1之间取值。
3.如权利要求2所述的基于数据并行的时间序列分析方法,其特征在于,所述子步骤(b5)具体为,
多次迭代的模拟分析过程中,分析结果的相似程度取得最高值时所采用的分段长度作为最小分段长度,该值作为上述迭代分析的初始条件。
4.如权利要求2所述的基于数据并行的时间序列分析方法,其特征在于,获取最小分段长度的具体方法如下:
对于总长度为m的待分析时间序列X={x1,x2,...,xm},被分割成m/LS个长度为LS的非重叠子序列,每个子序列分别向左右两侧各取长度为LR的冗余,由此形成m/LS个长度为n的并行单元,其中n=2LR+LS,定义采用数据并行的时空代价CostT(LS):
<mrow>
<msub>
<mi>Cost</mi>
<mi>T</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>L</mi>
<mi>S</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<mfrac>
<mi>m</mi>
<mrow>
<mi>L</mi>
<mi>S</mi>
</mrow>
</mfrac>
<mrow>
<mo>(</mo>
<mi>T</mi>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mi>C</mi>
<mo>)</mo>
</mrow>
<mrow>
<mi>T</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mi>C</mi>
</mrow>
</mfrac>
</mrow>
式中,T(n)是指长度为n的单个并行单元在利用分析算法计算时的时间复杂度;T(m)是指总长度为m的时间序列在利用相同的分析算法计算时的时间复杂度;C为常数,是除计算外的其他时间开销,由时间代价定义式计算得到的时间代价取值范围0<CostT(LS)<1,
在长度为n的并行单元中,非重叠子序列的长度为LS,定义采用数据并行的空间代价:
<mrow>
<msub>
<mi>Cost</mi>
<mi>H</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>L</mi>
<mi>S</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
<mrow>
<mo>(</mo>
<mfrac>
<mi>n</mi>
<mrow>
<mi>L</mi>
<mi>S</mi>
</mrow>
</mfrac>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
式中,n/LS是并行单元长度与分段长度的比值,代表采用冗余策略后增加的空间代价,在序列分割时非重叠子序列长度应大于用于保护其周期性的冗余长度LR<LS,可得1<n/LS<3,将n/LS进行归一化,即0<CostH(LS)<1,
分段长度LS对序列分析框架的时空优化的子目标问题通过增加权重,对时间代价和空间代价进行协调和折中处理,定义采用数据并行的时空代价为
Cost(LS)=ωCostT(LS)+(1-ω)CostH(LS)
式中,ω是用于调节时间代价和空间代价在时空代价中的权重的因子0<ω<1.时空代价Cost(LS)的取值范围是[0,1],
采用两个目标函数加权相加的形式,将多目标优化问题转换为单目标优化问题,并定义时空代价最小化的目标函数,如式:
minCost(LS)=ωCostT(LS)+(1-ω)CostH(LS)
当目标函数取得最小值时,则认为取得空间利用效率与时间利用效率上的平衡状态,此时的分段长度作为最优分段长度。
5.如权利要求1所述的基于数据并行的时间序列分析方法,其特征在于,所述子步骤(c1)具体为
根据并行参数中的分段长度,在分布式集群上对输入的原始时间序列数据划分为比原始时间序列长度更小的子序列,根据并行参数中的冗余范围,在分布式集群上对划分得到的全部子序列进行冗余操作,经过处理的子序列形成各个独立的并行单元,在进行冗余操作时,根据并行参数中的冗余范围,对生成的子序列向两边求取冗余,冗余部分在数值上均与原始序列的对应部分保持一致,其中对第一个子序列和最后一个子序列只向数据内部求取冗余。
6.如权利要求5所述的基于数据并行的时间序列分析方法,其特征在于,所述子步骤(c3)具体为,
拼接各个并行单元的分析结果时,首先按照并行参数去除各个并行单元的冗余,接着按照对应的并行单元生成时的顺序进行合成。
7.用于权利要求1-6中任意一条权利要求的基于数据并行的时间序列分析系统,其特征在于,包括依次首尾相连的数据存储模块、参数提取模块、并行分析模块以及与数据存储模块、参数提取模块、并行分析模块分别相连的框架扩展模块;
数据存储模块用于在分布式集群中存储基于数据并行的时间序列分析方法所需的输入数据以及经该方法生成的输出数据,提供数据读取和写入的接口,在分布式集群中为待存储的数据分配资源;
参数提取模块用于提取并行分析模块所需要的算法参数和并行参数;
并行分析模块用于对输入的时间序列数据进行分析计算;
框架扩展模块用于根据不同的分布式计算引擎,选择对应的编程框架和存储体系以实现数据存储模块、参数提取模块、并行分析模块,根据计算引擎提供的应用程序接口调用支持时间序列分析的第三方算法库和接入其他组件和模块以实现算法的集成和扩展。
8.如权利要求7所述的基于数据并行的时间序列分析系统,其特征在于,所述参数提取模块包括算法参数提取子模块和并行参数提取子模块,
算法参数提取子模块用于提取并行分析模块中给定的分析算法所需要的参数;
并行参数提取子模块用于提取并行分析模块中进行数据并行计算时所需要的分段长度和冗余范围。
9.如权利要求7所述的基于数据并行的时间序列分析系统,其特征在于,所述并行分析模块包括分段生成子模块、计算子模块和分段合成子模块,
分段生成子模块用于根据并行参数,对输入的时间序列数据进行分段和冗余操作,生成并行单元;
计算子模块用于在分布式集群中利用多个计算节点,同时对多个并行单元进行分析计算,为每一个并行单元生成对应的分析结果;
分段合成子模块用于根据并行参数,对分析结果按照对应的并行单元生成时的顺序在去除冗余后进行拼接合成,形成整体的最终分解结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710771475.4A CN107644063B (zh) | 2017-08-31 | 2017-08-31 | 基于数据并行的时间序列分析方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710771475.4A CN107644063B (zh) | 2017-08-31 | 2017-08-31 | 基于数据并行的时间序列分析方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107644063A true CN107644063A (zh) | 2018-01-30 |
CN107644063B CN107644063B (zh) | 2021-04-20 |
Family
ID=61110413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710771475.4A Expired - Fee Related CN107644063B (zh) | 2017-08-31 | 2017-08-31 | 基于数据并行的时间序列分析方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107644063B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162552A (zh) * | 2019-05-09 | 2019-08-23 | 山东科技大学 | 基于置信区间的时间序列特征提取方法及系统 |
CN110288021A (zh) * | 2019-06-26 | 2019-09-27 | 东北大学 | 一种多元工业时间序列数据的分段方法 |
CN111369794A (zh) * | 2020-02-28 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 交通参与信息的确定方法、装置、设备及存储介质 |
CN112783476A (zh) * | 2021-01-15 | 2021-05-11 | 中国核动力研究设计院 | 一种堆芯数值求解器易扩展软件系统、调用方法及终端 |
CN113553355A (zh) * | 2021-07-23 | 2021-10-26 | 咪咕文化科技有限公司 | 数据分段方法、装置、设备及计算机可读存储介质 |
CN115408122A (zh) * | 2022-08-01 | 2022-11-29 | 无锡雪浪数制科技有限公司 | 一种去中心化的分布式并行计算框架及计算方法 |
CN116800334A (zh) * | 2023-06-09 | 2023-09-22 | 国网吉林省电力有限公司长春供电公司 | 一种基于模拟光纤通信的数据同步传输优化方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060167825A1 (en) * | 2005-01-24 | 2006-07-27 | Mehmet Sayal | System and method for discovering correlations among data |
CN101278282B (zh) * | 2004-12-23 | 2012-09-05 | 剑桥显示技术公司 | 数字信号处理方法和设备 |
CN104156385A (zh) * | 2014-06-24 | 2014-11-19 | 北京京东尚科信息技术有限公司 | 一种处理时间序列数据的方法和装置 |
CN106920402A (zh) * | 2016-11-21 | 2017-07-04 | 中兴软创科技股份有限公司 | 一种基于交通流量的时间序列划分方法与系统 |
CN107037980A (zh) * | 2015-12-07 | 2017-08-11 | Sap欧洲公司 | 时间序列数据的多表示存储 |
-
2017
- 2017-08-31 CN CN201710771475.4A patent/CN107644063B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101278282B (zh) * | 2004-12-23 | 2012-09-05 | 剑桥显示技术公司 | 数字信号处理方法和设备 |
US20060167825A1 (en) * | 2005-01-24 | 2006-07-27 | Mehmet Sayal | System and method for discovering correlations among data |
CN104156385A (zh) * | 2014-06-24 | 2014-11-19 | 北京京东尚科信息技术有限公司 | 一种处理时间序列数据的方法和装置 |
CN107037980A (zh) * | 2015-12-07 | 2017-08-11 | Sap欧洲公司 | 时间序列数据的多表示存储 |
CN106920402A (zh) * | 2016-11-21 | 2017-07-04 | 中兴软创科技股份有限公司 | 一种基于交通流量的时间序列划分方法与系统 |
Non-Patent Citations (3)
Title |
---|
RYOHEI AZUMA等: ""Towards Parallel Processing of Similarity Retrieval System of Time Series"", 《2012 13TH ACIS INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ARTIFICIAL INTELLIGENCE, NETWORKING AND PARALLEL/DISTRIBUTED COMPUTING》 * |
严玉良等: ""FSMBUS:一种基于Spark的大规模频繁子图挖掘算法"", 《计算机研究与发展》 * |
李勇,滕飞等: "基于Spark的时间序列并行分解模型", 《计算机科学与探索》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162552A (zh) * | 2019-05-09 | 2019-08-23 | 山东科技大学 | 基于置信区间的时间序列特征提取方法及系统 |
CN110288021A (zh) * | 2019-06-26 | 2019-09-27 | 东北大学 | 一种多元工业时间序列数据的分段方法 |
CN110288021B (zh) * | 2019-06-26 | 2023-05-26 | 东北大学 | 一种多元工业时间序列数据的分段方法 |
CN111369794A (zh) * | 2020-02-28 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 交通参与信息的确定方法、装置、设备及存储介质 |
CN111369794B (zh) * | 2020-02-28 | 2022-01-25 | 腾讯科技(深圳)有限公司 | 交通参与信息的确定方法、装置、设备及存储介质 |
CN112783476A (zh) * | 2021-01-15 | 2021-05-11 | 中国核动力研究设计院 | 一种堆芯数值求解器易扩展软件系统、调用方法及终端 |
CN113553355A (zh) * | 2021-07-23 | 2021-10-26 | 咪咕文化科技有限公司 | 数据分段方法、装置、设备及计算机可读存储介质 |
CN115408122A (zh) * | 2022-08-01 | 2022-11-29 | 无锡雪浪数制科技有限公司 | 一种去中心化的分布式并行计算框架及计算方法 |
CN115408122B (zh) * | 2022-08-01 | 2023-05-23 | 无锡雪浪数制科技有限公司 | 一种去中心化的分布式并行计算框架及计算方法 |
CN116800334A (zh) * | 2023-06-09 | 2023-09-22 | 国网吉林省电力有限公司长春供电公司 | 一种基于模拟光纤通信的数据同步传输优化方法及系统 |
CN116800334B (zh) * | 2023-06-09 | 2024-03-26 | 国网吉林省电力有限公司长春供电公司 | 一种基于模拟光纤通信的数据同步传输优化方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107644063B (zh) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107644063A (zh) | 基于数据并行的时间序列分析方法与系统 | |
US20220012593A1 (en) | Neural network accelerator and neural network acceleration method based on structured pruning and low-bit quantization | |
CN111667051B (zh) | 适用边缘设备的神经网络加速器及神经网络加速计算方法 | |
Liang et al. | Evaluating fast algorithms for convolutional neural networks on FPGAs | |
CN108205701B (zh) | 一种执行卷积计算的系统及方法 | |
CN111242289B (zh) | 一种规模可扩展的卷积神经网络加速系统与方法 | |
CN111062472B (zh) | 一种基于结构化剪枝的稀疏神经网络加速器及其加速方法 | |
Hudson et al. | A run-time reconfigurable engine for image interpolation | |
CN113469350B (zh) | 一种适于npu的深度卷积神经网络加速方法和系统 | |
CN108897716B (zh) | 通过存储器读写操作来缩减计算量的数据处理装置及方法 | |
CN112200300B (zh) | 卷积神经网络运算方法及装置 | |
CN110633785B (zh) | 一种卷积神经网络的计算方法及系统 | |
Liang et al. | OMNI: A framework for integrating hardware and software optimizations for sparse CNNs | |
CN112101525A (zh) | 一种通过nas设计神经网络的方法、装置和系统 | |
CN108304925B (zh) | 一种池化计算装置及方法 | |
CN113505830B (zh) | 旋转机械故障诊断方法、系统、设备及存储介质 | |
CN108875914B (zh) | 对神经网络数据进行预处理和后处理的方法和装置 | |
US8768680B2 (en) | Simulator of multi-core system employing reconfigurable processor cores and method of simulating multi-core system employing reconfigurable processor cores | |
Vo et al. | A deep learning accelerator based on a streaming architecture for binary neural networks | |
CN115017773A (zh) | 一种三维网格模型的降维方法、电子设备和介质 | |
CN114461978A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN112200310B (zh) | 智能处理器、数据处理方法及存储介质 | |
CN114003201A (zh) | 矩阵变换方法、装置及卷积神经网络加速器 | |
CN116595302A (zh) | 一种不规则矩阵spmv在gpu上的实现方法、电子设备及介质 | |
CN115130672B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210420 |