用于计算序列数据的协方差的方法及装置制造方法及图纸

技术编号:21199799 阅读:22 留言:0更新日期:2019-05-25 01:14
本发明专利技术提供了一种用于计算序列数据的协方差的方法及装置,该方法包括:接收第一序列的第一数据和第二序列的第二数据,并将第一数据和第二数据分别存储至第一缓冲器和第二缓冲器;在第一缓冲器中的数据个数和第二缓冲器中的数据个数均大于或等于滑动窗口的情况下,根据第一缓冲器中滑动窗口所在位置从第一缓冲器读取数量为滑动窗口大小的第一序列的数据,根据第二缓冲器中滑动窗口所在位置从第二缓冲器读取数量为滑动窗口大小的第二序列的数据;计算读取的数量为滑动窗口大小的第一序列的数据和读取的数量为滑动窗口大小的第二序列的数据的协方差。通过上述方案能够提高对序列数据的协方差进行计算处理的实时性。

A Method and Device for Calculating Covariance of Sequential Data

The invention provides a method and a device for calculating the covariance of sequence data, which includes: receiving the first data of the first sequence and the second data of the second sequence, and storing the first data and the second data to the first buffer and the second buffer respectively; the number of data in the first buffer and the second buffer is greater than or equal to the number of data in the sliding window. In the case of the port, according to the position of the sliding window in the first buffer, the data of the first sequence whose number is the size of the sliding window is read from the first buffer, and the data of the second sequence whose number is the size of the sliding window is read from the second buffer according to the position of the sliding window in the second buffer; the data of the first sequence whose number is the size of the sliding window and the read data are calculated. Covariance of the second sequence of data whose number is the size of the sliding window. Through the above scheme, the real-time performance of computing and processing the covariance of sequence data can be improved.

【技术实现步骤摘要】
用于计算序列数据的协方差的方法及装置
本专利技术涉及序列数据处理
,尤其涉及一种用于计算序列数据的协方差的方法及装置。
技术介绍
大规模数据通常以时间序列的形式呈现。对时间序列进行分析计算,寻找其中的数据变化规律,并预测其将来的数据变化趋势,在很多领域都能够起到重要的现实作用。时间序列分析作为数理统计学的分支,一方面,遵循数理统计学的基本原理,另一方面,由于时间的不可重复性,任意时刻只能获得唯一的序列观察值。这种特殊的数据结构导致时间序列分析具有很大特殊性。数理统计学中的协方差能够用于衡量两个时间序列的相互关系,所以被广泛应用于金融随机分析和金融工程中。对于作为随机变量的时间序列X和时间序列Y,协方差Cov(X,Y)的定义为:Cov(X,Y)=E{[X-E(X)][Y-E(Y)]}=E(XY)-E(X)E(Y)其中,E(X)、E(Y)、E(XY)和E{[X-E(X)][Y-E(Y)]}分别为时间序列X、时间序列Y、时间序列X*Y和时间序列[X-E(X)][Y-E(Y)]的期望值。若时间序列X的长度和时间序列Y的长度均为n,且x(i)和y(i)分别为时间序列X的数据元素和时间序列Y的数据元素,则协方差Cov(X,Y)可以表示为:现有的大规模时间序列分析通常采用CPU(CentralProcessingUnit,中央处理器)或GPU(GraphicsProcessingUnit,图形处理器)来完成各个序列数据元素之间的复杂计算,CPU和GPU的运算模式并不完全适合大规模时间序列的处理,导致系统的数据吞吐率往往受到限制,同时系统的能耗也相对较高,无法满足大数据实时处理的需求。
技术实现思路
有鉴于此,本专利技术提供一种用于计算序列数据的协方差的方法及装置,以提高对序列数据的协方差进行计算处理的实时性。为了实现上述目的,本专利技术采用以下方案:在本专利技术一实施例中,用于计算序列数据的协方差的方法,包括:接收第一序列的第一数据和第二序列的第二数据,并将所述第一数据和所述第二数据分别存储至第一缓冲器和第二缓冲器;在所述第一缓冲器中的数据的个数和所述第二缓冲器中的数据的个数均大于或等于滑动窗口的大小的情况下,根据所述第一缓冲器中所述滑动窗口所在位置从所述第一缓冲器读取数量为所述滑动窗口的大小的所述第一序列的数据,根据所述第二缓冲器中所述滑动窗口所在位置从所述第二缓冲器读取数量为所述滑动窗口的大小的所述第二序列的数据;计算读取的数量为所述滑动窗口的大小的所述第一序列的数据和读取的数量为所述滑动窗口的大小的所述第二序列的数据的协方差,用于分析包含所述第一数据的所述第一序列和包含所述第二数据的所述第二序列数据的相关性。在本专利技术一实施例中,用于计算序列数据的协方差的装置,包括:存储控制单元,用于接收第一序列的第一数据和第二序列的第二数据,并将所述第一数据和所述第二数据分别存储至第一缓冲器和第二缓冲器;读取控制单元,用于在所述第一缓冲器中的数据的个数和所述第二缓冲器中的数据的个数均大于或等于滑动窗口的大小的情况下,根据所述第一缓冲器中所述滑动窗口所在位置从所述第一缓冲器读取数量为所述滑动窗口的大小的所述第一序列的数据,根据所述第二缓冲器中所述滑动窗口所在位置从所述第二缓冲器读取数量为所述滑动窗口的大小的所述第二序列的数据;协方差计算单元,用于计算读取的数量为所述滑动窗口的大小的所述第一序列的数据和读取的数量为所述滑动窗口的大小的所述第二序列的数据的协方差,用于分析包含所述第一数据的所述第一序列和包含所述第二数据的所述第二序列数据的相关性。在本专利技术一实施例中,计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例所述方法的步骤。在本专利技术一实施例中,计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所述方法的步骤。本专利技术的用于计算序列数据的协方差的方法、用于计算序列数据的协方差的装置、计算机设备及计算机可读存储介质,通过将串行传输的第一序列和第二序列的数据存储至各自的缓冲器,然后根据设置的滑动窗口读取两个缓冲器中的序列数据,能够以并行方式计算两列序列数据的协方差。而且,在两个序列的新数据存储至各自的缓冲器时,能够通过灵活地移动滑动窗口来选择缓冲器中的新数据,实现对两个序列的新数据进行协方差计算。如此一来,通过本方案能够针对实时接收的两个序列的数据进行协方差计算,从而提高序列数据的协方差计算处理的实时性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1是本专利技术一实施例的用于计算序列数据的协方差的方法的流程示意图;图2是本专利技术一实施例中利用多个加法器、多个除法器及多个乘法器进行协方差计算的方法流程示意图;图3是本专利技术另一实施例的用于计算序列数据的协方差的方法流程示意图;图4是本专利技术一实施例的顶层结构示意图;图5是本专利技术一实施例的时序图;图6是本专利技术一实施例中控制过程的流程示意图;图7是本专利技术一实施例中的数据缓冲器的结构示意图;图8是本专利技术一实施例中的通用电路的结构示意图;图9是本专利技术一实施例中的加法器阵列的结构示意图;图10是本专利技术一实施例的用于计算序列数据的协方差的装置的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本专利技术实施例做进一步详细说明。在此,本专利技术的示意性实施例及其说明用于解释本专利技术,但并不作为对本专利技术的限定。图1是本专利技术一实施例的用于计算序列数据的协方差的方法的流程示意图。如图1所示,一些实施例的用于计算序列数据的协方差的方法,可包括:步骤S110:接收第一序列的第一数据和第二序列的第二数据,并将所述第一数据和所述第二数据分别存储至第一缓冲器和第二缓冲器;步骤S120:在所述第一缓冲器中的数据的个数和所述第二缓冲器中的数据的个数均大于或等于滑动窗口的大小的情况下,根据所述第一缓冲器中所述滑动窗口所在位置从所述第一缓冲器读取数量为所述滑动窗口的大小的所述第一序列的数据,根据所述第二缓冲器中所述滑动窗口所在位置从所述第二缓冲器读取数量为所述滑动窗口的大小的所述第二序列的数据;步骤S130:计算读取的数量为所述滑动窗口的大小的所述第一序列的数据和读取的数量为所述滑动窗口的大小的所述第二序列的数据的协方差,用于分析包含所述第一数据的所述第一序列和包含所述第二数据的所述第二序列数据的相关性。在上述步骤S110中,该第一序列和该第二序列可以是各种包含按一定顺序排列的数据元素的序列,例如,时间序列、空间序列等,可以由外部设备(例如传感器)实时传送过来,每个周期可以传送一个数据。该第一数据中的“第一”并不限定为该第一序列中的首个数据,也不限定为本方法接收的首个数据,其仅用于与后续所述的第三数据相区别,用于表明第一数据和第三数据在该第一序列中位置(例如时间位置、空间位置等)不同。该第二数据中的“第二”并不限定为该第二序列中的首个数据或第二个数据,也不限定为本方法接收的首个数据或第本文档来自技高网
...

【技术保护点】
1.一种用于计算序列数据的协方差的方法,其特征在于,包括:接收第一序列的第一数据和第二序列的第二数据,并将所述第一数据和所述第二数据分别存储至第一缓冲器和第二缓冲器;在所述第一缓冲器中的数据的个数和所述第二缓冲器中的数据的个数均大于或等于滑动窗口的大小的情况下,根据所述第一缓冲器中所述滑动窗口所在位置从所述第一缓冲器读取数量为所述滑动窗口的大小的所述第一序列的数据,根据所述第二缓冲器中所述滑动窗口所在位置从所述第二缓冲器读取数量为所述滑动窗口的大小的所述第二序列的数据;计算读取的数量为所述滑动窗口的大小的所述第一序列的数据和读取的数量为所述滑动窗口的大小的所述第二序列的数据的协方差,用于分析包含所述第一数据的所述第一序列和包含所述第二数据的所述第二序列数据的相关性。

【技术特征摘要】
1.一种用于计算序列数据的协方差的方法,其特征在于,包括:接收第一序列的第一数据和第二序列的第二数据,并将所述第一数据和所述第二数据分别存储至第一缓冲器和第二缓冲器;在所述第一缓冲器中的数据的个数和所述第二缓冲器中的数据的个数均大于或等于滑动窗口的大小的情况下,根据所述第一缓冲器中所述滑动窗口所在位置从所述第一缓冲器读取数量为所述滑动窗口的大小的所述第一序列的数据,根据所述第二缓冲器中所述滑动窗口所在位置从所述第二缓冲器读取数量为所述滑动窗口的大小的所述第二序列的数据;计算读取的数量为所述滑动窗口的大小的所述第一序列的数据和读取的数量为所述滑动窗口的大小的所述第二序列的数据的协方差,用于分析包含所述第一数据的所述第一序列和包含所述第二数据的所述第二序列数据的相关性。2.如权利要求1所述的用于计算序列数据的协方差的方法,其特征在于,计算读取的数量为所述滑动窗口的大小的所述第一序列的数据和读取的数量为所述滑动窗口的大小的所述第二序列的数据的协方差,包括:根据所述滑动窗口的大小,利用多个加法器、多个除法器及多个乘法器计算读取的数量为所述滑动窗口的大小的所述第一序列的数据和读取的数量为所述滑动窗口的大小的所述第二序列的数据的协方差。3.如权利要求2所述的用于计算序列数据的协方差的方法,其特征在于,根据所述滑动窗口的大小,利用多个加法器、多个除法器及多个乘法器计算读取的数量为所述滑动窗口的大小的所述第一序列的数据和读取的数量为所述滑动窗口的大小的所述第二序列的数据的协方差,包括:利用第一加法器阵列和第一除法器,根据所述滑动窗口的大小对读取的数量为所述滑动窗口的大小的所述第一序列的数据进行计算,得到包括所述第一数据的所述第一序列的数据的期望值;利用第二加法器阵列和第二除法器,根据所述滑动窗口的大小对读取的数量为所述滑动窗口的大小的所述第二序列的数据进行计算,得到包括所述第二数据的所述第二序列的数据的期望值;利用第一乘法器、第三加法器阵列及第三除法器,根据所述滑动窗口的大小对读取的数量为所述滑动窗口的大小的所述第一序列的数据和读取的数量为所述滑动窗口的大小的所述第二序列的数据进行计算,得到包括所述第一数据的所述第一序列的数据和包括所述第二数据的所述第二序列的数据的乘积的期望值;利用第二乘法器对包括所述第一数据的所述第一序列的数据的期望值和包括所述第二数据的所述第二序列的数据的期望值进行乘积计算;利用第一加法器对包括所述的乘积的期望值和乘积计算结果进行加法计算,得到包括所述第一数据的所述第一序列的数据和包括所述第二数据的所述第二序列的数据的协方差;其中,所述多个加法器包括所述第一加法器阵列中各加法器、所述第二加法器阵列中各加法器、所述第三加法器阵列中各加法器、及所述第一加法器,所述多个除法器包括所述第一除法器、所述第二除法器、及所述第三除法器,所述多个乘法器包括所述第一乘法器和所述第二乘法器。4.如权利要求3所述的用于计算序列数据的协方差的方法,其特征在于,所述第一加法器阵列、所述第二加法器阵列及所述第三加法器阵列中的至少一个包括多个级加法器,前一级加法器的个数是后一级加法器的个数的两倍。5.如权利要求1所述的用于计算序列数据的协方差的方法,其特征在于,还包括:接收所述第一序列的第三数据和所述第二序列的第四数据,并将所述第三数据和所述第四数据分别存储...

【专利技术属性】
技术研发人员:鄢贵海卢文岩朱凯
申请(专利权)人:中科驭数北京科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1