用于数据处理的方法、装置、电子设备及计算机可读介质
技术领域
本发明涉及计算机信息处理领域,具体而言,涉及一种用于数据处理的方法、装置、电子设备及计算机可读介质。
背景技术
电量预测是指对一段时间内电力系统的负荷消耗电能总量的预报。电量预测单位可分日、月、年等。电量预测的宏观方法可以考虑用电量与国民生产总值(GNP)的关系构造预测模型。用历史数据求出回归系数,按时间延伸求电量预测值。也可以考虑用时间序列构造预测模型求出预测值。高效的电量特征提取方法对用电量的预测起到至关重要的作用,在现有的电量预测方法中,很少出现对电量特征高效提取的相关方案,如回归分析法,需要统计分析变量历史数据,确定各变量之间的函数关系,虽然能对未来某个时期的用电量做出预测,但是对历史数据要求高,且预测精度低,计算量大,过程复杂。在众多的时序数据特征提取方法中,如基于基本统计特征的方法,就是提取数据波形的均值,方差,极值,波段,功率谱,过零点等统计特征来代表原有的时序数据作为特征矢量,虽然得到最早发展,过程简单,但是在数据有强噪声的情况下不太适合使用。
现有技术中,对用电量进行预测方法主要有基于基本统计特征方法提取的回归分析法,但是该方法计算量大,过程复杂,预测精度低,且不适合有强噪声的数据使用。
因此,需要一种新的用于数据处理的方法、装置、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本发明提供一种用于数据处理的方法、装置、电子设备及计算机可读介质,能够对未来用电量进行有效预测,并指导商家电量分配。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的一方面,提出一种用于数据处理的方法,该方法包括:获取同一用户的流量数据,所述流量数据包括电量数据;将所述流量数据按照时间特征分成多个时间序列数据;通过基本统计学算法与所述多个时间序列数据,计算所述流量数据的特征值;以及将所述特征值输入预测模型中,以获取所述用户在预定时间段中的流量数据预测值。
在本公开的一种示例性实施例中,还包括:将多个用户在所述预定时间段中的所述流量数据预测值进行汇总计算,获取流量数据预测总值。
在本公开的一种示例性实施例中,所述流量数据还包括:客流量数据。
在本公开的一种示例性实施例中,还包括:通过用户的历史流量数据对与长短期记忆网络进行训练,获得所述预测模型。
在本公开的一种示例性实施例中,还包括:在训练所述长短期记忆网络时,通过均方差与相关系数对所述预测模型进行校验。
在本公开的一种示例性实施例中,所述将所述流量数据按照时间特征分成多个时间序列数据,包括:将所述流量数据按照星期特征分成七个时间序列数据,第一时间序列数据对应于不同星期中每个周一的流量数据;第二时间序列数据对应于不同星期中每个周二的流量数据;第三时间序列数据对应于不同星期中每个周三的流量数据;第四时间序列数据对应于不同星期中每个周四的流量数据;第五时间序列数据对应于不同星期中每个周五的流量数据;第六时间序列数据对应于不同星期中每个周六的流量数据;第七时间序列数据对应于不同星期中每个周日的流量数据。
在本公开的一种示例性实施例中,所述通过基本统计学算法与所述多个时间序列数据,计算所述流量数据的特征值,包括:通过所述多个时间序列数据分别计算所述流量数据的均值与标准差;将所述均值与所述标准差作为所述流量数据的特征值。
在本公开的一种示例性实施例中,所述获取所述用户在预定时间段中的流量数据预测值,包括:获取所述用户在未来一个月中的流量数据预测值;所述流量数据预测值包括未来一个月中每一天的流量数据。
在本公开的一种示例性实施例中,所述长短期记忆网络预测模型包括:多个子模型,所述多个子模型之间存在递进关系。
在本公开的一种示例性实施例中,所述长短期记忆网络预测模型中五个子模型的关系为:
其中,Fi为第i个模型,f0为第j个模型预测值的影响因素,gj为第j个模型预测值的影响因素,g0为空值。
根据本发明的一方面,提出一种用于数据处理的装置,该装置包括:数据模块,用于获取同一用户的流量数据,所述流量数据包括电量数据;拆分模块,用于将所述流量数据按照时间特征分成多个时间序列数据;特征模块,用于通过基本统计学算法与所述多个时间序列数据,计算所述流量数据的特征值;以及预测模块,用于将所述特征值输入预测模型中,以获取所述用户在预定时间段中的流量数据预测值。
在本公开的一种示例性实施例中,还包括:训练模块,用于通过用户的历史流量数据对与长短期记忆网络进行训练,获得所述预测模型。
根据本发明的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本发明的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本发明的用于数据处理的方法、装置、电子设备及计算机可读介质,能够对未来用电量进行有效预测,并指导商家电量分配。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种用于数据处理的方法的流程图。
图2是根据另一示例性实施例示出的一种用于数据处理的方法中电量数据的示意图。
图3是根据另一示例性实施例示出的一种用于数据处理的方法中预测模型的示意图。
图4是根据一示例性实施例示出的一种用于数据处理的装置的框图。
图5是根据一示例性实施例示出的一种电子设备的框图。
图6是根据一示例性实施例示出一种计算机可读存储介质示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
图1是根据一示例性实施例示出的一种用于数据处理的方法的流程图
如图1所示,在S102中,获取用户的流量数据,所述流量数据包括电量数据。获取到的用户的流量数据例如为电量数据以天为单位。表1展示了流量数据的格式。其中,record_date为记录时间,user_id为用户的编号,power_consumption为用户的用电量。流量数据中包含很多用户的电量数据,将每一个用户的数据分别提取出来以便后续处理。
表1流量数据的格式
record_date |
user_id |
power_consumption |
2015/1/1 |
1 |
1135 |
2015/1/2 |
1 |
570 |
2015/1/1 |
2 |
24 |
2015/1/2 |
2 |
22 |
在S104中,将所述流量数据按照时间特征分成多个时间序列数据。由于历史每天的总用电量总体呈现周期性,以周为单位,如图2所示。由于一些法定节日的存在,其中也存在一些异常的高峰区段和低峰区段,但是总体呈现的是以周为单位的周期性趋势。所以将原数据按一周七天分成七个子时间序列,每个用户分别对应七个历史数据时间序列。例如,第一时间序列数据对应于不同星期中每个周一的流量数据;第二时间序列数据对应于不同星期中每个周二的流量数据;第三时间序列数据对应于不同星期中每个周三的流量数据;第四时间序列数据对应于不同星期中每个周四的流量数据;第五时间序列数据对应于不同星期中每个周五的流量数据;第五时间序列数据对应于不同星期中每个周五的流量数据;第七时间序列数据对应于不同星期中每个周日的流量数据。
在一个实施例中,所述流量数据按照时间特征分成多个时间序列数据之前例如进行进行缺失值填补。因为某些原因,某些用户存在某天没有用电量记录,由于数据量极少,所以可认为当天用电量为0。经过对原数据的初步处理,得到如表2所示的数据格式,和表1相比,增加了属性day_of_week(即每周的周几,如周四对应的数字是4)。
表2初步处理之后的数据
record_date |
user_id |
power_consumption |
day_of_week |
2015/1/1 |
1 |
1135 |
4 |
2015/1/2 |
1 |
570 |
5 |
2015/1/1 |
2 |
24 |
4 |
2015/1/2 |
2 |
22 |
5 |
在S106中,通过基本统计学算法与所述多个时间序列数据,计算所述流量数据的特征值。包括:通过所述多个时间序列数据分别计算所述流量数据的均值与标准差;将所述均值与所述标准差作为所述流量数据的特征值。
在一个实施例中,对于时间序列例如使用均值和标准差两种统计量。按照时间段划分为训练集和测试集之后,每个集合中用于构造特征工程的部分将进行统计量的计算。不按一周七天划分(即不按照属性day_of_week划分)可以得到该集合范围内每个商家用户用电量在整个时间段的均值和标准差;按一周七天划分(即按day_of_week划分)可以得到每个商家用户用电量在整个时间段内同期某一天所有记录日的均值和标准差。另外考虑到原数据中同期某一天所有记录日的自身的波动特征,也将同期某一天所有记录日的数据作为特征。如表3和4所示,这是主要基于基本统计学提取特征方法得到的特征集数据格式,其中的属性use_id和day_of_week不用于训练,仅作为识别标签。
表3均值和标准差特征集数据格式
表4同期某一天所有记录日的数据
user_id |
day_of_week |
1_week |
2_week |
3_week |
··· |
1 |
1 |
393 |
354 |
328 |
··· |
1 |
2 |
35 |
341 |
462 |
··· |
在S108中,将所述特征值输入预测模型中,以获取所述用户在预定时间段中的流量数据预测值。包括:获取所述用户在未来一个月中的流量数据预测值;所述流量数据预测值包括未来一个月中每一天的流量数据。在本实施例中,预测模型可例如为通过长短期记忆网络(LSTM,Long-Short Term Memory)训练之后建立的模型。
如图3所示,长短期记忆网络,通常简称“LSTMs”,是一种特殊的RNN(循环神经网络),能够学习长期依赖关系。LSTM有三个“门”,门是用来过滤信息,让信息有选择的通过,他们是由一个sigmoid神经网络和一个pointwise乘法操作组成。sigmoid层输出0-1之间的数值,描述每个部分有多少量可以通过。0代表不允许任何量通过,1指允许任何量通过。
第一道门,忘记门层,决定从传入信息中丢弃什么。公式为,
rt=σ(Wr·[ht-1,xt])
rt为第一道门的输出信息,σ为激活函数,用于将最终输出值配置到[0,1]之间,Wr第一道门对应的参数矩阵,ht-1代表上一层门输出的信息,xt表示输入的信息,该门会读取ht-1和xt,然后输出一个0到1之间的数值给每个细胞状态。
第二道门,确定什么样的新信息被存放在细胞状态中,sigmid层称为“输入门层”,决定什么值我们将要更新
zt=σ(Wz·[ht-1,xt])
其中,tanh是双曲函数中的一种,tanh()为双曲正切。
zt为第二道门的输出信息,σ为激活函数,Wz为第二道门对应的参数矩阵,ht-1代表上一层门输出的信息,xt表示输入的信息,为候选激活层信息,W为对应的参数矩阵,rt为第一道门的输出信息。
第三道门,更新细胞状态,ht-1到ht把旧状态与1-zt相乘,丢弃掉确定需要丢弃的信息,接着加上这就是新的候选值。
ht为第三道门的输出信息,zt为第二道门的输出信息,ht-1代表上一层门输出的信息,为候选激活层信息。
根据本发明的用于数据处理的方法,通过统计学方法由历史数据中提取特征值,然后将该特征数据输入由LSTM训练而成的预测模型中,进而预测用户未来用电量的方式,能够对未来用电量进行有效预测,并指导用户对电量进行分配。
应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施例。
在本公开的一种示例性实施例中,还包括:将多个用户在所述预定时间段中的所述流量数据预测值进行汇总计算,获取流量数据预测总值。分别针对每个商家用户的历史用电量进行处理后用于训练和预测,之后将每个商家用户未来一个月内每天的用电量的预测值进行汇总,得到一个地区中所有商家未来一个月内每天总的用电量。
根据本发明的用于数据处理的方法,通过对一个地区中所述商家的用电路进行预测汇总,进而获取总用电量的方式,能够更加准确的对用电总量进行预测,也可以对商家电量分配产生指导意义。
在本公开的一种示例性实施例中,所述流量数据还包括:客流量数据。在一个实施例中,可例如通过上述方法对商家用户的客流量数据进行分析预测,进而获取某商场未来每天的客流量数据。上述客流量可以为实体店的客流量数据,也可以为网络购物平台中某一家店铺的客流量数据。与之对应的预测得到的总客流量的数据可以为某实体商场的总客流量,也可以为网络购物平台上的总客流量数据。本申请不以此为限。
在本公开的一种示例性实施例中,还包括:通过用户的历史流量数据对与长短期记忆网络进行训练,获得所述预测模型。
在本公开的一种示例性实施例中,还包括:在训练所述长短期记忆网络时,通过均方差与相关系数对所述预测模型进行校验。所述长短期记忆网络预测模型包括:多个子模型,所述多个子模型之间存在递进关系。
在一个实施例中,由于一个月天数一般都是在五周以内,再结合按属性day_of_week划分的数据集,可例如训练五个预测模型分别对应每周。这五个模型之间是存在递进关系的,具体表现为:预测得到的每周预测值用于之后每周预测的特征集构造。
所述长短期记忆网络预测模型中五个子模型的关系为:
其中,Fi为第i个模型,f0为第j个模型预测值的影响因素,gj为第j个模型预测值的影响因素,g0为空值。
在一个实施例中,在训练所述预测模型的过程中,使用不同统计度量准则验证每种模型的性能,可例如采用统计度量准则为:均方误差(MSE)和相关系数(R)。均方误差统计度量准则公式定义如下:
其中,N是数据点个数,yi是观察值,是计算值。相关系数统计量准则则定义公式如下:
其中,N是数据点个数,yi是观察值,是计算值,是观察值的均值,是计算值的均值。
在模型的训练阶段,通过均方误差(MSE)和相关系数(R)对每个子模型的校验结果如下:
表5在训练阶段,预测模型的MSE和R
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
图4是根据一示例性实施例示出的一种用于数据处理的装置的框图。用于数据处理的装置40包括:数据模块402,拆分模块404,特征模块406,预测模块408。
数据模块402用于获取同一用户的流量数据,所述流量数据包括电量数据。流量数据中包含很多用户的电量数据,将每一个用户的数据分别提取出来以便后续处理。
拆分模块404用于将所述流量数据按照时间特征分成多个时间序列数据。例如,第一时间序列数据对应于不同星期中每个周一的流量数据;第二时间序列数据对应于不同星期中每个周二的流量数据;第三时间序列数据对应于不同星期中每个周三的流量数据;第四时间序列数据对应于不同星期中每个周四的流量数据;第五时间序列数据对应于不同星期中每个周五的流量数据;第五时间序列数据对应于不同星期中每个周五的流量数据;第七时间序列数据对应于不同星期中每个周日的流量数据。
特征模块406用于通过基本统计学算法与所述多个时间序列数据,计算所述流量数据的特征值。通过所述多个时间序列数据分别计算所述流量数据的均值与标准差;将所述均值与所述标准差作为所述流量数据的特征值。
预测模块408用于将所述特征值输入预测模型中,以获取所述用户在预定时间段中的流量数据预测值。在本实施例中,预测模型可例如为通过长短期记忆网络(LSTM,Long-Short Term Memory)训练之后建立的模型。
用于数据处理的装置40还包括:训练模块(图中未示出)用于通过用户的历史流量数据对与长短期记忆网络进行训练,获得所述预测模型。
根据本发明的用于数据处理的装置,通过统计学方法由历史数据中提取特征值,然后将该特征数据输入预测模型中预测未来用电量的方式,能够对未来用电量进行有效预测,并指导商家电量分配。
图5是根据一示例性实施例示出的一种电子设备的框图。
下面参照图5来描述根据本发明的这种实施方式的电子设备200。图5显示的电子设备200仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备200以通用计算设备的形式表现。电子设备200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同系统组件(包括存储单元220和处理单元210)的总线230、显示单元240等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元210执行,使得所述处理单元210执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元210可以执行如图1中所示的步骤。
所述存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)2201和/或高速缓存存储单元2202,还可以进一步包括只读存储单元(ROM)2203。
所述存储单元220还可以包括具有一组(至少一个)程序模块2205的程序/实用工具2204,这样的程序模块2205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备200也可以与一个或多个外部设备300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口250进行。并且,电子设备200还可以通过网络适配器260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。
图6示意性示出本公开示例性实施例中一种计算机可读存储介质示意图。
参考图6所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品600,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:获取同一用户的流量数据,所述流量数据包括电量数据;将所述流量数据按照时间特征分成多个时间序列数据;通过基本统计学算法与所述多个时间序列数据,计算所述流量数据的特征值;以及将所述特征值输入预测模型中,以获取所述用户在预定时间段中的流量数据预测值。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施例的方法。
以上具体地示出和描述了本发明的示例性实施例。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
此外,本说明书说明书附图所示出的结构、比例、大小等,均仅用以配合说明书所公开的内容,以供本领域技术人员了解与阅读,并非用以限定本公开可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本公开所能产生的技术效果及所能实现的目的下,均应仍落在本公开所公开的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“第一”、“第二”及“一”等的用语,也仅为便于叙述的明了,而非用以限定本公开可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当也视为本发明可实施的范畴。