基于金字塔加权的能量管理系统时序数据在线采样算法的制作方法



1.本发明属于数据通讯技术领域,具体涉及一种基于金字塔加权的能量管理系统时序数据在线采样算法。


背景技术:



2.嵌入式开发中需要在单片机各芯片之间进行数据通讯,存在大量时序数据传输,在对上位机展示时,往往不需要过于精细的数据,仅需要表现数据特性即可,因此需要一定的采样方法,减少数据传输压力。
3.现有技术中,通常采用以下方式对数据进行采样:专利申请号为:cn202110322088,公开了一种时序数据的处理方法、一种时序数据处理装置以及计算机可读存储介质。提供的时序数据的处理方法包括:获取到设定时长内的待渲染的第一时序数据的数据点数,响应于数据点数大于设定时长的最大渲染数据个数,采用与数据点数匹配的降采样方法对第一时序数据进行降采样,得到降采样后的第二时序数据,对第二时序数据绘制时序图。
4.可见,现有技术中在对数据进行采样时多数会利用固定间隔采样。然而因为信号不是规则性变化,固定间隔采样会在较平稳时间段浪费存储,在信息变化迅速期间又会遗漏关键信号,因此这种采样策略并非是最优的。并且现有技术中对于某个时间段内的数据点数大于设定时长的最大渲染数据个数时才会对其进行降维采样,当某个时间段内的数据点数小于设定时长的最大渲染数据个数时不对其进行降维采样,这样通过分别基于不同时间段单独对该时间段内的数据进行采样的话可能会出现在每个时间段内的数据采样可能较为准确,但是对整体的数据的采样来说没有考虑到不同时间段之间的联系,这样会使得采样的效果不够精确。
5.上述问题是目前亟待解决的。


技术实现要素:



6.本发明要克服现有技术的上述缺点,提供一种基于金字塔加权的时序数据在线采样算法。
7.本发明解决其技术问题所采用的技术方案是:一种基于金字塔加权的时序数据在线采样算法,包括:s1,将基于滑动窗口在线获取的数据信号存储为原始二元数据组,其中每个元素中包括数据以及该数据对应的权重;s2,遍历所述原始二元数据组,对于第i个数据,基于金字塔模型架构生成第一子数据序列;s3,基于第一子数据序列生成第一方差;s4,基于所述第一方差更新所述第一子数据序列中的i点和i+2
k-1点数据权重;s5,整合更新后的第一子数据序列生成更新后的二元数据组;s6,比较更新后的二元数据组中的第一个元素中的权重值与预设权重阈值;s7,将权重阈值更新为第一个数据对应的权重值并删除所述第一个元素生成删减后的二元数据组;s8,基于获取到的新的数据信号与所述删减后的二元数据组生成第二子数据序列以及第二方差;s9,基于所述第二方差更新所述第二子数
据序列的权重值生成更新后的第二子数据序列;s10,整合所述删减后的二元数据组以及更新后的第二子数据序列生成更新后的二元数据组;s11,转至步骤s6,至没有新的数据信号产生。
8.进一步的,步骤s2包括:s21,按照金字塔模型架构,从第i个数据开始,取2的k次方个连续数据生成第一子数据序列,其中k为正整数。
9.进一步的,所述步骤s3包括:s31,基于所述第一子数据序列中的数据计算第一方差v
ik
,其中i∈[1,n],k∈n
*

[0010]
进一步的,所述步骤s4包括:s41,将所述第一子数据序列中i点和i+2
k-1点数据权重增加
[0011]
进一步的,所述步骤s5包括:s51,整合所述多个更新后的第一子数据序列,其中相同的数据取对应的权重值大的元素作为更新后的二元数据组中的元素。
[0012]
进一步的,所述步骤s6包括:s61,当第一元素中的权重值不小于预设权重阈值时,输出该元素中的数据作为采样点;s62,当第一元素中的权重值大于预设阈值时,不输出采样点。
[0013]
进一步的,所述步骤s7包括:s71,将所述更新后的二元数据组中的第一个元素删除,其余元素依次前移一位,空出最后一位缓存。
[0014]
进一步的,所述步骤s8包括:s81,将获取到的新的信号数据存储在所述删减后的二元数据组中的最后一位缓存位置;s82,依次从最后一个数据向前取2的k次方个连续数据生成第二子数据序列;s83,对所述第二子数据中包含的数据进行方差计算生成第二方差v


[0015]
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有一个或一个以上的指令,所述计算机指令用于使所述计算机执行上述的基于金字塔加权的时序数据在线采样算法。
[0016]
本发明还提供一种电子设备,包括:存储器和处理器;所述存储器中存储有至少一条程序指令;所述处理器通过加载并执行所述至少一条程序指令以实现上述的基于金字塔加权的时序数据在线采样算法。
[0017]
本发明的有益效果是:本发明提供的一种基于金字塔加权的时序数据在线采样算法,通过滑动窗口对一小段时序数据进行在线采样,进一步地基于方差波动变化按照金字塔模型架构对获取的数据的权重进行加权,进而对方差波动大的数据进行采样,这样通过滑动窗口在线采样的方式可以有效的减少数据的存储量。基于方差波动变化按照金字塔模型架构对获取的数据的权重进行加权的方法可以在有效的保证采样的精准性的前提下也极大的减少了在采样过程对数据之间方差波动的计算量。
附图说明
[0018]
下面结合附图和实施例对本发明作进一步说明。
[0019]
图1是本发明实施例所提供的基于金字塔加权的能量管理系统时序数据在线采样算法的步骤示意图;
[0020]
图2是本发明实施例所提供的电子设备的部分框图。
具体实施方式
[0021]
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0022]
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
[0023]
现在结合附图对本发明作详细的说明。此图为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
[0024]
实施例1
[0025]
请参阅图1,本发明提出的基于金字塔加权的能量管理系统时序数据在线采样算法的步骤示意图。该算法应用在能量管理系统中,基于方差波动变化金字塔加权对时序数据在线采样,可以在减少数据的存储量的同时也减少了数据的计算量。
[0026]
基于金字塔加权的能量管理系统时序数据在线采样算法包括以下步骤:
[0027]
步骤s1:将基于滑动窗口在线获取的数据信号存储为原始二元数据组,其中每个元素中包括数据以及该数据对应的权重。
[0028]
作为示例,可以通过预设滑动窗口的尺寸来确定获取的时序数据量,也即确定获取的数据信号数量n,将获取到的数据信号以二元数据组的形式存储,其中二元数据组中包括获取到的数据值以及该数据值对应的权重,该权重的初始值可以设置为0。
[0029]
具体地,通过滑动窗口连续获取n个数据信号,制作二元组(di,pi),存入缓存。其中di为第i个数据,pi为对应的权重,将pi的初始值设置为0。这样可以通过滑动窗口对一小段时序数据实现在线采样,无需对所有数据存储后再进行采样,可以减少存储压力。
[0030]
步骤s2:遍历所述原始二元数据组,对于第i个数据,基于金字塔模型架构生成第一子数据序列。
[0031]
作为示例,所述步骤s2包括:s21,按照金字塔模型架构,从第i个数据开始,取2的k次方个连续数据生成第一子数据序列,即从i到i+2
k-1,且不超过缓存,即i+2
k-1不大于n,其中k为正整数。
[0032]
具体地,当n为20时,也即i=1,2,3,......,20。
[0033]
如下述表1所示,当i=1,k=1时,以第一个数据为首,取21个连续数据,生成的第一子数据序列为{(1,0),(2,0)};当i=1,k=2时,以第一个数据为首,取22个连续数据,生成的第一子数据序列为{(1,0),(2,0),(3,0),(4,0)};以此类推,当i=16,k=1时,以第16个数据为首,取21个连续数据,生成的第一子数据序列为{(16,0),(17,0)};
[0034]
当i=16,k=2时,以第16个数据为首,取22个连续数据,生成的第一子数据序列为{(16,0),(17,0),(18,0),(19,0)};当i=19,k=1时,以第19个数据为首,取21个连续数据,生成的第一子数据序列为{(19,0),(20,0)};当i=19,k=2时,由于i+2
k-1=22超过了20,
因此当i=19时,仅取到k=1。同理,当i=20,k=1时,由于i+2
k-1=21超过了20,因此当i=20时,不取数据。
[0035][0036]
表1
[0037]
步骤s3:基于第一子数据序列生成第一方差。
[0038]
作为示例,所述步骤s3包括:s31,基于所述第一子数据序列中的数据计算第一方差v
i,k
,其中i∈[1,n],k∈n
*

[0039]
具体地,基于上述表1,对第一子数据序列{(1,0),(2,0)},其第一方差表示为v
1,1
,其中方差公式为:
[0040]vi,k
={(x
1-m)2+(x
2-m)2+......+(x
n-m)2}/n
[0041]
其中,x1,.......,xn表示第n个数据值,也即对应于上述{(1,0),(2,0)}中的数据值1和数据值2,m为数据值x1,.......,xn的平均值。
[0042]
同理,对应于上述表1所述的第一子数据序列{(1,0),(2,0),(3,0),(4,0)}的第一方差为v
1,2
;对应于上述表1所述的第一子数据序列{(19,0),(20,0)}的第一方差为v
19,1
。其余的第一子数据序列对应的第一方差以此类推,在此不做赘述。也即,该方法通过结合局部方差(当k=1时)和整体方差(当k=4时)可以提高数据采样的精准度,因为如果只考虑局部方差而忽略整体方差时,会出现忽略了局部方差的波动影响整体的情况,如数据10000和数据10001之间的差值很小,因此可以忽略,但是如果有很多数据,每个数据都比前一个数据多一点可以忽略不计,但是最终第一个数据和最后一个数据就会出现很大的波动,因此,通过综合考量局部方差波动和整体方差波动可以有效的避免上述现象,进而有效的提高采样数据的精确度。
[0043]
步骤s4:基于所述第一方差更新所述第一子数据序列中的i点和i+2
k-1点数据权重。
[0044]
作为示例,所述步骤s4包括:s41,将所述第一子数据序列中i点和i+2
k-1点数据权
重增加
[0045]
具体地,以上述表1为例,当第一子数据序列为{(1,0),(2,0)}时,对应的第一方差为v
1,1
,则在第i个点和第i+2
k-1点的数据对应内的权重值增加也即在第1个点和第2个点对应的权重值分别增加则将第一子数据序列{(1,0),(2,0)}更新为{(1,v
1,1
×
e-1
),(2,v
1,1
×
e-1
)}。
[0046]
同理,当第一子数据序列为{(1,0),(2,0),(3,0),(4,0)}时,更新后的第一子数据序列为{(1,v
1,1
×
e-1
+v
1,2
×
e-4
),(2,v
1,1
×
e-1
),(3,0),(4,v
1,2
×
e-4
)}。也即,获取到的每个数据都会形成对应的金字塔模型架构,依据该金字塔模型架构可以避免对同一数据的重复计算,可以有效的减少计算量。并且基于方差对金字塔模型架构中的各个数据进行加权的方式也可以极大地保证采样数据的准确性,可以极大地保证采样的数据是最具代表性的数据。因为相比较于现有技术中的需要对获取到的数据中的每两个数据分别进行方差计算以保证采样数据为方差波动最大的数据来说,该方法只需要计算少数数据之间的方差波动即可。
[0047]
步骤s5:整合更新后的第一子数据序列生成更新后的二元数据组。
[0048]
作为示例,所述步骤s5包括:s51,整合所述多个更新后的第一子数据序列,其中相同的数据取对应的权重值大的元素作为更新后的二元数据组中的元素。
[0049]
具体地,如表1所示,在不同的第一子数据序列中可能存在相同的数据值,但是该相同的数据值对应的权重值是不同的,如第一子数据序列{(1,0),(2,0)}中数据值1对应的权重值为v
1,1
×
e-1
,而第一子数据序列{(1,0),(2,0),(3,0),(4,0)}中的数据值1对应的权重值为v
1,1
×
e-1
+v
1,2
×
e-4
,则更新后的二元数据组中的数据值1对应的权重值为数值较大的v
1,1
×
e-1
+v
1,2
×
e-4
。以此类推,更新后的二元数据组中的包含的元素中的权重值为相同数据值对应的权重值最大的。这样通过对各个数据对应的权重值基于方差波动变化金字塔加权的方式可以有效的提高采样数据的精准度。
[0050]
步骤s6:比较更新后的二元数据组中的第一个元素中的权重值与预设权重阈值。
[0051]
作为示例,所述步骤s6包括:s61,当第一元素中的权重值不小于预设权重阈值时,输出该元素中的数据作为采样点;s62,当第一元素中的权重值大于预设阈值时,不输出采样点。
[0052]
具体地,预设权重阈值的初始值为0,当更新后的二元数据组中的第一个元素中的权重值大于或等于预设的权重阈值时,对该数据进行采样,反之,则不对该数据采样。
[0053]
步骤s7:将权重阈值更新为第一个数据对应的权重值并删除所述第一个元素生成删减后的二元数据组。
[0054]
步骤s8:基于获取到的新的数据信号与所述删减后的二元数据组生成第二子数据序列以及第二方差。
[0055]
s9,基于所述第二方差更新所述第二子数据序列的权重值生成更新后的第二子数据序列。
[0056]
作为示例,所述步骤s7包括:s71,将所述更新后的二元数据组中的第一个元素删除,其余元素依次前移一位,空出最后一位缓存。
[0057]
作为示例,所述步骤s8包括:s81,将获取到的新的信号数据存储在所述删减后的二元数据组中的最后一位缓存位置;s82,依次从最后一个数据向前取2的k次方个连续数据生成第二子数据序列;s83,对所述第二子数据中包含的数据进行方差计算生成第二方差v


[0058]
作为示例,所述步骤s9包括:s91,分别将所述第二子数据序列中的数据对应的权重增加
[0059]
具体地,获取一个新的信号,保存在缓存第n位,权重初始化为0,依次从n位向前取2的k次方个连续数据,即从n-2k+1到n,且不超过缓存,即n-2k+1不小于1。循环所有满足限制的正整数k,计算连续数据的方差v

,将n-2k+1点和n点数据权重增加该方法通过在线获取新的数据,并对该新获取到的数据的权重值进行加权,这样通过在线获取新数据的方式可以有效的避免数据存储量过大的情况,并且通过对新获取的数据与先前已经进行过计算的数据一起再次基于方差波动变化金字塔加权,可以避免每次获取到新的数据都要进行一次重复计算的情况,也即,该方法可以避免现有技术中的计算量大的情况。举个简单的例子便于理解,如现有技术中从1000个数据采样10个数据后,如果再加入1000个数据则会变成从2000个数据中获取20个数据,而应用本技术上述方法在从1000个数据采样10个数据后,如果再加入1000个新的数据,则相当于从1010个数据中获取10个数据,显然,当数据量越大时,本技术的减少计算量的效果越明显。
[0060]
步骤s10:整合所述删减后的二元数据组以及更新后的第二子数据序列生成更新后的二元数据组。
[0061]
作为示例,所述步骤s10包括:对照所述删减后的二元数据组和更新后的第二子数据序列,补充第二子数据序列中缺少的数据,生成更新后的二元数据组。
[0062]
步骤s11:转至步骤s6,至没有新的数据信号产生。
[0063]
实施例2
[0064]
本发明实施例还提出一种存储介质,所述存储介质上存储有基于金字塔加权的时序数据在线采样算法,所述采样算法程序被处理器执行时实现如上文所述的基于金字塔加权的时序数据在线采样算法的步骤。由于本存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
[0065]
实施例3
[0066]
请参阅图2,本发明实施例还提供了一种电子设备,包括:存储器和处理器;所述存储器中存储有至少一条程序指令;所述处理器通过加载并执行所述至少一条程序指令以实现实施例1所提供的基于金字塔加权的能量管理系统时序数据在线采样算法。
[0067]
存储器202和处理器201采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器201和存储器202的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器201处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器201。
[0068]
处理器201负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接
口,电压调节、电源管理以及其他控制功能。而存储器202可以被用于存储处理器201在执行操作时所使用的数据。
[0069]
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关的工作人员完全可以在不偏离本发明的范围内,进行多样的变更以及修改。本项发明的技术范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

技术特征:


1.一种基于金字塔加权的能量管理系统时序数据在线采样算法,其特征在于,所述算法包括:s1,将基于滑动窗口在线获取的数据信号存储为原始二元数据组,其中每个元素中包括数据以及该数据对应的权重;s2,遍历所述原始二元数据组,对于第i个数据,基于金字塔模型架构生成第一子数据序列;s3,基于第一子数据序列生成第一方差;s4,基于所述第一方差更新所述第一子数据序列中的i点和i+2
k-1点数据权重;s5,整合更新后的第一子数据序列生成更新后的二元数据组;s6,比较更新后的二元数据组中的第一个元素中的权重值与预设权重阈值;s7,将权重阈值更新为第一个数据对应的权重值并删除所述第一个元素生成删减后的二元数据组;s8,基于获取到的新的数据信号与所述删减后的二元数据组生成第二子数据序列以及第二方差;s9,基于所述第二方差更新所述第二子数据序列的权重值生成更新后的第二子数据序列;s10,整合所述删减后的二元数据组以及更新后的第二子数据序列生成更新后的二元数据组;s11,转至步骤s6,至没有新的数据信号产生。2.如权利要求1所述的基于金字塔加权的能量管理系统时序数据在线采样算法,其特征在于,步骤s2包括:s21,按照金字塔模型架构,从第i个数据开始,取2的k次方个连续数据生成第一子数据序列,其中k为正整数。3.如权利要求1所述的基于金字塔加权的能量管理系统时序数据在线采样算法,其特征在于,所述步骤s3包括:s31,基于所述第一子数据序列中的数据计算第一方差v
i,k
,其中i∈[1,n],k∈n
*
。4.如权利要求3所述的基于金字塔加权的能量管理系统时序数据在线采样算法,其特征在于,所述步骤s4包括:s41,将所述第一子数据序列中i点和i+2
k-1点数据权重增加其中i∈[1,n],k∈n
*
,v
i,k
为第一方差。5.如权利要求1所述的基于金字塔加权的能量管理系统时序数据在线采样算法,其特征在于,所述步骤s5包括:s51,整合所述多个更新后的第一子数据序列,其中相同的数据取对应的权重值大的元素作为更新后的二元数据组中的元素。6.如权利要求1所述的基于金字塔加权的能量管理系统时序数据在线采样算法,其特征在于,所述步骤s6包括:s61,当第一元素中的权重值不小于预设权重阈值时,输出该元素中的数据作为采样点;
s62,当第一元素中的权重值大于预设阈值时,不输出采样点。7.如权利要求1所述的基于金字塔加权的能量管理系统时序数据在线采样算法,其特征在于,所述步骤s7包括:s71,将所述更新后的二元数据组中的第一个元素删除,其余元素依次前移一位,空出最后一位缓存。8.如权利要求1所述的基于金字塔加权的能量管理系统时序数据在线采样算法,其特征在于,所述步骤s8包括:s81,将获取到的新的信号数据存储在所述删减后的二元数据组中的最后一位缓存位置;s82,依次从最后一个数据向前取2的k次方个连续数据生成第二子数据序列;s83,对所述第二子数据中包含的数据进行方差计算生成第二方差v

。9.一种计算机可读存储介质,所述计算机可读存储介质中存储有一个或一个以上的指令,其特征在于,所述计算机指令用于使所述计算机执行权利要求1至8中任一项所述的基于金字塔加权的能量管理系统时序数据在线采样算法。10.一种电子设备,其特征在于,包括:存储器和处理器;所述存储器中存储有至少一条程序指令;所述处理器通过加载并执行所述至少一条程序指令以实现权利要求1-8中任一项所述的基于金字塔加权的能量管理系统时序数据在线采样算法。

技术总结


本发明提供的一种基于金字塔加权的能量管理系统时序数据在线采样算法,通过滑动窗口对一小段时序数据进行在线采样,进一步地基于方差波动变化按照金字塔模型架构对获取的数据的权重进行加权,进而对方差波动大的数据进行采样,这样通过滑动窗口在线采样的方式可以有效的减少数据的存储量。基于方差波动变化按照金字塔模型架构对获取的数据的权重进行加权的方法可以在有效的保证采样的精准性的前提下也极大的减少了在采样过程对数据之间方差波动的计算量。差波动的计算量。差波动的计算量。


技术研发人员:

于智 刘双宇 江钱城 陈雷金 吴越

受保护的技术使用者:

杭州思拓瑞吉科技有限公司

技术研发日:

2022.09.05

技术公布日:

2022/11/18

本文发布于:2024-09-20 14:42:47,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/3358.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   所述   方差   权重
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议