基于改进F-score特征选择及粒子群BP神经网络的负荷辨识
方法
技术领域
本发明涉及配用电大数据技术领域,尤其是涉及一种基于改进F-score特征选择及粒子群BP神经网络的负荷辨识方法。
背景技术
电力系统的建设宗旨是安全、经济地发供电,科学合理地分配电能,保证电力质量指标,为电力用户提供经济可靠的电能,为随时满足其负荷需求。随着我国经济的高速发展,电力供需矛盾不断加剧,用电结构不断变化,电力系统的负荷特性发生了明显变化。各地区电网的各时段最大负荷持续快速增长,峰谷差逐渐加大,用电高峰期电力供需矛盾日益尖锐,系统负荷率和年最大负荷利用小时数逐渐减小,这些负荷特性的变化使得电网调峰困难,同时对系统的安全性、稳定性造成了极大的威胁,也给电力市场分析、市场营销、负荷预测和电网规划等一系列电网工作带来诸多的困难。负荷特性的变化与负荷预测密切相关,因此基于用户负荷特性研究的结果研究电力负荷预测,进一步去研发电力负荷特性分析以及负荷预测系统具有非常重要的意义。同时,随着我国智能电网的快速发展,智能电网下信息通信技术(Information Communications Technology,ICT)技术的快速应用和推广,加上智能终端设备的投入使用,用户积极参与需求响应,电力供应实现双向互动,为寻求用电的经济性,用户的用电策略发生着较大改变,使得用户的负荷特性发生较大的变化。这就使得对负荷预测的精度越来越高,若要强化智能电网的发展,则应提高电力负荷预测的水平。近几年,我国不断推进电力体制改革,逐步实现电力市场,这对超短期的负荷预测提出了更高的要求,为更好的适应我国电力的快速发展,需不断的深化对负荷预测技术的研究,使得预测的精度更高。
用电预测是基于多元用电数据,利用大数据挖掘和机器学习方法,在满足一定精度的情况下确定未来某特定时段的用电负荷情况。用电预测是中低压配网规划、运行、节能管理等方面的重要工作之一,提高用电预测技术水平,有利于中低压配网的节能运行管理和错峰调度,有利于合理安排配电网规划建设,有利于综合能源服务公司购售电业务。因此,用电预测已成为实现智能电力现代化管理的重要内容。目前,电力用电预测普遍存在着算法较多基于经验法、预测准确率不高等难度等问题,同时随着海量用电数据的大集中,传统的数据分析手段不足以应对海量数据挖掘的需求。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于改进F-score特征选择及粒子群BP神经网络的负荷辨识方法。
本发明的目的可以通过以下技术方案来实现:
一种基于改进F-score特征选择及粒子群BP神经网络的负荷调度方法,该方法包括以下步骤:
步骤1:根据改进的F-score特征评价准则对影响负荷的因素进行衡量;
步骤2:利用F-score_Area法通过设定阈值选取最优特征子集;
步骤3:将最优特征子集作为输入通过粒子群BP神经网络后得到负荷预测结果;
步骤4:根据负荷预测结果对电网运行作出匹配负荷调度。
进一步地,所述的步骤1具体包括:对影响负荷的因素按比例获取训练样本,计算训练样本中数据的F-score值,计算完毕后将计算得到的F-score值进行降序排列,即对影响负荷的因素进行衡量。
进一步地,所述的F-score值的计算公式为:
式中,Fi表示F-score值,和分别表示第i个特征在整个数据集上的平均值以及在第j类数据集上的平均值,表示第j类第k个样本第i个特征的特征值。
进一步地,所述的步骤2具体包括:对经过降序排列的所有特征的F-score值将其中相邻两个特征的F-score值与坐标轴围成的面积进行积分并累加,得到S曲线后将阈值确定问题转变为求曲线S拐点问题,并将阈值定义为S二阶差分的最大值以最终选取最优特征子集。
进一步地,所述的S曲线的描述公式为:
式中,Sn表示S曲线函数值,fi,i=1,2,...,n表示各个特征的F-score值。
进一步地,所述的S二阶差分的最大值的描述公式为:
f(i)=(Si1+1-Si1)-(Si1-Si1-1),i1=1,2,...,n-1,S0=0
式中,f(i)表示S二阶差分的最大值。
进一步地,所述的步骤3包括以下分步骤:
步骤31:根据选取的最优特征子集,初始化BP神经网络,并对输入的特征子集进行归一化处理;
步骤32:初始化粒子群参数并获取各个粒子的适应度值;
步骤33:选取各个粒子的适应度值中的最优个体极值作为粒子群的最优值,并判断该值或迭代次数是否满足结束条件,若满足条件,将此时的粒子位置作为BP神经网络的权值和阈值,完成对BP神经网络的优化;
步骤34:若不满足条件,更新惯性权重和学习因子对粒子位置进行更新并再次转入步骤33;
步骤35:利用优化后的BP神经网络建立基于MPSO-BP神经网络并得到最优特征子集对应的负荷预测结果。
进一步地,所述的步骤34中的惯性权重的计算公式为:
式中,ω表示惯性权重,ωmax和ωmin分别表示惯性权重的最大值和最小值,t表示当前迭代次数,N表示最大迭代次数;
所述的步骤34中的学习因子的计算公式为:
式中,c1和c2表示学习因子,c1s和c2s表示学习因子的初始值,c1e和c2e表示学习因子的最终值。
与现有技术相比,本发明具有以下优点:
(1)本发明提出的基于F-score特征选择的MPSO-BP神经网络负荷调度方法,依次先根据改进的F-score特征评价准则对影响负荷的因素进行衡量;再利用F-score_Area法通过设定阈值选取最优特征子集;然后将最优特征子集作为输入通过粒子群BP神经网络后得到负荷预测结果;并最后根据负荷预测结果对电网运行作出匹配负荷调度,与传统方法相比误差更小,计算稳定性好。
(2)本发明中针对学习因子和惯性权重设置动态取值,各个粒子沿着自身的位置进行搜索,增强全局搜索能力,各个粒子沿着群体搜索到的位置进行搜索,增强局部搜索能力,有利于以较高的收敛精度得到全局最优解。
附图说明
图1为本发明实施例的特征按F-score值大小排序示意图;
图2为本发明方法的建模原理图;
图3为本发明实施例的温度区间及对应的取值示意图;
图4为本发明实施例的各特征F-score值降序排列后的分布图;
图5为本发明方法实施例的结果与其他方法的比较结果示意图;
图6为本发明的整体方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
实施例
本发明针对海量数据,提出一种基于改进F-score特征选择及MPSO-BP神经网络短期负荷调度方法,将数据挖掘技术与MPSO-BP神经网络法结合进行短期负荷预测研究。首先通过改进F-score特征评价准则对影响负荷的因素进行衡量;然后通过F-score_Area法设定阈值筛选出最优特征子集,作为神经网络的输入变量,以达到降维的目的;最后通过改进粒子群算法对BP神经网络的权值和阈值进行优化,完成短期负荷预测。结果表明,本发明提出短期负荷预测方法对输入变量实现了有效降维,降低了海量数据间的冗余度,提高了短期负荷预测的精度。
(1)改进的F-score特征选择算法
1)传统的F-score特征选择方法
特征选择是从众多特征中选择出那些对分类识别最有效的特征,从而实现特征空间维数的压缩。F-score是一种衡量特征在两类之间分辨能力的方法,通过此方法可以实现最有效特征的选择,具体描述如下:
给定训练样本集Xk∈Rm,k=1,2,...,n,其中,正类和负类的样本数分别为n+和n-,则训练样本第i个特征的F-score定义为:
式中,和分别表示第i个特征在整个数据集上、在正类数据集上和在负类数据集上的平均值,和分别为第k个正、负类样本点的第i个特征的特征值,Fi值越大,此特征的辨识力越强。
2)改进的F-score特征选择方法
上述F-score是一种简单、有效的特征选择方法,它能够衡量特征在两类之间的辨别力大小。但是,此方法存在一定的局限性它只适用于两类情况的特征选择,不能直接应用于多类问题中的特征选择。但实际需要解决的问题一般是多类问题,因而将F-score进行扩展使它适合于多类情况的特征选择是非常必要的。从计算F-score值的表达式开始,将两类情况下F-score值的计算公式进行推广,提出了改进的F-score特征选择方法。它既能够衡量特征在两类之间的辨别力大小,也能够衡量特征在多类之间的辨别力大小。改进的F-score特征选择方法描述如下:
给定训练样本集Xk∈Rm,k=1,2,...,n,l≥2表示样本类别数,nj为第j类样本数,j=1,2,…,l,则训练样本中第i个特征的F-score值定义如下:
式中,Fi表示F-score值,和分别表示第i个特征在整个数据集上的平均值以及在第j类数据集上的平均值,表示第j类第k个样本第i个特征的特征值。
改进的F-score特征评价准则是基于类间类内距离的类别可分性评价准则,将计算得到的F-score值进行降序排列,F-score值越大则表明该特征的辨别能力就越强,该特征也就越重要。
3)F-score_Area阈值筛选
特征选择的过程实质上就是对重要特征的筛选,现有的很多研究往往通过观察来剔除F-score值较小的特征,主观性太强,不能保证所选的特征就是最优的。如果重要特征与非重要特征之间存在明显的分界线,那么阈值就是分界线所对应的值。根据这一思想,提出一种F-score_Area法,通过设定阈值选取最优特征子集。首先将所有特征的F-score值进行降序排列,如图1所示。
接下来,将相邻两个特征的F-score值与坐标轴围成的面积进行积分并且累加,得到一条单调递增的S曲线,对应S曲线的公式如下所示:
式中,Sn表示S曲线函数值,fi,i=1,2,...,n表示各个特征的F-score值。f0=0;曲线S是上各点连接后的平滑曲线。所以阈值的确定问题转化为求曲线S拐点问题,可以将阈值定义为S二阶差分的最大值。即:
f(i)=(Si1+1-Si1)-(Si1-Si1-1),i1=1,2,...,n-1,S0=0
式中,f(i)表示S二阶差分的最大值。
与直观观察比较而言,本发明提出的F-score_Area法具有一定的理论依据。
(2)MPSO-BP神经网络算法
1)PSO算法
粒子群优化算法(particle swarm optimization,PSO)是基于群智能的优化技术,通过粒子之间的相互作用对解空间进行搜索,从而得到最优解的过程。PSO算法虽然所需的经验参数较少,收敛速度也较快,但是在PSO搜索过程中容易陷入局部极值,导致收敛精度不高。
2)MPSO算法
针对PSO算法存在的不足进行改进,综合考虑全局搜索能力与局部搜索能力,提出MPSO算法,MPSO算法针对影响算法性能重要参数,惯性权重以及学习因子进行改进。惯性权重可以控制算法的搜索能力,PSO算法中惯性权重线性递减的减慢了算法的收敛速度,在搜索后期,导致全局搜索能力变差,容易陷入局部最优;学习因子是用来调节局部最优和全局最优的,PSO算法中固定的不能在全局搜索与局部搜索之间寻求平衡;下面是针对惯性权重以及学习因子的改进策略:
针对惯性权重:
式中,ω表示惯性权重,ωmax和ωmin分别表示惯性权重的最大值和最小值,t表示当前迭代次数,N表示最大迭代次数;
当t较小时,惯性权重接近最大值,确保了算法的全局搜索能力,当t逐渐增大时,惯性权重非线性递减,确保在搜索后期具备一定的局部搜索能力,使得MPSO算法可以较好地在全局搜索与局部搜索之间寻求平衡。
由于粒子在搜索过程中希望前期的搜索速度大一点,可以对整个空间进行搜索;后期的搜索速度小一点,可以精细化搜索。同样针对学习因子,也可以让学习因子随着搜索状态的变化而变化,对学习因子进行如下改进:
式中,c1和c2表示学习因子,c1s和c2s表示学习因子的初始值,c1e和c2e表示学习因子的最终值。
在开始阶段c1取较大值,c2取较小值,各个粒子沿着自身的位置进行搜索,增强全局搜索能力;在搜索后期c2取较大值,c1取较小值,各个粒子沿着群体搜索到的位置进行搜索,增强局部搜索能力,有利于以较高的收敛精度得到全局最优解。
3)MPSO-BP神经网络算法
上文介绍了PSO算法及其MPSO算法。将MPSO算法用于BP神经网络权值和阈值参数的优化,建立基于MPSO-BP的短期负荷预测模型。
神经网络是有大量神经元组成的非线性系统,网络之间的信息处理通过神经元之间的相互作用来实现。BP神经网络是一种误差反向传播的多层前馈网络,主要由输入层、隐含层和输出层组成,通过误差反向传播来调整权值和阈值,减小输出误差,知道满足终止条件为止。
对于神经网络,首先需要确定适当的网络结构,本实施例输入层的节点个数由输入变量决定;输出层的节点个数只有一个;对于隐含层节点的选择,主要由以下经验公式决定:
式中,m为隐含层节点数,v为输入层节点数,o为输出层节点数,α为0-10之间的常数,经过初步计算隐含层节点数的范围大概是4到13。通过试探法分别计算隐含层节点数为4到13输出层的误差,选取误差最小的隐含层节点数,经过计算,最终选取隐含层节点数为11的时候误差最小。
为了使神经网络的输入变量处在较大的阈值范围内,尽可能的反应输入输出之间的关系,其输入层与隐含层和隐含层与输出层之间的传递函数都采用双极性函数:
综上所述,本实施例对BP神经网络有了一个简单的介绍,确定了神经网络输入层、隐含层以及输出层的节点数,对神经网络各层之间的传递函数也进行了简短的介绍,确定了BP神经网络的结构,为下面短期负荷预测模型的建立做铺垫。
本发明提出的基于改进F-score特征选择及MPSO-BP神经网络短期负荷预测方法的建模原理如下图2所示;
根据本实施例的具体情况初始化BP神经网络,设置MPSO算法的相关参数,用MPSO算法优化BP神经网络的权值和阈值,以神经网络输出的均方误差为适应度函数。
式中,n1为训练集样本的个数,c为网络输出神经元的个数,本实施例取1,Yij表示第i个样本的理想输出值,yij表示第i个样本的实际输出值。
随着迭代的进行,训练误差不断降低,直到适应度值小于某个设定的值或者迭代次数大于设定的最大迭代次数时,算法停止迭代。此时适应度最优的那个粒子就是训练问题的最优解,接着就可以用优化后的BP神经网络针对短期负荷进行预测。
MPSO-BP神经网络短期负荷预测方法的具体实现步骤如下:
1.根据选取的最优特征子集,初始化BP神经网络,并对输入特征进行归一化处理:
历史负荷数据的归一化:
相应的反应在输出层得到的实际值的换算公式如下:
其中,xmax、xmin分别代表样本集负荷的最大值和最小值。
本实施例对于温度进行量化处理,如图3所示;将天气划分为五个等级:晴、阴、雨、雪、大雪,对应的量化值为0.1、0.2、0.4、0.5和0.8;将日期类型分为4类:周一取0.7,周二至周五取0.9,周六取0.4,周日取0.3。
2.初始化粒子群参数。初始化粒子群的位置,速度,粒子群个数,最大迭代次数,惯性权重的初值,学习因子的初值以及初始化局部最优和全局最优。
3.计算适应度函数,计算出各个粒子的适应度值,得到局部最优,并选出最好的个体极值作为粒子群的全局最优,并判断此时的全局最优或者迭代次数是否满足结束条件,若满足条件,将此时的粒子位置作为神经网络的权值和阈值,完成对神经网络的优化。
4.若不满足条件,根据式更新惯性权重和学习因子,根据式对每个粒子的位置和速度进行更新,在转入步骤3。
5.由以上步骤可以得到优化后的BP神经网络,建立基于MPSO-BP的短期负荷预测模型,完成预测。
并最终根据负荷预测结果对电网运行作出匹配负荷调度。
实际算例分析:
本实施例以上海浦东地区负荷数据为基础,预测2015年6月30日24点的负荷。为了全面地反映负荷特性,选取2014年6月30日到2015年6月29日的负荷数据,天气数据以及气象数据等,将训练样本和测试样本按照8:2的比例进行划分,利用F-score特征选择选取的最优特征子集作为输入变量,以MPSO算法完成对BP神经网络的优化,建立基于MPSO-BP的短期负荷预测模型,完成对上海浦东地区2015年6月30日24点的负荷预测。
1.最优特征子集的选取,如图4所示;
通过对负荷数据、天气数据以及气象数据、用电特性、特殊事件的特征选择,本实施例选取了15个特征,下图是15个特征的F-score值降序排列示意图。降序排列后的1-15个特征向量分别为预测日h-2时刻负荷值、预测日前一周h时刻负荷值、预测日h-1时刻负荷值、预测日前一天h+1时刻负荷值、预测日前一日h时刻温度、预测日h时刻天气情况、预测日前一天h-1时刻负荷值、预测日日期类型、预测日前一天h时刻负荷值、预测日h时刻温度、预测日h时刻湿度、预测日h时刻风速、预测日h时刻气压、预测日前一日h时刻露点温度以及预测日h时刻露点温度。
通过F-score_Area法计算得到阈值为0.8474,所以得到的最优特征子集为前10个特征,将得到的最优特征子集作为神经网络的输入,下面表1是神经网络的输入输出定义。
表1:神经网络的输入输出定义
输入节点 |
相应输入量 |
1 |
预测日前一周h时刻负荷值 |
2 |
预测日前一天h-1时刻负荷值 |
3 |
预测日前一天h时刻负荷值 |
4 |
预测日前一天h+1时刻负荷值 |
5 |
预测日h-1时刻负荷值 |
6 |
预测日h-2时刻负荷值 |
7 |
预测日前一日h时刻温度 |
8 |
预测日h时刻温度 |
9 |
预测日的天气情况 |
10 |
预测日期类型 |
输出节点 |
相应输出量 |
1 |
预测日h时刻预测负荷 |
2.负荷预测仿真与分析
通过F-score特征选择得到10个最优特征子集,并与建立好的MPSO-BP的短期负荷预测模型一起完成对2015年6月30日24点负荷的预测,并与未进行特征选择的MPSO-BP以及BP神经网络负荷预测进行对比,预测值和实际值的对比如表2所示。表2是三种算法的误差性能比较,列出了两种预测方法的最大相对误差、平均相对误差以及均方误差。
表2:预测值和实际值的对比结果
从表2可以看出,基于F-score特征选择的MPSO-BP神经网络短期负荷预测方法的最大相对误差控制在3%以内,平均相对误差为1.79%,而为未进行F-score特征选择的MPSO-BP神经网络短期负荷预测方法最大相对误差超过4%,平均相对误差为2.66%,传统的BP神经网络预测方法的最大误差6.31%,平均相对误差为3.48%。结合以上分析,本发明提出的短期负荷预测方法在预测精度上得到了改进。
为了进一步检测预测模型的效果,表3是三种算法的误差性能比较,列出了两种预测方法的最大相对误差以及均方误差。
表3:三种算法的误差性能比较结果
误差/% |
F-score+MPSO-BP |
MPSO-BP |
BP |
最大相对误差 |
2.77 |
4.28 |
6.31 |
均方误差 |
1.81 |
2.69 |
3.57 |
从表3也可以看出,本发明提出的基于F-score特征选择的MPSO-BP神经网络负荷预测方法均方根误差较另外两种方法小,更稳定。为进一步直观的了解三种预测方法的实际情况,图5是三种预测方法下的2015年6月30日24点负荷的预测值以及实际值负荷曲线。
综上所述,本发明方法一种基于改进F-score特征选择及粒子群BP神经网络的负荷调度方法,如图6所示;
该方法包括以下步骤:
步骤1:根据改进的F-score特征评价准则对影响负荷的因素进行衡量;
步骤2:利用F-score_Area法通过设定阈值选取最优特征子集;
步骤3:将最优特征子集作为输入通过粒子群BP神经网络后得到负荷预测结果;
步骤4:根据负荷预测结果对电网运行作出匹配负荷调度。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。