本发明涉及电力系统负荷预测技术领域,特别是涉及一种基于灰色预测模型与bp人工神经网络模型的月用电量预测方法。
背景技术:
电力系统月用电量预测是电力系统负荷预测的重要组成部分,主要用于选择适当的机组类型、合理的电源结构和确定燃料计划等。电力系统月用电量预测结果若与未来实际月用电量相比偏低会引起电网容量不足,供电质量降低;反之将导致发输变电设备利用率不足,造成投资的浪费,降低电力系统的经济效益。电能不能大量储存的特性决定了电力系统月用电量预测在电力系统运行、调度中的重要性。
电力系统月用电量预测的方法主要有回归分析法、时间序列分析法、模糊预测法、灰色预测法、人工神经网络法等。这些方法都有各自存在的缺陷,如月用电量数据列不光滑时,灰色预测法的预测值将出现较大误差。再如月用电量呈明显的季节性变换时,上述方法都不能揭示出季节性变化规律,因此预测精度普遍不高。
上海电机学院在2013年7月2日提出的名称为“基于bp神经网络的电力系统负荷预测方法”的专利申请、温州大学在2014年6月18日提出的名称为“基于改进灰色预测模型的电力负荷中长期预测方法”的专利申请和三峡大学在2016年5月4日提出的名称为“一种基于改进灰色理论的中长期负荷预测方法”的专利申请都各自提出一种电力系统负荷预测方法,但上述方法都只利用单一预测方法进行预测,方法缺陷很大且预测精度不高。
本发明通过适当的方式将灰色预测法和人工神经网络法组合,构建基于灰色预测模型与bp人工神经网络模型的月用电量预测方法,避免了单一预测模型不能完整揭示出数据变化规律的缺陷,充分挖掘数据信息,提高预测精度。
技术实现要素:
针对现有技术中存在不足,本发明提供了一种基于灰色预测模型与bp人工神经网络模型的月用电量预测方法,具体实现方法如下:
一种基于灰色预测模型与bp人工神经网络模型的月用电量预测方法,其特征在于,包括以下步骤:
步骤一:提供n年以上的月用电量数据,其总月数为n,其中每月用电量为qij,其中,i表示年数,j表示月份,i=1,2,...n,1≤j≤t,n≥4,1≤t≤12。
步骤二:根据每月用电量计算每月指数sj:
步骤2-1:用每月用电量qij构成月用电量矩阵a为:
步骤2-2:将矩阵a以向量d表示为:d=[d(1),d(2),...,d(n)]=[q11,q12,...,q1t,q21,q22,...,q2t,...,qnj];
步骤2-3:计算每月指数sj:
步骤三:利用每月指数修正原始月用电量数据,根据公式
步骤四:根据再次修正后的每月用电量qi″j,用灰色预测模型建模,所述灰色预测模型为gm(1,1)灰色预测模型,对原始月用电量数据进行拟合预测,得到每月用电量的拟合值
步骤五:对残差值向量进行处理:
步骤5-1:对残差值向量进行归正化处理,得到归正化处理后的残差值向量e′为:e′=e-mine(k)=[e′(1),e′(2),e′(3),...e′(k)....,e′(n)];
步骤5-2:对e′中的异常数值进行异常数值替换,方法如下:
①计算归正化处理后的残差值向量中各残差值的异常比λ(k),为:
②对异常比按照从大到小进行排序,并以向量β表示:
β=[β(1),β(2),...β(n)]=sort[λ(1),λ(2),....λ(k)..λ(n)],其中sort表示从大到小排列函数;
③计算归正化处理后的残差值向量中需要替换的异常残差值数量m,m=ceil(c×n),其中ceil表示向下取整函数,c表示异常数值百分比;
④若λ(k)≥β(m),令e′(k)=e′(r),
步骤5-3:得到处理后的残差值向量e″,e″=[e′(1),e′(2),...,e′(r),...,e′(n)],其中(r=2,3,...,n-1)。
步骤六:将进行处理后的残差值向量e″输入bp人工神经网络模型进行网络训练并预测残差值
步骤七:根据公式
步骤八:将修正残差预测值向量与未来月用电量的预测值向量进行计算处理:
步骤8-1:将修正残差预测值向量
步骤8-2:将向量
步骤8-3:将
本发明的有益效果在于:
1.每月指数法及对数变换法联合改进用于月用电量预测的灰色预测模型,充分反映出月用电量的季节性变换,大大提高了数据光滑度,从而提高灰色预测模型的预测精度。
2.将灰色预测模型预测后产生的残差值向量作归正化处理,大大降低了残差值向量在bp人工神经网络模型中进行预测时可能出现的正负号预测错误而增大的预测误差。
3.将灰色预测模型预测后产生的残差值向量作修正异常值处理,提高了数据光滑度,从而提高残差值向量在bp人工神经网络模型中的预测精度。
4.异常残差值替换处理的公式使异常数值百分比c可根据不同预测情况灵活调整,例如各残差值的异常比都较为接近、没有大的波动时,可以降低异常数值百分比;反之可以增大异常数值百分比。
5.如月用电量矩阵a所示,原始月用电量数据无需包含各年中所有月份的每月用电量,且最近一年的月用电量数据可以少于之前各年的月用电量数据,这使得本发明方法使用时灵活性很大。
6.充分利用bp人工神经网络模型可以得出非结构性、非精确性规律的特征,将做过归正化处理及异常数值替换处理的残差值向量输入bp人工神经网络模型做预测,得出具有非结构性、非精确性规律的残差预测值向量,用该向量修正灰色预测模型预测得到的未来月用电量的预测值向量,提高了预测精度。
7.与单一使用灰色预测模型或bp人工神经网络模型做月用电量预测相比,本发明通过适当的方式将两者相结合,避免了单一预测模型不能完整揭示出数据变化规律的缺陷,充分挖掘数据信息,提高预测精度。
附图说明
图1为本发明所述的一种基于灰色预测模型与bp人工神经网络模型的月用电量预测方法流程图。
图2为本发明所述的一种基于灰色预测模型与bp人工神经网络模型的月用电量预测方法与各模型预测误差折线对比图。
具体实施方式
下面结合附图以及具体实施例对本发明作进一步的说明,但本发明的保护范围并不限于此。
一种基于灰色预测模型与bp人工神经网络模型的月用电量预测方法,其特征在于,如图1所示,包括以下步骤:
步骤一:提供n年以上的月用电量数据,其总月数为n,其中每月用电量为qij,其中,i表示年数,j表示月份,i=1,2,...n,1≤j≤t,n≥4,1≤t≤12。
步骤二:根据每月用电量计算每月指数sj:
步骤2-1:用每月用电量qij构成月用电量矩阵a为:
步骤2-2:将矩阵a以向量d表示为:d=[d(1),d(2),...,d(n)]=[q11,q12,...,q1t,q21,q22,...,q2t,...,qnj],;
步骤2-3:计算每月指数sj:
步骤三:利用每月指数修正原始月用电量数据,根据公式
步骤四:根据再次修正后的每月用电量q″ij,用灰色预测模型建模,所述灰色预测模型为gm(1,1)灰色预测模型,对原始月用电量数据进行拟合预测,得到每月用电量的拟合值
所述步骤四中灰色预测模型的建模步骤如下:
步骤4-1:对x(0)(k)作一阶累加得x(1)(k),并构成向量x(1):x(1)=[x(1)(1),x(1)(2),....,x(1)(n)],
步骤4-2:x(1)做一阶均值生成得x(k),并构成向量x:x=[x(2),x(3),....x(n)],x(k)=-1/2[x(1)(k-1)+x(1)(k)],其中,k=(2,3,…,n);
步骤4-3:对x(1)(k)建立一阶微分方程:
步骤4-4:在初始条件
步骤4-5:根据公式
步骤4-6:通过累减还原得到x(0)的拟合模型为:
x(0)的预测模型为:
令
步骤五:对残差值向量进行处理:
步骤5-1:对残差值向量进行归正化处理,得到归正化处理后的残差值向量e′为:e′=e-mine(k)=[e′(1),e′(2),e′(3),...e′(k)....,e′(n)];
步骤5-2:对e′中的异常数值进行异常数值替换,方法如下:
⑤计算归正化处理后的残差值向量中各残差值的异常比λ(k),为:
⑥对异常比按照从大到小进行排序,并以向量β表示:
β=[β(1),β(2),...β(n)]=sort[λ(1),λ(2),....λ(k)..λ(n)],其中sort表示从大到小排列函数;
⑦计算归正化处理后的残差值向量中需要替换的异常残差值数量m,m=ceil(c×n),其中ceil表示向下取整函数,c表示异常数值百分比;
⑧若λ(k)≥β(m),令e′(k)=e′(r),
步骤5-3:得到处理后的残差值向量e″,e″=[e′(1),e′(2),...,e′(r),...,e′(n)],其中(r=2,3,...,n-1)。
步骤六:将进行处理后的残差值向量e″输入bp人工神经网络模型进行网络训练并预测残差值
步骤七:根据公式
步骤八:将修正残差预测值向量与未来月用电量的预测值向量进行计算处理:
步骤8-1:将修正残差预测值向量
步骤8-2:将向量
步骤8-3:将
实施例
以某市供电公司2008年至2014年工业月用电量作为原始数据,按照上述方法建立预测模型,并预测2015年工业月用电量。该市工业月用电量原始数据如下表1,
表1某市工业月用电量原始数据
单位:万千瓦时
进行过处理的残差值向量在bp人工神经网络模型中的网络训练及预测过程如下:将2008年至2013年进行过处理的残差值向量作为bp人工神经网络输入,2014年的作为输出。经反复分析,网络结构确定为3层网络:输入层含6个神经元,隐含层含9个神经元,输出层为1个神经元。输入层到隐含层的传递函数采用tansig函数,隐含层到输出层的传递函数采用purelin函数,网络训练函数采用traingdm函数。权值和阈值的初值采用随机数,训练目标误差设为0.001,学习率设为0.01,动量系数设为0.95。训练时首先用premnmx函数将所有样本进行归一化处理,待训练毕,用postmnmx函数将sim函数所得的预测值做反归一化处理得残差预测值向量。通过近18000学习训练,得到一组合适的权值和阈值。之后用训练好的网络预测2015年1月至12月的残差预测值向量。
为便于比较不同类型gm(1,1)模型的预测效果,表2给出了传统gm(1,1)模型的预测值b和误差b’,基于对数变换的gm(1,1)模型的预测值c和误差c’,仅基于每月指数及对数变换的gm(1,1)模型的预测值d和误差d’,以及利用本发明进行预测的预测值e和误差e’。将各个误差绘制成如图2所示的折线图。
表2各模型预测值及误差表
结合表2和图2可以得出,传统gm(1,1)模型预测的平均误差为13.07%。基于对数变换的gm(1,1)模型预测的平均误差为13.51%。仅基于每月指数及对数变换的灰色预测模型预测的平均误差为9.80%。基于灰色预测模型与bp人工神经网络模型的月用电量预测方法预测的平均误差为5.17%。
可以看出,没有考虑一年内月用电量数据季节性变化的传统gm(1,1)模型和利用对数变换的gm(1,1)模型的预测结果都不令人满意。即使是基于每月指数及对数变换的灰色预测模型,虽然预测精度有了很大提高,但因为其模型在拟合后存在残差,极大的制约着预测精度的提高。本发明提出的gm(1,1)灰色预测模型在拟合后的残差值向量做归正化和异常数值替换处理后输入bp人工神经网络模型进行网络训练并预测残差值得残差预测值向量,最后用处理过的残差预测值向量修正gm(1,1)灰色预测模型的未来月用电量的预测值向量,结果表明预测误差得到了显著下降。
所述实施例为本发明的优选的实施方式,但本发明并不限于上述实施方式,在不背离本发明的实质内容的情况下,本领域技术人员能够做出的任何显而易见的改进、替换或变型均属于本发明的保护范围。