CN110971239A - 基于数据压缩的均值计算方法、装置和终端设备 - Google Patents
基于数据压缩的均值计算方法、装置和终端设备 Download PDFInfo
- Publication number
- CN110971239A CN110971239A CN201911301653.2A CN201911301653A CN110971239A CN 110971239 A CN110971239 A CN 110971239A CN 201911301653 A CN201911301653 A CN 201911301653A CN 110971239 A CN110971239 A CN 110971239A
- Authority
- CN
- China
- Prior art keywords
- segment
- data
- time
- semi
- mean value
- 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.)
- Pending
Links
Images
Classifications
-
- 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
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
- H03M7/3064—Segmenting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明适用于数据压缩技术领域,提供了一种基于数据压缩的均值计算方法、装置和终端设备。该方法包括:获取时间序列,并根据预设尺寸窗口对所述时间序列进行滤波得到滤波序列集合,将所述时间序列压缩为半连续分段集合;在所述半连续分段集合中确定覆盖所述滤波序列集合的最小分段集合;根据所述最小分段集合对所述滤波序列集合内每个时间点进行赋值得到恢复数据集合,对所述恢复数据集合进行均值计算得到所述时间序列的均值。本发明基于压缩数据进行均值计算,运算速度快,均值误差可控,满足误差条件,保证了均值质量,具有更优的执行效率。
Description
技术领域
本发明属于数据压缩技术领域,尤其涉及一种基于数据压缩的均值计算方法、装置和终端设备。
背景技术
均值是数学中的概念,以算术平均值最为常见,在数据处理领域,均值具有广泛的应用,比如均值装置。目前,大部分均值装置都是在原始数据上进行设计,即在前期对原始数据进行压缩,使其有利于传输或者存储,待计算均值时仍然会利用压缩数据对原始数据进行恢复,恢复后再进行均值计算,而直接基于压缩数据来设计的均值装置未尝可见,其原因在于以下两个方面:一方面,如果采用无损压缩算法进行数据压缩,其压缩结果往往不可解释,也很难和均值的计算过程所关联,另一方面,如果采用有损压缩算法进行前期压缩,直接在压缩数据上进行均值计算的过程是可行的(即可以恢复数据后再计算),但是其计算结果并不可控,无法保证该均值和在原始数据上计算的结果的误差。
发明内容
有鉴于此,本发明实施例提供了一种基于数据压缩的均值计算方法、装置和终端设备,以解决现有技术中的均值装置具有运算效率低,计算误差无法保证的问题。
本发明实施例的第一方面提供了一种基于数据压缩的均值计算方法,包括:
获取时间序列,并根据预设尺寸窗口对所述时间序列进行滤波得到滤波序列集合,将所述时间序列压缩为半连续分段集合;
在所述半连续分段集合中确定覆盖所述滤波序列集合的最小分段集合;
根据所述最小分段集合对所述滤波序列集合内每个时间点进行赋值得到恢复数据集合;
对所述恢复数据集合进行均值计算得到所述时间序列的均值。
进一步的,在所述半连续分段集合中确定覆盖所述滤波序列集合的最小分段集合,包括:
将所述时间序列转换为多个不连续分段;
依次判断每个不连续分段与其右相邻的不连续分段之间是否满足半连续相交条件;
若满足,则将满足半连续相交条件的所有相邻的不连续分段依次进行半连续相交,得到半连续分段集合;
若不满足,则将所述与其右相邻的不连续分段的末端逐点删除,使不连续分段与该末端逐点删除后的不连续分段之间满足半连续相交条件,并进行半连续相交,得到半连续分段集合。
进一步的,依次判断每个不连续分段与其右相邻的不连续分段之间是否满足半连续相交条件,包括:
判断每个所述不连续分段的极限线段与其右相邻的不连续分段的极限线段是否相交,且每个所述不连续分段与其右相邻的不连续分段之间是否满足第一预设误差条件。
进一步的,根据所述最小分段集合对所述滤波序列集合内每个时间点进行赋值得到恢复数据集合,包括:
根据所述最小分段集合确定解压直线,并计算所述最小分段集合中整点时刻对应的数据值总和;
在所述解压直线中确定与所述滤波序列集合中每个元素的时刻对应的解压数据值;
所述恢复数据集合包括所述最小分段集合中整点时刻对应的数据值和多个所述解压数据值。
进一步的,对所述恢复数据集合进行均值计算得到所述时间序列的均值,包括:
通过
得到所述时间序列i的均值其中,listk+1为所述恢复数据集合中在时刻时的数据值,listk为所述恢复数据集合中在时刻时的数据值,Num为所述恢复数据集合的元素总个数,Sum为所述最小分段集合中整点时刻对应的数据值总和,Y为所述预设尺寸。
进一步的,在对所述恢复数据集合进行均值计算得到所述时间序列的均值之后,所述方法还包括:
计算所述滤波序列集合的均值得到第一均值;
判断所述第一均值与时间序列的均值之间是否满足第二预设误差条件;
若满足,则存储所述时间序列的均值。
进一步的,计算所述滤波序列集合的均值得到第一均值,包括:通过
得到所述第一均值basei,其中,pk为所述滤波序列集合中在时刻tk时的数据值,Y为所述预设尺寸。
本发明实施例的第二方面提供了一种基于数据压缩的均值计算装置,包括:
滤波压缩模块,用于获取时间序列,并根据预设尺寸窗口对所述时间序列进行滤波得到滤波序列集合,将所述时间序列压缩为半连续分段集合;
最小集合确定模块,用于在所述半连续分段集合中确定覆盖所述滤波序列集合的最小分段集合;
数据恢复模块,用于根据所述最小分段集合对所述滤波序列集合内每个时间点进行赋值得到恢复数据集合;
均值计算模块,用于对所述恢复数据集合进行均值计算得到所述时间序列的均值。
本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述实施例的第一方面提供的任一项所述的基于数据压缩的均值计算方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例的第一方面提供的任一项所述的基于数据压缩的均值计算方法的步骤。
本发明实施例与现有技术相比存在的有益效果是:通过预设尺寸窗口对所述时间序列进行滤波得到滤波序列集合,以及将所述时间序列压缩为半连续分段集合,完成对数据的最优压缩,保证均值计算的速度和质量;进一步的,根据所述最小分段集合对滤波序列集合内每个时间点进行赋值得到恢复数据集合,对恢复数据集合进行均值计算得到时间序列的均值,运算速度快,实现了均值误差可控,保证了均值质量,具有更优的执行效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于数据压缩的均值计算方法的实现流程示意图;
图2是图1中步骤S101的具体实现流程示意图;
图3是图1中步骤S103的具体实现流程示意图;
图4是本发明实施例提供的另一种基于数据压缩的均值计算方法的实现流程示意图;
图5是本发明实施例提供的分段线性近似法的线段示意图;
图6是本发明实施例提供的“反向-检验”策略和“扩展-收缩”策略的示意图;
图7是本发明实施例提供的更新上、下极限线段和凸壳的流程示意图;
图8是本发明实施例提供的恢复数据集合的示意图;
图9是本发明实施例提供的基于数据压缩的均值计算装置的结构示意图;
图10是本发明实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
参见图1,为本实施例提供的基于数据压缩的均值计算方法的一个实施例实现流程示意图,详述如下:
步骤S101,获取时间序列,并根据预设尺寸窗口对所述时间序列进行滤波得到滤波序列集合,将所述时间序列压缩为半连续分段集合。
具体的,根据预设尺寸窗口M对时间序列P进行滤波得到滤波序列集合,假设预设尺寸Y为2*N+1,即M可以包括2*N+1个数据,记作M={(ti-N,pi-N),...,(ti,pi),...,(ti+N,pi+N)}。例如基于SemiConnAlg算法将时间序列P压缩为半连续分段集合S,本实施例可以直接利用半连续分段集合S计算在点(ti,pi)的均值,SemiConnAlg算法是基于最大误差的压缩方法。
步骤S102,在所述半连续分段集合中确定覆盖所述滤波序列集合的最小分段集合。
具体的,在半连续分段集合S中确定覆盖滤波序列集合M的最小子集,可以通过滤波序列集合M的首尾元素来确定,其中滤波序列集合M的中心元素为点(ti,pi),那么首元素(滤波序列集合M的左边端点)为(ti-N,pi-N),尾元素(滤波序列集合M的右边端点)为(ti+N,pi+N),根据时刻ti-N和时刻ti+N可以从半连续分段集合S中找出覆盖滤波序列集合M的最小分段集合SM。
步骤S103,根据所述最小分段集合对所述滤波序列集合内每个时间点进行赋值得到恢复数据集合。
步骤S104,对所述恢复数据集合进行均值计算得到所述时间序列的均值。
现有的均值滤波器如果采用无损压缩算法进行数据压缩,其压缩结果往往不可解释,也很难和均值的计算过程所关联,若采用有损压缩算法进行前期压缩,直接在压缩数据上进行均值计算的过程是可行的(即可以恢复数据后再计算),但是无法保证在压缩数据上计算均值的误差可控性,即无法保证该均值和在原始数据上计算的结果的误差。
当前国际上常见的数据流压缩算法可分为定质(Error-Bound)压缩和定量(Size-Bound)压缩。定量压缩:把数据压缩到事先给定的量值(或给定的压缩率)并使误差最小化;定质压缩:使压缩后的数据估计值与原始数据值的误差小于给定的数值,例如最常用的定质压缩是在度量空间L2和L∞上,均值误差(L2度量)压缩是使压缩后的数据估计值与原始数据值的整体平均误差(平方和的均值)小于临界值,最大误差(L∞度量)压缩是使得每一个数据点的误差小于临界值,所以最大误差压缩又称为质量保证的压缩。
均值误差压缩和定量压缩不适合对数据流压缩,其原因是这两种压缩算法是根据被压缩数据的整体特性来度量,例如定量压缩中给定的量值和均值误差压缩的平均误差,而整体特性与数据流持续的、无限的特性不相吻合。相反,最大误差压缩是控制每个数据点的误差、更为适合流数据。具体的,在L∞空间度量下,一种具有最优性的分段线性近似(Piecewise Linear Approximation,PLA)的基于数据压缩的均值计算方法,且本发明可以在线地实时处理数据,在L∞空间度量限制条件下,保证压缩后的数据存储单元最少,同时在时间和内存消耗具有极低的成本。
分段线性近似方法的基本思想:将原始的时间序列拆分成若干数据片段,每一个数据片段在某种度量条件下用一条线段进行拟合近似,每一数据片段的若干数据被一条线段所表示(线段的起始点和终点表示),从而达到压缩数据的目的,同时生成线段的度量条件主要包括L2度量和L∞度量。L2度量要求使用线段恢复后相应数据片段的总体均方误差小于事先给定的阈值;L∞度量要求使用线段恢复相应数据片段上的每一个数据点和原始数据点的差值的绝对值小于事先给定的阈值。显然,L∞度量下的每个还原的数据点可保证误差可控的同时,保证L2度量可控,即L∞度量优于L2度量,所以本实施例的数据处理压缩方法所要处理的问题为L∞-PLA问题。
L∞-PLA问题:假设P=(p1,...,pn)表示一个时间序列,δ表示L∞度量的阈值。时间序列P在时间间隔si<ei≤n上的数据片段表示为即在L∞度量下对时间序列P进行L∞-PLA将时间序列P分成k个数据片段S1,...,Sk,每一个数据片段可以被一个线性函数fi(t)近似,并且fi(t)满足:|fi(t)-pt|≤δ,t∈{si,...,ei},fi(t)称作是片段Si的可行线段表示。
进一步的,根据线段表示方式的不同以及线段连接时刻是否是整时刻点,可将L∞-PLA问题问题细化为3个子问题:(1)连续L∞-PLA问题:如果相邻可行线段是连接的,即fi(ei)=fi+1(si+1),1≤i≤k-1,称作连续L∞-PLA问题,并根据连接点所在时刻是否整时刻点,可进一步分成整时刻连续L∞-PLA问题(连续分段,如图5的(ii))和半连续L∞-PLA问题(半连续分段,如图5的(iii));(2)不连续L∞-PLA问题:如果相邻可行线段是不连接的,称作不连续L∞-PLA问题(不连续分段,如图5的(i));(3)混合L∞-PLA问题:如果生成可行线段集合包含连续的和不连续的,称作混合L∞-PLA问题(混合分段,如图5的(iv)),其中包含的一个不连续分段也可称作为一个混合分段。如果上述生成的分段线性表示的存储最小,我们称之为最优化的L∞-PLA问题。
事实上,最大误差压缩蕴含着均值误差压缩,也就是说如果每一个数据点的误差小于给定的最大误差δ,其整体误差一定小于δ,例如假定{p1',p'2,...,p'n}是原始数据流片段{p1,p2,...,pn}在相应时刻上的估计值,对于给定的最大误差δ,由于
由于最大误差压缩的以上特性,保证了直接在压缩数据上进行均值的可行性。故本发明选择基于最大误差标准的有损压缩算法作为本实施例的数据压缩方法,该方法可以获得连续直线表达形式,直观简单易懂,并且可以获得最优的压缩点个数,该方法的直线表示形式可以更准确的刻画原始数据的布局极值分布情况。本实施例的数据压缩数据的均值计算方法,可以在不进行解压操作的前提下,较低的时间消耗下获取均值,提高了均值滤波器的计算效率,并且本实施例验证了基于压缩数据计算的均值具有保质的性质,有利于传输或者存储,具有更优的执行效率。
在一个实施例中,参见图2,本发明的步骤S101中将所述时间序列压缩为半连续分段集合的具体实现流程包括:
步骤S201,将所述时间序列转换为多个不连续分段。
步骤S202,依次判断每个不连续分段与其右相邻的不连续分段之间是否满足半连续相交条件。
步骤S203,若满足,则将满足半连续相交条件的所有相邻的不连续分段依次进行半连续相交,得到半连续分段集合。
步骤S204,若不满足,则将所述与其右相邻的不连续分段的末端逐点删除,使不连续分段与该末端逐点删除后的不连续分段之间满足半连续相交条件,并进行半连续相交,得到半连续分段集合。
可选的,每个不连续分段与其右相邻的不连续分段之间满足半连续相交条件具体可以包括:每个所述不连续分段的极限线段与其右相邻的不连续分段的极限线段相交,且每个所述不连续分段与其右相邻的不连续分段之间满足第一预设误差条件。
示例性的,基于DisConnAlg算法将连续分段(时间序列)转换为多个不连续分段,并通过挖掘两个不连续分段内部的关系制定了“扩展-收缩”策略,使得相邻的两个不连续分段转化为半连续分段,基本过程如下:通过DisConnAlg算法基于时间序列构造多个不连续分段,第k个不连续分段记为Sk,第k+1个不连续分段记为Sk+1(k≥1),应用“反向-检验”策略检查Sk+1是否半连续连接Sk(是否满足半连续相交条件),其中被检查的不连续分段Sk+1被称为“挂起”的不连续分段。
示例性的,一个时间序列片段被分为4个不连续分段,依次为A、B、C和D,先判断A与B是否满足半连续相交条件,若满足,则A与B半连续连接形成AB,然后判断AB与C是否满足半连续相交条件,若不满足,则删除不连续分段C的末端一点,使得C的斜率发生变化得到C’,例如图6所示的lk+1变为l'k+1,然后再判断AB与C’是否满足半连续相交条件,若还不满足,则继续删除C’的末端一点得到C”,再判断AB与C”是否满足半连续相交条件,若满足则AB与C”半连续连接形成ABC”,即对不连续分段C的末端逐点删除,每次删除末端的一点后,判断不连续分段AB与该末端逐点删除后的不连续分段C’(或C”,C”’等)之间是否满足半连续相交条件,直至该末端逐点删除后的不连续分段C’与AB满足半连续相交条件。以此类推,最终形成ABC”D或ABC”D’等形式的半连续分段。当数据流中包括多个时间序列时,则形成半连续分段集合。
“反向-检验”策略具体指:检验Sk+1的极限线段(可以是上、下极限线段的任意一条)是否和Sk的极限线段(可以是上、下极限线段的任意一条)相交,且在Sk+1和Sk中的所有点是否满足L∞误差限定。如果“反向-检验”策略失败(Sk+1与Sk不满足半连续相交条件)),即Sk+1与Sk不能直接半连续相交,则采用“扩展-收缩”策略强制“反向-检验”策略成功。
“扩展-收缩”策略具体指:从Sk+1的末端逐点删除,末端每删除一点后,使用“反向-检验”策略检查,直到删除到“反向-检验”策略成功为止。因为当Sk+1被删除只包含一个数据点时,“反向-检验”策略是肯定成功的,所以“扩展-收缩”策略可以保证“反向-检验”策略的成功率。
如图6(i)所示,被挂起的不连续分段Sk+1可直接半连续连接它之前的分段Sk,因为Sk+1下极限线段lk+1可以连接Sk的下极限线段lk,并且包含的所有点都满足第一预设误差条件;如图6(ii)所示,原始的Sk+1并不能直接半连续连接Sk,尽管lk+1可以延长使得于lk相交,但并不能保证满足第一预设误差条件,这时需要采用“扩展-收缩”策略,例如删除点,lk+1更新为l'k+1,再用“反向-检验”策略可成功,最终按照SemiConnAlg算法时间序列可以生成半连续分段集合,并且该半连续分段集合是半连续条件下存储最小的。
另外,需要说明本实施例中的DisConnAlg算法。DisConnAlg算法是一种在时域空间下用于解决不连续L∞-PLA问题的算法,即在L∞度量下,可以生成最优存储的不连续分段,即保证每个不连续分段拟合最多的数据点,这个目标通过在拟合数据点的过程中获取可行线段的范围来实现,当这个范围是空集的时候,表示拟合了最多的数据点,将产生一个不连续分段。具体的,在产生不连续分段过程中,用上、下极限线段来表示所有可行线段的范围,上、下极限线段随着新数据点的加入进行迭代更新。为了减少更新过程中的时间消耗,两个“凸壳”结构被引入,并随着上述迭代过程同步更新。具体来说,假设S=(p1,p2,...,pn)是一个数据片段,可通过DisConnAlg算法生成一个不连续分段,当pk(k∈{1,...,n-1})被拟合时,上、下极限线段的斜率分别记为u[1,k+1]和l[1,k+1],具体如下:
其中,t为对应片段的时刻,点pa,pb,pc和pd由下式确定:
综合上面两式可得:
最终可得:
为了方便理解更新上、下极限线段和“凸壳”,本实施例进行了示例性的说明。参见图7,针对初始的两个数据点p1和p2按照图7的(i)进行初始化,当拟合了pk+1点后,确定了上极限线段由uk更新为uk+1,下极限线段保持不变,两个凸壳为和cvx(k),如图7的(ii)所示,最后根据三角检验规则更新两个凸壳为和cvx(k+1),如图7的(iii)所示。最后,在每一个数据片段上,选择上、下极限线段的任意一条,即形成如图5的(i)所示的不连续分段形式。
在一个实施例中,参见图3,本发明的步骤S103中根据所述最小分段集合对所述滤波序列集合内每个时间点进行赋值得到恢复数据集合的具体实现流程包括:
步骤S301,根据所述最小分段集合确定解压直线,并计算所述最小分段集合中整点时刻对应的数据值总和。
步骤S302,在所述解压直线中确定与所述滤波序列集合中每个元素的时刻对应的解压数据值。
步骤S303,所述恢复数据集合包括所述最小分段集合中整点时刻对应的数据值和多个所述解压数据值。
具体的,本实施例可以先初始化列表容器List,表示空集的恢复数据集合,设置计数器,计数次数k的最终数值为所述最小分段集合的总数。示例性的,根据所述最小分段集合对所述滤波序列集合内每个时间点进行赋值得到恢复数据集合的具体过程可以如下所示:
步骤1:初始化列表容器List为φ,整点数据值总和Sum为0,计数器次数k为1。
步骤2:若k=1,根据所述最小分段集合中首元素和与首元素右相邻的元素确定第一直线,并根据所述第一直线计算在时刻ti-N的数据值yi-N,将点(ti-N,yi-N)存入列表容器List中,使k=k+1进入步骤3或步骤4,其中ti-N为所述滤波序列集合的首元素对应的时刻。
步骤3:若1<k<m且时刻tj+k为正整数,将点(tj+k,sj+k)存入列表容器List中,并计算Sum=Sum+sj+k,使k=k+1进入步骤3或步骤4,其中tj+k为所述最小分段集合中第k个元素对应的时刻,sj+k为在时刻tj+k的数据值。
步骤4:若1<k<m且时刻tj+k为小数,根据点(tj+k-1,sj+k-1)和点(tj+k,sj+k)确定第二直线,根据所述第二直线计算在时刻Round(ti+k)的数据值yi+k,将点(Round(ti+k),yi+k)存入列表容器List中,同时根据点(tj+k,sj+k)和点(tj+k+1,sj+k+1)确定第三直线,根据所述第三直线计算在时刻Round(ti+k+1)的值y(ti+k+1),将点(Round(ti+k+1),y(ti+k+1))存入列表容器List中,使k=k+1进入步骤3或步骤4,其中Round(ti+k)指时刻tj+k去掉小数的整数值。
步骤5:若k=m,根据所述最小分段集合中尾元素和与尾元素左相邻的元素确定第四直线,并根据所述第四直线计算在时刻ti+N的数据值yi+N,将点(ti+N,yi+N)存入列表容器List中,其中ti+N为所述滤波序列集合的尾元素对应的时刻,列表容器List为所述恢复数据集合。最终得到列表容器List 进一步的,可以按照如下公式计算在时刻ti(滤波序列集合对应时刻)的均值base″i,Num为列表容器List中元素总个数。
可选的,对所述恢复数据集合进行均值计算得到所述时间序列的均值的具体实现流程可以包括:通过
得到所述时间序列i的均值base″i,其中,listk+1为所述恢复数据集合中在时刻时的数据值,listk为所述恢复数据集合中在时刻时的数据值,Num为所述恢复数据集合的元素总个数,Sum为所述最小分段集合中整点时刻对应的数据值总和,Y为所述预设尺寸。
我们可以根据一个实例来解释上述算法过程。如图8所示,左侧是原始的时间序列中一个片段的数据点,其中预设窗口大小为11个点,在半连续分段集合S中可得到覆盖滤波序列集合M的最小分段集合SM,最小分段集合SM包含4个点:(tj,sj)、(tj+1,sj+1)、(tj+2,sj+2)和(tj+4,sj+4),通过这4个点可计算得到滤波序列集合M的三个区域Ar1、Ar2和Ar3,每个区域内解压直线恢复的数据值是一个以直线斜率为公差的等差数列,因为这些点在一条直线上。对于任意的等差序列{a1,...,an},其所有数据值的和可以由公式n*(a1+an)/2直接确定,故三个区域上的所有点的和可以由等差序列和的计算公式得到,唯一需要注意的是在(tj+1,sj+1)点,被重复计算了两次,故在总和的基础上应该减掉一次。
在一个实施例中,参见图4,本发明在步骤S104之后还可以包括:
步骤S401,计算所述滤波序列集合的均值得到第一均值。
步骤S402,判断所述第一均值与时间序列的均值之间是否满足第二预设误差条件。
步骤S403,若满足,则存储所述时间序列的均值。
本实施例的第一预设误差条件可以与第二预设误差条件相同。
可选的,计算所述滤波序列集合的均值得到第一均值,可以通过
得到所述第一均值basei,其中,pk为所述滤波序列集合中在时刻tk时的数据值,Y为所述预设尺寸。例如,预设尺寸Y=2*N+1。
也就是说,本实施例还验证了通过SemiConnAlg算法得到的半连续分段集合S提取的均值base″i和直接对滤波序列集合M求均值得到的第一均值basei是否在一个可控的误差范围内。事实上,本实施例的均值误差是可控的,SemiConnAlg算法中采用的第一预设误差条件为δ,即验证|base″i-basei|≤δ。
假设滤波序列集合M={(ti-N,pi-N),...,(ti,pi),...,(ti+N,pi+N)},根据最小分段集合SM确定滤波序列集合的解压直线,得到滤波序列集合M的压缩数据M'={(ti-N,p'i-N),...,(ti,p'i),...,(ti+N,p'i+N)},在M和M’上的均值basei和basei'可以直接计算得到:
由于SemiConnAlg算法是在L∞度量下的压缩算法,故对任意的原始点pj和其对应的压缩点pi'满足|pi-pi'|≤δ成立,故|basei-basei'|≤δ。由于直线上的恢复点组成的是一个等差数列,等差数列的均值可以通过这个数列的最大值和最小值来计算,所以base″i=basei',故|basei-base″i|≤δ,故通过SemiConnAlg算法得到的半连续分段集合S提取的均值base″i和直接对滤波序列集合M求均值得到的第一均值basei之间的误差在一个可控的误差范围内。
上述基于数据压缩的均值计算方法,通过预设尺寸窗口对所述时间序列进行滤波得到滤波序列集合,以及在所述半连续分段集合中确定覆盖所述滤波序列集合的最小分段集合,完成对数据的最优压缩,保证均值计算的速度和质量;进一步的,在半连续分段集合中确定覆盖滤波序列集合的最小分段集合,根据最小分段集合计算所述时间序列的均值,运算速度快,实现了均值误差可控,保证了均值质量,具有更优的执行效率。
本领域技术人员可以理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的基于数据压缩的均值计算方法,本实施例提供了一种基于数据压缩的均值计算装置。具体参见图9,为本实施例中基于数据压缩的均值计算装置的结构示意图。为了便于说明,仅示出了与本实施例相关的部分。
所述基于数据压缩的均值计算装置包括:滤波压缩模块110、压缩模块120、最小集合确定模块130和均值计算模块150。
滤波压缩模块110用于获取时间序列,并根据预设尺寸窗口对所述时间序列进行滤波得到滤波序列集合,将所述时间序列压缩为半连续分段集合。
最小集合确定模块120用于在所述半连续分段集合中确定覆盖所述滤波序列集合的最小分段集合。
数据恢复模块130用于根据所述最小分段集合对所述滤波序列集合内每个时间点进行赋值得到恢复数据集合。
均值计算模块140用于对所述恢复数据集合进行均值计算得到所述时间序列的均值。
在一个实施例中,滤波压缩模块110具体用于:将所述时间序列转换为多个不连续分段;依次判断每个不连续分段与其右相邻的不连续分段之间是否满足半连续相交条件;若满足,则将满足半连续相交条件的所有相邻的不连续分段依次进行半连续相交,得到半连续分段集合;若不满足,则将所述与其右相邻的不连续分段的末端逐点删除,使不连续分段与该末端逐点删除后的不连续分段之间满足半连续相交条件,并进行半连续相交,得到半连续分段集合。可选的,每个不连续分段与其右相邻的不连续分段之间满足半连续相交条件包括:每个所述不连续分段的极限线段与其右相邻的不连续分段的极限线段相交,且每个所述不连续分段与其右相邻的不连续分段之间满足第一预设误差条件。
在一个实施例中,数据恢复模块130具体用于:根据所述最小分段集合确定解压直线,并计算所述最小分段集合中整点时刻对应的数据值总和;在所述解压直线中确定与所述滤波序列集合中每个元素的时刻对应的解压数据值;所述恢复数据集合包括所述最小分段集合中整点时刻对应的数据值和多个所述解压数据值。可选的,通过
得到所述时间序列i的均值base″i,其中,listk+1为所述恢复数据集合中在时刻时的数据值,listk为所述恢复数据集合中在时刻时的数据值,Num为所述恢复数据集合的元素总个数,Sum为所述最小分段集合中整点时刻对应的数据值总和,Y为所述预设尺寸。
上述基于数据压缩的均值计算装置,滤波压缩模块110通过预设尺寸窗口对所述时间序列进行滤波得到滤波序列集合,将所述时间序列压缩为半连续分段集合,完成对数据的最优压缩,保证均值计算的速度和质量;最小集合确定模块120在半连续分段集合中确定覆盖所述滤波序列集合的最小分段集合,数据恢复模块130根据最小分段集合对滤波序列集合内每个时间点进行赋值得到恢复数据集合,均值计算模块140对恢复数据集合进行均值计算得到时间序列的均值,运算速度快,实现了均值误差可控,保证了均值质量,具有更优的执行效率。
本实施例还提供了一种终端设备100的示意图。如图10所示,该实施例的终端设备100包括:处理器150、存储器160以及存储在所述存储器160中并可在所述处理器150上运行的计算机程序161,例如基于数据压缩的均值计算方法的程序。所述处理器150在执行所述计算机程序161时实现上述基于数据压缩的均值计算方法实施例中的步骤,例如图1所示的步骤101至104。或者,所述处理器150执行所述计算机程序161时实现上述各装置实施例中各模块/单元的功能,例如图9所示模块110至140的功能。
示例性的,所述计算机程序161可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器160中,并由所述处理器150执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序161在所述终端设备100中的执行过程。例如,所述计算机程序161可以被分割成滤波压缩模块110、最小集合确定模块120、数据恢复模块130和均值计算模块140,各模块具体功能如下:
滤波压缩模块110用于获取时间序列,并根据预设尺寸窗口对所述时间序列进行滤波得到滤波序列集合,将所述时间序列压缩为半连续分段集合。
最小集合确定模块120用于在所述半连续分段集合中确定覆盖所述滤波序列集合的最小分段集合。
数据恢复模块130用于根据所述最小分段集合对所述滤波序列集合内每个时间点进行赋值得到恢复数据集合。
均值计算模块140用于对所述恢复数据集合进行均值计算得到所述时间序列的均值。
所述终端设备100可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备100可包括,但不仅限于处理器150、存储器160。本领域技术人员可以理解,图10仅仅是终端设备100的示例,并不构成对终端设备100的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备100还可以包括输入输出设备、网络接入设备、总线等。
所称处理器150可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器160可以是所述终端设备100的内部存储单元,例如终端设备100的硬盘或内存。所述存储器160也可以是所述终端设备100的外部存储设备,例如所述终端设备100上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器160还可以既包括所述终端设备100的内部存储单元也包括外部存储设备。所述存储器160用于存储所述计算机程序以及所述终端设备100所需的其他程序和数据。所述存储器160还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模型的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于数据压缩的均值计算方法,其特征在于,包括:
获取时间序列,并根据预设尺寸窗口对所述时间序列进行滤波得到滤波序列集合,将所述时间序列压缩为半连续分段集合;
在所述半连续分段集合中确定覆盖所述滤波序列集合的最小分段集合;
根据所述最小分段集合对所述滤波序列集合内每个时间点进行赋值得到恢复数据集合;
对所述恢复数据集合进行均值计算得到所述时间序列的均值。
2.如权利要求1所述的基于数据压缩的均值计算方法,其特征在于,在所述半连续分段集合中确定覆盖所述滤波序列集合的最小分段集合,包括:
将所述时间序列转换为多个不连续分段;
依次判断每个不连续分段与其右相邻的不连续分段之间是否满足半连续相交条件;
若满足,则将满足半连续相交条件的所有相邻的不连续分段依次进行半连续相交,得到半连续分段集合;
若不满足,则将所述与其右相邻的不连续分段的末端逐点删除,使不连续分段与该末端逐点删除后的不连续分段之间满足半连续相交条件,并进行半连续相交,得到半连续分段集合。
3.如权利要求2所述的基于数据压缩的均值计算方法,其特征在于,每个不连续分段与其右相邻的不连续分段之间满足半连续相交条件,包括:
每个所述不连续分段的极限线段与其右相邻的不连续分段的极限线段相交,且每个所述不连续分段与其右相邻的不连续分段之间满足第一预设误差条件。
4.如权利要求1所述的基于数据压缩的均值计算方法,其特征在于,根据所述最小分段集合对所述滤波序列集合内每个时间点进行赋值得到恢复数据集合,包括:
根据所述最小分段集合确定解压直线,并计算所述最小分段集合中整点时刻对应的数据值总和;
在所述解压直线中确定与所述滤波序列集合中每个元素的时刻对应的解压数据值;
所述恢复数据集合包括所述最小分段集合中整点时刻对应的数据值和多个所述解压数据值。
6.如权利要求1至5任一项所述的基于数据压缩的均值计算方法,其特征在于,在对所述恢复数据集合进行均值计算得到所述时间序列的均值之后,所述方法还包括:
计算所述滤波序列集合的均值得到第一均值;
判断所述第一均值与时间序列的均值之间是否满足第二预设误差条件;
若满足,则存储所述时间序列的均值。
8.一种基于数据压缩的均值计算装置,其特征在于,包括:
滤波压缩模块,用于获取时间序列,并根据预设尺寸窗口对所述时间序列进行滤波得到滤波序列集合,将所述时间序列压缩为半连续分段集合;
最小集合确定模块,用于在所述半连续分段集合中确定覆盖所述滤波序列集合的最小分段集合;
数据恢复模块,用于根据所述最小分段集合对所述滤波序列集合内每个时间点进行赋值得到恢复数据集合;
均值计算模块,用于对所述恢复数据集合进行均值计算得到所述时间序列的均值。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的基于数据压缩的均值计算方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于数据压缩的均值计算方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911301653.2A CN110971239A (zh) | 2019-12-17 | 2019-12-17 | 基于数据压缩的均值计算方法、装置和终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911301653.2A CN110971239A (zh) | 2019-12-17 | 2019-12-17 | 基于数据压缩的均值计算方法、装置和终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110971239A true CN110971239A (zh) | 2020-04-07 |
Family
ID=70034647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911301653.2A Pending CN110971239A (zh) | 2019-12-17 | 2019-12-17 | 基于数据压缩的均值计算方法、装置和终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110971239A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487880A (zh) * | 2020-11-13 | 2021-03-12 | 河北省科学院应用数学研究所 | 基于最大误差准则的中值滤波器、设备和系统 |
CN113381767A (zh) * | 2021-06-25 | 2021-09-10 | 河北省科学院应用数学研究所 | 用于心电数据压缩的方法、终端及存储介质 |
CN113872607A (zh) * | 2021-09-29 | 2021-12-31 | 河北省科学院应用数学研究所 | 一种生理监测数据的保质压缩方法、装置及终端设备 |
CN114547030A (zh) * | 2022-01-20 | 2022-05-27 | 清华大学 | 多级时序数据压缩方法、装置、电子设备及存储介质 |
CN115310038A (zh) * | 2022-10-11 | 2022-11-08 | 北京中科心研科技有限公司 | 基于pla的实时生理数据处理方法、装置、存储介质及系统 |
CN116418349A (zh) * | 2023-03-07 | 2023-07-11 | 东华大学 | 基于最大误差准则的序列数据压缩方法、设备和系统 |
-
2019
- 2019-12-17 CN CN201911301653.2A patent/CN110971239A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487880A (zh) * | 2020-11-13 | 2021-03-12 | 河北省科学院应用数学研究所 | 基于最大误差准则的中值滤波器、设备和系统 |
CN112487880B (zh) * | 2020-11-13 | 2021-09-24 | 河北省科学院应用数学研究所 | 基于最大误差准则的中值滤波器、设备和系统 |
CN113381767A (zh) * | 2021-06-25 | 2021-09-10 | 河北省科学院应用数学研究所 | 用于心电数据压缩的方法、终端及存储介质 |
CN113872607A (zh) * | 2021-09-29 | 2021-12-31 | 河北省科学院应用数学研究所 | 一种生理监测数据的保质压缩方法、装置及终端设备 |
CN114547030A (zh) * | 2022-01-20 | 2022-05-27 | 清华大学 | 多级时序数据压缩方法、装置、电子设备及存储介质 |
CN114547030B (zh) * | 2022-01-20 | 2023-03-24 | 清华大学 | 多级时序数据压缩方法、装置、电子设备及存储介质 |
CN115310038A (zh) * | 2022-10-11 | 2022-11-08 | 北京中科心研科技有限公司 | 基于pla的实时生理数据处理方法、装置、存储介质及系统 |
CN116418349A (zh) * | 2023-03-07 | 2023-07-11 | 东华大学 | 基于最大误差准则的序列数据压缩方法、设备和系统 |
CN116418349B (zh) * | 2023-03-07 | 2024-01-26 | 东华大学 | 基于最大误差准则的序列数据压缩方法、设备和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110971239A (zh) | 基于数据压缩的均值计算方法、装置和终端设备 | |
CN110620586B (zh) | 数据压缩方法、装置和终端设备 | |
CN108876871B (zh) | 基于圆拟合的图像处理方法、装置与计算机可读存储介质 | |
CN110363753B (zh) | 图像质量评估方法、装置及电子设备 | |
CN115294349B (zh) | 训练模型的方法、装置、电子设备及存储介质 | |
CN113642673B (zh) | 图像生成方法、装置、设备及存储介质 | |
CN111325096B (zh) | 直播流采样方法、装置及电子设备 | |
CN114418086B (zh) | 压缩神经网络模型的方法、装置 | |
CN113721884A (zh) | 运算方法、装置、芯片、电子装置及存储介质 | |
CN113381766A (zh) | 用于心电数据压缩的方法、终端及存储介质 | |
CN115525951A (zh) | 建筑物轮廓优化及特征边重构的规则化方法及装置 | |
CN113381767B (zh) | 用于心电数据压缩的方法、终端及存储介质 | |
CN114781650A (zh) | 一种数据处理方法、装置、设备以及存储介质 | |
CN110968375B (zh) | 界面控制方法、装置、智能终端及计算机可读存储介质 | |
CN113163198B (zh) | 图像压缩方法、解压方法、装置、设备及存储介质 | |
CN109146765B (zh) | 一种图像处理方法、主处理器、协处理器及电子设备 | |
CN111385578B (zh) | 一种应用于fpga的数据解压缩方法、成像设备和汽车 | |
CN113361535A (zh) | 图像分割模型训练、图像分割方法及相关装置 | |
CN113887435A (zh) | 人脸图像处理方法、装置、设备、存储介质及程序产品 | |
CN116563395B (zh) | 图像色彩特征提取方法、装置、存储介质及电子设备 | |
CN116233426B (zh) | 属性量化、反量化方法、装置及设备 | |
CN116341689B (zh) | 机器学习模型的训练方法、装置、电子设备及存储介质 | |
CN116646038B (zh) | 确定医疗数据分组的方法、装置、电子设备和存储介质 | |
CN108109102B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN113326459B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200407 |
|
RJ01 | Rejection of invention patent application after publication |