沈弘 张涌新 张云 徐诗甜 方正 贾科
摘 要:对用用电大数据进行用电类型估计算法不足这一问题,设计了基于模糊均值(FCM)抽样划分聚类的方案。通过高斯平滑预处理消除测量数据中的波动和噪声;再改进FCM模型,使之适用于用电类型的估计;最后,基于抽样划分和均值更新的思想,提高改进模型的运行性能,以运用于用电大数据的处理。模型检验和算例对比实验,证明了该方案具有速度快,准确率高的特点,适合运用于相关用电大数据处理上。
关键词:FCM聚类;用电数据分类;抽样;大数据;高斯平滑
0 引言
随着我国智能电网建设加快,电网运行和管理会产生数量巨大且结构各异的数据,即电力大数据。对这些数据的处理,是值得研究的课题。目前对电力大数据的处理技术主要是分布式计算、内存计算、流处理技术,如文献[1],就从数据存储上,提出了提高处理电力大数据的方案及实现,而文献[2]则给出了实时处理电力状态检测领域大数据的方法。但现有电力数据分析系统,还是难以较好地满足数据量大、处理速度快、数据类型多、价值大、精确性高这五项要求,尤其在提升数据处理算法上。
通过改进用于电力大数据处理的数据挖掘经典算法,使其时间复杂度、空间复杂度减少,是从数据处理方面解决该问题的新思路。本文以电力大数据中用户用电类型估计为对象,提出了一套能适用于大数据环境的解决方案:首先,为减少数据噪声和波动提出高斯平滑预处理,提高数据的精确度。接着,设计改进的模糊均值曲线聚类模型,以使其适用于分析用电类型。最后,由抽样划分思想,对该算法在大数据环境下的实现进行了阐述,并完成算例对比实验。结果表明,抽样划分的聚类算法比直接聚类节省更多的运算资源,能被有效地用于处理包括用电类型分析在内的电力大数据问题,为最优用电策略的制定提供指导。
1 模糊均值曲线聚类模型
客户用电数据的采集,会受到各种噪声源的影响。而用电指标数据的波动性,会使得后续数据的压缩、复现、故障诊断等重要功能受到不良影响。故在对用电大数据进行处理前,通过高斯平滑滤波预处理[3],能较好地为大数据挖掘做准备。对经过数据预处理后的数据,基于模糊C均值聚类,提出适用于用电用户类型准确估计的模糊均值曲线聚类模型。
1.1 数据预处理
数据预处理采取步骤如下:
设原始数据为n个用户的用电量数据矩阵,每个用户有p个数据点;平滑处理后数据整理成,其中;方差和窗宽w为可调参数。
取高斯核函数,表达式为:
则系数矩阵为。
又因为客户用电数据存在相似性,在较长的时间内呈现较强的周期性,故需要对原始数据X进行补位操作,组成新的数据矩阵X'。补位处理如下:
将X的1至[w/2]列和m-[w/2]+1至m列分别补到X的最后和最前,得X',X'中行向量。
在X'中每一行向量xj'与K进行卷积:
得矩阵。截取W中间的n×p矩阵作为中第i行、第j列数据表达式为。
对怀化市沅陵县含两类(“镇”“乡”)用电类型的采样用电数据,进行绘制。(如图1)
用Matlab对上述算法进行编程,即对数据进行高斯平滑滤波预处理,结果如图2所示。
可以看到,该预处理算法,能较好地识别异常与正常数据的不一致性,并去除离群点,还能使测量数据很好地保留原始数据的数据特征。
1.2 模型的构建
经过预处理后,所得数据准确地反映实际情况,更便于聚类工作的实施。这里,采用改进的模糊C均值算法:模糊均值曲线聚类。
模糊C均值(Fuzzy C-means,FCM)聚类方法[4],通过优化目标函数得到每个样本点对所有类中心的隶属度,从而决定样本点的类属以达到自动对样本数据进行分类的目的。
因用户用电数据往往是一段时间内,每个时间节点上对应的用电信息。故对该时间段每个时间节点进行整体考虑,即以用户用电曲线为最基本样本单元,对一定数量的用户数据样本单元聚类。给出模糊均值曲线聚类的模型描述如下:
其中n是聚类的样本数,c是分类后的种类数,μ是每个样本对应某个种类的模糊隶属度,满足且。由于针对的是许多用户一段时期的用电量数据,xi是个向量,表示第j个样本的用电数据,内含p个数据。zi是某个种类的聚类中心,。m是模糊指数。
则模糊均值曲线聚类的具体算法步骤:
步骤1:设置目标函数精度σ,模糊指数m(通常取2),最大迭代次数Tm;
步骤2:设定隶属度μ的初值:给每个μ生成一个随机数,再对同一个样本数据对应的一组μ进行标准化处理,满足,再由式(6)初始化模糊聚类中心Z;
步骤3:若或迭代次数结束聚类;否则,t+1的值赋值给t,并转到步骤5;
步骤4:由式(5)和式(6)更新模糊隶属度μ和模糊聚类中心Z,返回步骤4。
最后得到的聚类中心Z便是聚类结果,其可清晰地呈现这些样本可以分成哪些类型。
1.3 模型的数据检验
对上述方法利用Matlab编程。对含两类用户类型的样本聚类,检验模型的可行性及准确性,结果如图3。
由图1和样本数据知,样本中包含两类用电特征具有差异的用电用户:城市用电用户,乡村用电用户。通过模糊均值曲线聚类,两类特征用电用户很明显地被区分出来。101户城市和101户农村用电用户被准确地聚类到两类:总体用电量较高的城市及较低的农村用电用户类型,可行性和准确性得到验证。
2 在大数据环境下的实现:抽样划分聚类
经典算法对数据规模有不同程度的限制[5]。这里以数据抽样为核心,使其适用于大数据。注意到各抽样之间的关联,在使得独立处理的各抽样规模较小的同时,能反映全局的处理结果。基于此,结合文献[6],给出模糊均值曲线聚类在大数据环境下的实现方案。
2.1 抽样
对于抽取出来的小数据集,希望它能拥有大数据中包含的所有自然簇(共c类),对应实例,即包含样本中所有用电用户类型。基于文献,我们得出了以下抽样公式:
其中,S是至少需要抽取的总样本数,f是抽取到指定数据的比例,;n为数据规模;c是所有数据包含的自然簇的类数。
定义总抽样次数为,则每次抽样的样本容量为。
用电大数据的数据规模往往非常大,即。按上述方法对样本进行抽样处理。
2.2 自然簇质心初步位置的确定方法
在2.1的基础上,假设所有抽样的并集对所有类别的自然簇具有理想的覆盖度,抽样所包含的自然簇具有与原数据集近似位置的质心。分两步确定自然簇质心的初步位置:
第一步:由于设定抽样规模较小,对每个抽样的聚类可采用经典算法,所以在1.2节中模糊曲线聚类的聚类过程会很快。因为每个抽样都具有相同的规模,且聚类过程都是独立进行的,故可实行并行处理,减少大量运行时间。
设总样本大数据集(类别数为c)的一个抽样覆盖c'个类别。由于1≤c'第二步:由第一步得到c×M个小簇,计算每小簇的均
nj为该簇ci的数据规模,aij为cj中某一样本的属性。用均值代表该簇,得规模为c×M的数据集A。采用模糊均值曲线算法对A进行聚类,得c个簇,则使得c×M个小簇合并成c个大簇。计算这c个大簇的均值,即可确定自然簇质心的初步位置。
2.3 均值的更新
由于采用数据的局部信息,簇质心的初步位置通常会偏离原数据集的簇质心,需要利用均值更新进行初步位置的校正。可以根据与c个初始质心的远近,将未被利用的剩余数据样本按距离,分配至最近的簇中。利用这一分类原则,有:
为未确定类别的样本属性,为已经确定的类别。
一个数据样本按上述分类被填入某一簇ci时,该簇的均值发生更新:
随剩余数据的加入,均值位置也不断更新,并向自然簇的真实中心移动,直至更新完成。
2.4 划分数据
解决方案的最关键一步,是利用2.3节确定好的自然簇质心对数据集进行划分,划分原则仍采用式(8)最小距离法的思想,即通过离簇质心的远近,确定数据的最终类别归属。
2.5 算例对比实验
为检验抽样划分聚类算法的可行性,及其较传统直接聚类的优势,进行算例对比实验。
在大数据条件下,设用户个数为n(),把所有用户数据都带入模糊均值曲线聚类算法,直接通过Matlab的程序运行。首先,隶属度和聚类中心的初始化进行了次循环,然后进入迭代。设迭代次数为T,迭代中更新隶属度和聚类中心也需要次循环,故总的循环次数。
在抽样划分聚类中,类似上述步骤,在质心位置初步计算中循环次数为,均值更新需要消耗次运算,故总循环次数。
已知,对比两种方法的循环次数:
即,以抽样划分为核心的聚类算法可从时间、空间上,节省大量的运算资源。
3 结论
本文首先提出了高斯平滑滤波预处理,对用电数据中噪声和波动进行排除,使测量数据更真实地反映用电特征。随后,通过数据检验,证明了改进的模糊均值曲线聚类模型的可行性和准确性。最后,通过算例对比实验,得到了抽样划分将大大减少模糊均值曲线聚类算法的循环次数,从而提升其运行效率,以适用于大数据环境的结论。为弥补抽样带来的信息利用率较低的问题,本文采用均值更新的方法,使结果更加精确。利用基于抽样划分的FCM聚类方法,处理用电大数据,能在短时间内完成对用电用户类型的划分,实现预测用电趋势,便于调度中心调度,为客户用电提供建议等相关功能,具有重要的研究意义。
参考文献
[1]毛羽丰.基于云计算的海量电力数据分析系统设计与实现[D].北京交通大学,2015.
[2]周国亮,朱永利,王桂兰,等.实时大数据处理技术在状态监测领域中的应用[J].电工技术学报,2014,29(S1):432-437.
[3]赖家文.客户用电信息智能化分析系统的研究与开发[D].广东工业大学,2014.
[4]李引.聚类算法的研究与应用[D].江南大学,2013.
[5]卢志茂,冯进玫,范冬梅,杨朋,等.面向大数据处理的划分聚类新方法[J].系统工程与电子技术,2014,36(5):1010-1015.
[6]Sudipto G,Rajeev R,Kyuseok S.Cure:an efficient clustering algorithm for large databases [J].Information Systems,2001,26(1):33-58.
(作者单位:华北电力大学电气与电子工程学院)