物联网数据填补方法、装置及系统与流程

文档序号:18409667发布日期:2019-08-10 00:52阅读:257来源:国知局
物联网数据填补方法、装置及系统与流程

本申请涉及物联网技术领域,尤其涉及一种物联网数据填补方法、装置及系统。



背景技术:

在物联网(internetofthings,iot)时代,外置传感器采集到的数据、设备自身产生的物联网数据不断被上传到云端的数据中心。数据中心可对物联网数据进行各种分析处理,例如建模、模式识别等,从中提取更有价值的信息。

在数据采集过程中,可能由于各种因素出现数据丢失,形成缺失数据(missingvalues)。数据缺失会影响数据分析过程,例如导致数据分析过程的停滞、结果异常等。在现有技术中,物联网数据被上传到云端的数据中心后,数据中心会对缺失数据进行填补,然后针对完整数据进行分析处理,以解决数据缺失带来的不利影响。

但是,由于物联网数据量大,现有数据填补方案存在数据填补效率较低,数据中心处理负担较重等问题。



技术实现要素:

本申请的多个方面提供一种物联网数据填补方法、装置及系统,用以提高数据填补效率,减轻数据中心的处理负担。

本申请实施例提供一种物联网数据填补方法,包括:

在数据采集过程中,获取采集到的数据序列中缺失数据项附近的多个非缺失数据项;

根据所述多个非缺失数据项的聚类结果,从所述多个非缺失数据项中选择候选数据项;

利用所述候选数据项对所述缺失数据项进行填补,以获得填补后的数据序列。

本申请实施例还提供一种电子设备,包括:存储器和处理器;

所述存储器,用于存储计算机程序;

所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:

在数据采集过程中,获取采集到的数据序列中缺失数据项附近的多个非缺失数据项;

根据所述多个非缺失数据项的聚类结果,从所述多个非缺失数据项中选择候选数据项;

利用所述候选数据项对所述缺失数据项进行填补,以获得填补后的数据序列。

本申请实施例还提供一种物联网数据处理系统,包括:物联网设备、用于数据填补的客户端和数据中心,所述客户端分别与所述物联网设备和所述数据中心连接;

所述物联网设备,用于采集数据,以形成数据序列;

所述客户端,用于在所述物联网设备采集数据的过程中,获取所述数据序列中缺失数据项附近的多个非缺失数据项,根据所述多个非缺失数据项的聚类结果,从所述多个非缺失数据项中选择候选数据项,利用所述候选数据项对所述缺失数据项进行填补,以获得填补后的数据序列,以及将所述填补后的数据序列上传至所述数据中心;

所述数据中心,用于接收所述客户端上传的所述填补后的数据序列,并对所述填补后的数据序列进行分析处理。

在本申请实施例中,在数据采集过程中,对采集到的数据序列中的缺失数据项,根据该缺失数据项附近的非缺失数据项的聚类结果,选择合适的候选数据项对缺失数据项进行填补,可实现缺失数据的实时填补,可以减轻对数据中心的依赖,因此可提高数据填补的效率。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1a为本申请一示例性实施例提供的一种物联网数据处理系统的结构示意图;

图1b为本申请一示例性实施例提供的另一种物联网数据处理系统的结构示意图;

图2a为本申请另一示例性实施例提供的在数据项包括单维度变量值的情况下一种聚类结果示意图;

图2b为本申请另一示例性实施例提供的在数据项包括多维度变量值的情况下一种聚类结果示意图;

图3为本申请又一示例性实施例提供的物联网数据填补方法的流程示意图;

图4a为本申请又一示例性实施例提供的物联网数据填补装置的结构示意图;

图4b为本申请又一示例性实施例提供的电子设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

针对现有物联网数据填补方案存在的填补效率较低、数据中心处理负担较重等问题,本申请实施例提供一种解决方案,基本思路是:在数据采集过程中,对采集到的数据序列中的缺失数据项,根据该缺失数据项附近的非缺失数据项的聚类结果,选择合适的候选数据项对缺失数据项进行填补,可实现缺失数据的实时填补,可以减轻对数据中心的依赖,因此可提高数据填补的效率。

以下结合附图,详细说明本申请各实施例提供的技术方案。

图1a为本申请一示例性实施例提供的物联网数据处理系统的结构示意图。如图1a所示,该物联网数据处理系统100包括:用于数据填补的客户端101、数据中心102以及物联网设备103。客户端101与物联网设备103之间通信连接。客户端101与数据中心102之间通信连接。

例如,客户端101可以通过互联网与数据中心102进行通信连接,或者也可以通过移动网络与数据中心102进行通信连接。若客户端101通过移动网络与数据中心102进行通信连接,该移动网络的网络制式可以为2g(gsm)、2.5g(gprs)、3g(wcdma、td-scdma、cdma2000、utms)、4g(lte)、4g+(lte+)、wimax等中的任意一种。

在本实施例中,物联网设备103的数量一般很多,可能有成千上万,甚至更多。物联网设备103可作为数据采集设备,主要用于采集各种数据,以便形成数据序列。可选地,数据序列可以是在物联网设备103采集数据的过程中实时形成的。数据项是该数据序列中的最小数据单元,该数据序列可以是至少一个数据项。数据项可以包括至少一个维度的变量值,例如温度、压力、功率或亮度等任何可被观测的变量维度都可以作为本申请数据项中的一个维度。另外,本实施例并不限定数据项所包含的变量维度,可视应用场景而定。

值得说明的是,对于数据项包含至少两个维度的变量值的情况,一个数据项中的变量值可来自于同一个物联网设备103,或者也可来自于多个不同的物联网设备103。例如,对一蔬菜大棚或厂房等物理空间,分别通过温度传感器、湿度传感器以及光感传感器监测该物理空间内的温度、湿度和亮度,基于此,温度传感器、湿度传感器以及光感传感器在同一时间点采集到的温度值、湿度值以及亮度值可形成该时间点对应的数据项。对于数据项包含一个维度的变量值的情况比较简单,在此不做过多说明。

其中,物联网设备103的实现形式可以多种多样。在一些情况下,物联网设备103可以是信息传感设备,例如各种传感器;这类物联网设备103主要用于实时或定时采集任何需要物联网设备103监控、连接、互动的物体或过程中的数据。在另一些情况下,物联网设备103也可以是自身可以产生数据的设备,例如智能终端、穿戴设备、家电设备等;这类物联网设备103主要用于实时或定时采集自身产生的数据。其中,物联网设备103采集到的数据需上传至数据中心102,并由数据中心102进行分析处理,以便从中提取价值更高的信息。

在物联网设备103采集数据的过程中,可能由于多种原因导致数据丢失。考虑到缺失数据会严重影响数据分析过程,例如有可能导致数据分析过程的停滞、结果异常等,在本实施例提供的系统100中,在物联网设备103与数据中心102之间增设客户端101。该客户端101主要负责在将物联网设备103采集到的数据序列上传至数据中心102之前,对物联网设备103采集到的数据序列中的缺失数据进行填补,从而形成填补后的完整数据序列,以便克服缺失数据对后续数据分析过程造成的不良影响。

在本实施例中,客户端101可独立于物联网设备103实现,或者也可以安装于物联网设备103上实现。在图1a所示系统100中,以客户端101独立于物联网设备103实现为例进行说明。如图1a所示,客户端101安装于一台电子设备上,该电子设备分别与物联网设备103以及数据中心102连接。该电子设备可以是任何具有一定数据处理能力的设备,例如可以是智能手机、平板电脑、个人电脑、穿戴设备、服务器等。该电子设备包括至少一个处理单元和至少一个存储器。处理单元和存储器的数量取决于电子设备的配置和类型。存储器可以包括易失性的,例如ram,也可以包括非易失性的,例如只读存储器(read-onlymemory,rom)、闪存等,或者也可以同时包括两种类型的。存储器内通常存储有操作系统(operatingsystem,os)、一个或多个应用程序(例如客户端101),也可以存储有程序数据等。除了处理单元和存储器之外,电子设备还包括一些基本配置,例如网卡芯片、io总线、音视频组件等。可选地,电子设备还可以包括一些外围设备,例如键盘、鼠标、输入笔、打印机等。这些外围设备在本领域中是总所周知的,在此不做赘述。

另外,在如图1b所示系统200中,客户端101安装于各个物联网设备103上实现。其中,物联网设备103包括至少一个处理单元和至少一个存储器。处理单元和存储器的数量取决于物联网设备103的配置和类型。存储器可以包括易失性的,例如ram,也可以包括非易失性的,例如rom、闪存等,或者也可以同时包括两种类型的。存储器可存储os、一个或多个应用程序(例如客户端101),也可以存储有程序数据等。在图1b所示系统200中,客户端101与物联网设备103可以采用设备内的通信连接方式建立通信连接,例如串行通信接口、套接字等方式。

无论是哪种系统实现架构,客户端101在对物联网设备103采集到的数据序列进行数据填补时,主要用于在物联网设备103采集数据的数据过程中,获取物联网设备103采集到的数据序列中缺失数据项附近的多个非缺失数据项,根据多个非缺失数据项的聚类结果,从多个非缺失数据项中选择候选数据项,利用候选数据项对缺失数据项进行填补,以获得填补后的数据序列。在获得填补后的数据序列之后,客户端101还会将填补后的数据序列上传至数据中心102,以供数据中心102对填补后的数据序列进行分析处理。

在本实施例中,数据中心102主要用于接收客户端101发送的填补后的数据序列,并按照设定的分析逻辑对经过客户端101填补后的数据序列进行分析处理,从中提取更有价值的信息。可选地,在实现形式上,数据中心102可以是常规服务器、云服务器、云主机、虚拟中心等。服务器的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。

由此可见,在本申请实施例提供的系统中,由客户端101在数据采集过程中对数据序列进行填补处理,不仅可以克服缺失数据对数据中心102的数据分析过程造成的不良影响,而且可以对缺失数据进行实时填补,有利于提高数据填补的效率;另外,对数据中心102来说,可以极大地降低其在进行数据分析之前的数据填补工作量,有利于减轻数据中心102的处理负担。

在本申请实施例中,并不限定客户端101获取缺失数据项附近的非缺失数据项的方式以及数量,可视具体应用场景和数据填补精度而定。在本申请下面一些示例性实施例中,列举几种客户端101获取非缺失数据项的方式:

方式1,客户端101可以在物联网设备103采集到的数据序列中,获取物联网设备在[t-w,t]时间范围内采集到的多个非缺失数据项。例如,假设一数据序列依次包括a1,a2,a3,a4,a5,a6,?,a8,a9,a10,a11,该数据序列中“?”表示缺失数据项,则客户端101可以数据项a1,a2,a3,a4,a5,a6中获取非缺失数据项,例如可以获取数据项a3,a4,a5,a6作为非缺失数据项。在方式1中,客户端101主要利用在缺失数据项之前采集到的非缺失数据项对缺失数据项进行填补。

方式2,客户端101可以在物联网设备103采集到的数据序列中,获取物联网设备在[t,t+w]时间范围内采集到的多个非缺失数据项。例如,假设一数据序列依次包括a1,a2,a3,a4,a5,a6,?,a8,a9,a10,a11,该数据序列中“?”表示缺失数据项,则客户端101可以数据项a8,a9,a10,a11中获取非缺失数据项,例如可以获取数据项a8,a9,a10作为非缺失数据项。在方式2中,客户端101主要利用在缺失数据项之后采集到的非缺失数据项对缺失数据项进行填补。

方式3,客户端101可以在物联网设备103采集到的数据序列中,获取物联网设备在[t-w/2,t+w/2]时间范围内采集到的多个非缺失数据项。例如,假设一数据序列依次包括a1,a2,a3,a4,a5,a6,?,a8,a9,a10,a11,该数据序列中“?”表示缺失数据项,则客户端101可以数据项a1,a2,a3,a4,a5,a6以及a8,a9,a10,a11中获取非缺失数据项,例如可以获取数据项a4,a5,a6,a8,a9,a10作为非缺失数据项。在方式3中,客户端101同时利用在缺失数据项之前和之后采集到的非缺失数据项对缺失数据项进行填补。

可选地,在方式3中,可以在缺失数据项前后选择相同数量的非缺失数据项,例如在缺失数据项前后各选择n个非缺失数据项。或者,也可以在缺失数据项前后选择不同数量的非缺失数据项,例如在缺失数据项之前选择m1个非缺失数据项,在缺失数据项之后选择m2个非缺失数据项。n、m1、m2均为自然数,且m1不等于m2。

在上述方式1-方式3中,t表示缺失数据项对应的采集时间,w表示填补窗口长度,w>0。根据应用场景的不同和/或所要求的数据填补精度的不同,w可适应性设置,例如w可以是一个秒级、分钟级或小时级的时间长度值,例如w可以是3秒、1分钟、15分钟或1小时等。

在本申请各实施例中,在获得缺失数据项附近多个非缺失数据项之后,客户端101利用多个非缺失数据项的聚类结果,然后基于聚类结果从非缺失数据项中选择候选数据项,进而利用候选数据项对缺失数据项进行填补。可选地,客户端101可以采用参数聚类方法,例如gmm(gaussianmixturemodel)对多个非缺失数据项进行聚类。或者,客户端101也可以采用非参数聚类方法,例如k均值聚类方法或具有噪声的基于密度的聚类方法(density-basedspatialclusteringofapplicationswithnoise,dbscan)对多个非缺失数据项进行聚类。其中,无论采用何种聚类方法,通过对多个非缺失数据项进行聚类,可以将多个非缺失数据项划分为至少一种数据类别。其中,一种数据类别在一定程度上可以表示一种数据分布趋势,这意味着属于同一数据类别的非缺失数据项具有相同的数据分布趋势,而属于不同数据类别的非缺失数据项具有不同的数据分布趋势。

dbscan是一种基于密度的聚类分析算法。给定某空间里的一个点集合,该算法会把聚拢在一起点分成一组,并且标记出处于其他密度区域的局外点。然后继续尝试将局外点聚拢在一起分成新的一组直到所有的点都被分到了某一组中。将dbscan聚类算法应用在数据填补场景下,可以将缺失数据项附近的非缺失数据项划分到不同的数据类别下,以便于基于不同的数据类别从中选择候选数据项。

在本实施例中,客户端101可以采用参数聚类方法或非参数聚类方法对多个非缺失数据项进行聚类,从而得到至少一种数据类别,然后根据至少一种数据类别,从多个非缺失数据项中选择候选数据项。这相当于根据非缺失数据项的数据分布趋势来选择候选数据项,这样可以选择最适合缺失数据项的数据分布趋势下的非缺失数据项,进而根据选择的非缺失数据项对缺失数据项进行数据填补,可以排除不相关数据项的干扰,有利于提高数据填补结果的精度。

值得说明的是,非参数聚类方法不对数据做任何的概率分布假设,更能抓住数据的分布特性,从而对数据进行更好的填补。由此,在不知道或无法获知数据分布情况的应用场景中,在对非缺失数据项进行聚类时可优先采用非参数聚类方法。当然,对于已知或很容易获知数据分布情况的应用场景,也可以采用参数聚类方法,充分利用参数聚类方法的优势。

其中,根据应用场景的不同,在聚类出至少一种数据类别之后,选择候选数据项的实施方式也会有所不同。在一些示例性场景中,客户端101可以根据至少一种数据类别被聚类出的先后顺序,可以选择最先被聚类出的数据类别;从多个非缺失数据项中,选择属于所述最先被聚类出的数据类别的数据项作为候选数据项。在另一些示例性场景中,客户端101可以根据至少一种数据类别各自包含的数据项个数,确定包含数据项个数满足设定要求的数据类别;从多个非缺失数据项中,选择属于所述包含的数据项个数满足设定要求的数据类别的数据项作为候选数据项。

其中,上述设定要求可以根据需求适应性设置。例如,该设定要求可以是数据项个数最多,则可以从至少一种数据类别中确定包含数据项个数最多的数据类别,再将属于该包含数据项个数最多的数据类别的非缺失数据项作为候选数据项。或者,该设定要求也可以是数据项个数大于设定阈值,则可以从至少一种数据类别中确定包含数据项个数大于设定阈值的数据类别,再将属于该包含数据项个数大于设定阈值的数据类别的非缺失数据项作为候选数据项。

对一数据类别来说,其所包含的数据项个数越多说明该数据类别所表征的数据分布趋势是该数据序列的整体数据分布趋势的概率较高,也就意味着缺失数据项最有可能符合这种高概率的分布趋势。因此,根据包含数据项个数最多或大于设定阈值的数据类别下的非缺失数据项对缺失数据项进行填补,相当于利用分布趋势与缺失数据项相同或高度近似的非缺失数据项对缺失数据项进行填补,数据填补结果的精度较高。

基于上述基于数据类别包含的数据项个数选择候选数据项的实施例,若聚类出的每个数据类别包含的数据项的个数相同,则可以增大填补窗口长度,然后从增大后的填补窗口中获取非缺失数据项,进而对重新获取的非缺失数据项非缺失数据项进行聚类,直到得到包含数据项个数不完全相同的各个数据类别为止。或者,若聚类出的每个数据类别包含的数据项的个数相同,也可以随机选择一个数据类别,将属于该随机选择的数据类别的非缺失数据项作为候选数据项。

在本申请各实施例中,在获得候选数据项之后,客户端101可根据候选数据项对缺失数据项进行填补。其中,根据候选数据项对缺失数据项进行填补的方式,可视具体应用场景灵活选择。在下面一些示例性实施例中列举几种根据候选数据项对缺失数据项进行填补的实施方式:

方式a,在利用候选数据项对缺失数据项进行填补时,可以获取候选数据项的平均值,将该平均值作为缺失数据项的填补值,添加到缺失数据项中,以获得填补后的数据序列。

方式b,在利用候选数据项对缺失数据项进行填补时,可以获取候选数据项的最大值,将该最大值作为缺失数据项的填补值,添加到缺失数据项中,以获得填补后的数据序列。

方式c,在利用候选数据项对缺失数据项进行填补时,可以获取候选数据项的最小值,将该最小值作为缺失数据项的填补值,添加到缺失数据项中,以获得填补后的数据序列。

在一些示例性实施例中,物联网设备103采集到的数据序列中的数据项包括单维度的变量值。例如一个数据项仅包括温度值、压力值或功率值等。基于此,在方式a中,可以直接将各候选数据项包括的变量值相加,将相加结果与候选数据项的总数的比值作为填补值,添加到缺失数据项中即可。在方式b中,可以直接从各候选数据项包括的变量值中,选择最大变量值作为填补值,添加到缺失数据项中即可。在方式c中,可以直接从各候选数据项包括的变量值中,选择最小变量值作为填补值,添加到缺失数据项中即可。

在另一些示例性实施例中,物联网设备103采集到的数据序列中的数据项包括至少两个维度的变量值。例如,一个数据项可以同时包括温度值、压力值和功率值。对于这种情况,客户端101可优选采用dbscan对多个非缺失数据项进行聚类,并根据聚类结果选择候选数据项。对每个候选数据项来说,也包括至少两个维度的变量值。在这种情况下,在对多个非缺失数据项进行聚类的过程可以考虑至少两个维度的变量值之间的相互影响,从而产生聚类结果。在聚类过程中考虑不同维度之间的相互影响,可使聚类结果更加符合应用场景,有利于提高聚类结果的精度。在根据聚类结果选择出候选数据项后,在利用候选数据项对缺失数据项进行填补时,可以确定缺失数据项中缺失的变量维度,进而利用候选数据项中相应维度的变量值,对缺失数据项中缺失的维度进行填补。在数据填补过程中,不考虑不同维度之间的相互影响,在单个维度上进行填补,实现复杂度相对较低,有利于提高填补效率,而且单个维度上的填补结果的精度一般也可满足应用需求。

举例说明,假设数据项同时包括温度、压力和功率三个维度的变量值,缺失数据项缺失压力维度的变量值,则可以根据各候选数据项中的压力值计算出缺失数据项中缺失的压力值,并添加到缺失数据项中。又例如,假设缺失数据项缺失压力维度和功率维度的变量值,则一方面根据各候选数据项中的压力值计算出缺失数据项中缺失的压力值,并添加到缺失数据项中;另一方面根据各候选数据项中的功率值计算出缺失数据项中缺失的功率值,并添加到缺失数据项中。

下面结合具体数据序列,分别针对数据项包括单维度变量值和包括多维度变量值的情况进行举例说明。

对数据项包括单维度变量值的情况,因为每个数据项包括一个数值,故将数据项简称为数据。如图2a所示,一段数据序列包括数据4、4、2、4、3、2、?、2、2、3、5,该数据序列中“?”表示缺失数据,在该缺失数据前后共取10个非缺失数据。例如,采用dbscan聚类算法对这10个非缺失数据进行聚类,得到两种聚类结果。在图2a中,虚线框内的数据属于第一数据类别,实线框内的数据属于第二数据类别。然后,比较两种数据类别所包含的数据个数,第二数据类别包含的数据个数6大于第一数据类别包含的数据个数4,则将第二数据类别包含的数据作为候选数据,计算这些候选数据的平均值,作为缺失数据的填补值,该缺失数据的填补值=(2+3+2+2+2+3)/6=2.3。

对数据项包括多维度变量值的情况,如图2b所示,一段数据序列包括数据项(5,4)、(9,4)、(3,2)、(9,4)、(3,2)、(3,2)、(?,?)、(4,2)、(4,2)、(3,3)、(10,5)。在图2b中,为便于描述,将第一维度的变量值和第二维度的变量值分开表示。该数据序列中(?,?)表示缺失数据项,?表示缺失数据项中的缺失维度。在该缺失数据项前后共取10个非缺失数据项。采用dbscan聚类算法对这10个非缺失数据项进行聚类,得到两种聚类结果。在图2b中,虚线框内的数据属于第一数据类别,实线框内的数据属于第二数据类别。然后,比较两种数据类别所包含的数据项个数,第二数据类别包含的数据项个数6大于第一数据类别包含的数据项个数6,则将第二数据类别包含的数据项作为候选数据项。对于缺失数据项中缺失的第一维度的变量值,可计算各候选数据项中第一维度的变量值的平均值,作为缺失数据项中第一维度的填补值,该第一维度的填补值=(3+3+3+4+4+3)/6=3.3;对于缺失数据项中缺失的第二维度的变量值,可计算各候选数据项中第二维度的变量值的平均值,作为缺失数据项中第二维度的填补值,该第二维度的填补值=(2+3+2+2+2+3)/6=2.3。

图3为本申请又一示例性实施例提供的物联网数据填补方法的流程示意图。该实施例主要是从客户端的角度进行的描述。如图3所示,该方法包括:

301、在数据采集过程中,获取采集到的数据序列中缺失数据项附近的多个非缺失数据项。

302、根据多个非缺失数据项的聚类结果,从多个非缺失数据项中选择候选数据项。

303、利用候选数据项对缺失数据项进行填补,以获得填补后的数据序列。

在本实施例中,数据序列可以在数据采集过程中根据采集到的数据实时形成。数据项是数据序列中的最小数据单元,该数据序列可以是至少一个数据项。数据项可以包括至少一个维度的变量值,例如温度、压力、功率或亮度等任何可被观测的变量维度都可以作为本申请数据项中的一个维度。另外,本实施例并不限定数据项所包含的变量维度,可视应用场景而定。

在数据采集过程中,可能由于多种原因导致数据丢失。考虑到缺失数据会严重影响数据分析过程,例如有可能导致数据分析过程的停滞、结果异常等,本实施例在数据采集过程中,获取采集到的数据序列中缺失数据项附近的多个非缺失数据项,根据多个非缺失数据项的聚类结果,从多个非缺失数据项中选择候选数据项,利用候选数据项对缺失数据项进行填补,以获得填补后的数据序列。

可选地,在获得填补后的数据序列之后,将填补后的数据序列上传至数据中心,以供数据中心对填补后的数据序列进行分析处理。

在本实施例中,在数据采集过程中对数据序列进行填补处理,不仅可以克服缺失数据对后续数据分析过程造成的不良影响,而且可以对缺失数据进行实时填补,有利于提高数据填补的效率。进一步,对数据中心来说,可以极大地降低其在进行数据分析之前的数据填补工作量,有利于减轻数据中心的处理负担。

在一些示例性实施例中,步骤301,即在数据采集过程中,获取缺失数据项附近的多个非缺失数据项,包括:

在数据采集过程中,获取数据序列中在[t-w,t]时间范围内采集到的多个非缺失数据项;或者

在数据采集过程中,获取数据序列中在[t,t+w]时间范围内采集到的多个非缺失数据项;或者

在数据采集过程中,获取数据序列中在[t-w/2,t+w/2]时间范围内采集到的多个非缺失数据项;

其中,t表示缺失数据项对应的采集时间,w表示填补窗口长度,w>0。

在一些示例性实施例中,步骤302,即根据多个非缺失数据项的聚类结果,从多个非缺失数据项中选择候选数据项,包括:

采用非参数聚类方法对多个非缺失数据项进行聚类,以获得至少一种数据类别;

根据至少一种数据类别,从多个非缺失数据项中选择候选数据项。

可选地,上述非参数聚类方法可以是k均值聚类方法或dbscan。值得说明的是,除了非参数聚类方法之外,也可以采用参数聚类方法,例如gmm对多个非缺失数据项进行聚类。

其中,一种数据类别在一定程度上可以表示一种数据分布趋势,这意味着属于同一数据类别的非缺失数据项具有相同的数据分布趋势,而属于不同数据类别的非缺失数据项具有不同的数据分布趋势。由此可见,利用多个非缺失数据项的聚类结果从多个非缺失数据项中选择候选数据项,这相当于根据非缺失数据项的数据分布趋势来选择候选数据项,这样可以选择最适合缺失数据项的数据分布趋势下的非缺失数据项,进而根据选择的非缺失数据项对缺失数据项进行数据填补,可以排除不相关数据项的干扰,有利于提高数据填补结果的精度。

在一些示例性实施例中,上述根据至少一种数据类别,从多个非缺失数据项中选择候选数据项,包括:根据至少一种数据类别各自包含的数据项个数,确定包含的数据项个数满足设定要求的数据类别;从多个非缺失数据项中,选择属于包含的数据项个数满足设定要求的数据类别的数据项作为候选数据项。

在一些示例性实施例中,数据序列中的数据项包括至少两个维度的变量值。基于此,在利用候选数据项对缺失数据项进行填补,以获得填补后的数据序列时,可以利用候选数据项中相应维度的变量值,对缺失数据项中缺失的维度进行填补,以获得填补后的数据序列。在数据填补过程中,不考虑不同维度之间的相互影响,在单个维度上进行填补,实现复杂度相对较低,有利于提高填补效率,而且单个维度上的填补结果的精度一般也可满足应用需求。

在一些示例性实施例中,利用候选数据项对缺失数据项进行填补,以获得填补后的数据序列,包括:将候选数据项的平均值、最大值或最小值作为缺失数据项的填补值,添加到缺失数据项中,以获得填补后的数据序列。

需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤301至步骤303的执行主体可以为设备a;又比如,步骤301和302的执行主体可以为设备a,步骤303的执行主体可以为设备b;等等。

另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如301、302等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

图4a为本申请又一示例性实施例提供的物联网数据填补装置的结构示意图。如图4a所示,该装置包括:获取模块41、选择模块42和填补模块43。

获取模块41,用于在数据采集过程中,获取采集到的数据序列中缺失数据项附近的多个非缺失数据项。

选择模块42,用于根据多个非缺失数据项的聚类结果,从多个非缺失数据项中选择候选数据项。

填补模块43,用于利用候选数据项对缺失数据项进行填补,以获得填补后的数据序列。

在一些示例性实施例中,获取模块41具体用于:

在数据采集过程中,获取上述数据序列中在[t-w,t]时间范围内采集到的多个非缺失数据项;或者

在数据采集过程中,获取上述数据序列中在[t,t+w]时间范围内采集到的多个非缺失数据项;或者

在数据采集过程中,获取上述数据序列中在[t-w/2,t+w/2]时间范围内采集到的多个非缺失数据项;

其中,t表示缺失数据项对应的采集时间,w表示填补窗口长度,w>0。

在一些示例性实施例中,选择模块42具体用于:采用非参数聚类方法对多个非缺失数据项进行聚类,以获得至少一种数据类别;根据至少一种数据类别,从多个非缺失数据项中选择候选数据项。

可选地,上述非参数聚类方法为k均值聚类方法或dbscan。

在另一些示例性实施例中,选择模块42具体用于:采用参数聚类方法对多个非缺失数据项进行聚类,以获得至少一种数据类别;根据至少一种数据类别,从多个非缺失数据项中选择候选数据项。

在一些示例性实施例中,选择模块42在根据至少一种数据类别,从多个非缺失数据项中选择候选数据项时,具体用于:根据至少一种数据类别各自包含的数据项个数,确定包含的数据项个数满足设定要求的数据类别;从多个非缺失数据项中,选择属于包含的数据项个数满足设定要求的数据类别的数据项作为候选数据项。

在一些示例性实施例中,在数据序列中的数据项包括至少两个维度的变量值。基于此,填补模块43具体用于:利用候选数据项中相应维度的变量值,对缺失数据项中缺失的维度进行填补,以获得填补后的数据序列。

在一些示例性实施例中,填补模块43具体用于:将候选数据项的平均值、最大值或最小值作为缺失数据项的填补值,添加到缺失数据项中,以获得填补后的数据序列。

在一些示例性实施例中,该装置还包括:发送模块,用于在填补模块43获得填补后的数据序列之后,将填补后的数据序列发送至数据中心,以供数据中心对填补后的数据序列进行分析处理。可选地,数据中心可以位于云端,当然,也可以位于物联网数据填补装置所在的本端。

本实施例提供的物联网数据填补装置,可用于执行上述方法实施例中的操作,其具体工作原理不再赘述,详见方法实施例的描述。

本实施例提供的物联网数据填补装置,在数据采集过程中对数据序列进行填补处理,不仅可以克服缺失数据对后续数据分析过程造成的不良影响,而且可以对缺失数据进行实时填补,有利于提高数据填补的效率。进一步,对数据中心来说,可以极大地降低其在进行数据分析之前的数据填补工作量,有利于减轻数据中心的处理负担。

以上描述了物联网数据填补装置的内部功能和结构,如图4b所示,实际中,物联网数据填补装置可实现为电子设备,包括:存储器44和处理器45。

存储器44,用于存储计算机程序,并可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。

存储器44可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

处理器45,与存储器44耦合,用于执行存储器44中的计算机程序,以用于:

在数据采集过程中,获取采集到的数据序列中缺失数据项附近的多个非缺失数据项;

根据多个非缺失数据项的聚类结果,从多个非缺失数据项中选择候选数据项;

利用候选数据项对缺失数据项进行填补,以获得填补后的数据序列。

在一些示例性实施例中,处理器45具体用于:

在数据采集过程中,获取上述数据序列中在[t-w,t]时间范围内采集到的多个非缺失数据项;或者

在数据采集过程中,获取上述数据序列中在[t,t+w]时间范围内采集到的多个非缺失数据项;或者

在数据采集过程中,获取上述数据序列中在[t-w/2,t+w/2]时间范围内采集到的多个非缺失数据项;

其中,t表示缺失数据项对应的采集时间,w表示填补窗口长度,w>0。

在一些示例性实施例中,处理器45具体用于:采用非参数聚类方法对多个非缺失数据项进行聚类,以获得至少一种数据类别;根据至少一种数据类别,从多个非缺失数据项中选择候选数据项。

可选地,上述非参数聚类方法为k均值聚类方法或dbscan。

在一些示例性实施例中,处理器45在根据至少一种数据类别,从多个非缺失数据项中选择候选数据项时,具体用于:根据至少一种数据类别各自包含的数据项个数,确定包含的数据项个数满足设定要求的数据类别;从多个非缺失数据项中,选择属于包含的数据项个数满足设定要求的数据类别的数据项作为候选数据项。

在一些示例性实施例中,数据序列中的数据项包括至少两个维度的变量值。基于此,处理器45具体用于:利用候选数据项中相应维度的变量值,对缺失数据项中缺失的维度进行填补,以获得填补后的数据序列。

在一些示例性实施例中,处理器45具体用于:将候选数据项的平均值、最大值或最小值作为缺失数据项的填补值,添加到缺失数据项中,以获得填补后的数据序列。

在一些示例性实施例中,该装置还包括:通信组件46。基于此,处理器45还用于在获得填补后的数据序列之后,通过通信组件46将填补后的数据序列发送至数据中心。相应地,通信组件46用于将填补后的数据序列发送至数据中心。可选地,数据中心可以位于云端,也可以位于该电子设备所在的本端。

进一步,如图4b所示,该电子设备还包括:显示器47、电源组件48、音频组件49等其它组件。图4b中仅示意性给出部分组件,并不意味着电子设备只包括图4b所示组件。

其中,通信组件46被配置为便于通信组件46所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

显示器47包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。

电源组件48,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。

音频组件49,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(mic),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。

本实施例提供的电子设备,在数据采集过程中对数据序列进行填补处理,不仅可以克服缺失数据对后续数据分析过程造成的不良影响,而且可以对缺失数据进行实时填补,有利于提高数据填补的效率。进一步,对数据中心来说,可以极大地降低其在进行数据分析之前的数据填补工作量,有利于减轻数据中心的处理负担。

相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可客户端执行的各步骤。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据项处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据项处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据项处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据项处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据项结构、程序的模块或其他数据项。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据项信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1