(太原理工大学信息工程学院 山西太原 030024;山西漳泽电力物流贸易有限公司 山西太原 030006)
摘要:预测是对尚未发生的和目前还不明确的事物进行实现估计和推测,是以实现对事物将要发生的结果进行探讨的研究。神经网络早已应用于各行各业,如今电力行业的采购决策也可依靠神经网络建模得以实现,电力公司的采购量虽然看起来无章可依,实则蕴含着一定的可预测性,通过对神经网络的研究,将历史数据输入到系统中,可以很接近的预测到接下来几个月的采购量,以给领导层决策提供依据,也为企业的发展保驾护航。
关键词:预测;神经网络;电力物资;采购
根据搜集的之前9个月各单位采购量数据,如下表所示。根据对采购量的影响因素的分析,这里分别取社会用电需求量、当月实际发电量、电厂安全生产指数、各月公路运输比例,铁路运输比例、当月检修指数、供应商平均供货距离和各电厂设备损耗指数等8项指标作为影响采购量的因素,以采购预测量,公路货运量,铁路货运量作为预测的输出指标。根据这些资料,可利用神经网络对采购量进行预测。
因为BP网络具有逼近任意非线性映射的能力,所以我应用了BP网络对电力物资采购量进行预测。
1确定网络样本集
这里选取社会用电需求量、当月实际发电量、电厂安全生产指数、各月公路运输比例,铁路运输比例、当月检修指数、供应商平均供货距离和各电厂设备损耗指数等8项指标,作为网络输入的数据的8个分量;采购总量、公路货运量和铁路货运量作为网络目标数据的三个分量,如上表所示,由表可知,系统的样本对为9,分别对应表中9个月的采购量的有关数据,利用一下MATLAB程序,可产生网络样本集。
%ex1_1.m
X=[28,24,6,30%,70%,0,350,3;27,23,8,45%,55%,3,320,4;35,34,7,50%,50%,2,400,2;40,38,5,55%,45%,2,580,4;42,42,6,80%,20%,1,560,5;35,29,9,73%,27%,8,430,7;37,35,7,62%,38%,9,420,8;41,40,5,90%,10%,3,530,3;34,30,8,75%,25%,1,390,2]’;
T=[800,500,300;750,400,350;600,400,200;500,300,200;340,170,170;890,590,300; 1020,780,240; 730,540,190; 690,370,380]’;
2对网络样本集进行归一化处理
在网络训练前,需要将不在[0,1]之间的影响因子,如社会用电需求量、当月实际发电量、电厂安全生产指数、各月公路运输比例,铁路运输、当月检修指数、供应商平均供货距离和各电厂设备损耗指数,利用式2-1进行归一化处理。对于已经在[0,1]之间的影响因子,如公路运输比率和铁路运输比率,可以不用归一化处理。根据以上给定的输入数据x矩阵和期望输出t矩阵,编写MATLAB程序如下。
%ex2_1.m
a=[1 2 3 6 7 8];X=x;T=t;
for i=1:6;X(a(i)),:)=(x(a(i)),:)-min(x(a(i),:)))/(max(x(a(i),:))-min(x(a(i),:))),end
for i=1:3;T=(I,:)=(t(I,:)-min(t(I,:)))/(max(t(I,:))-min(t(I,:))),end
运行结果:
X=0.2334 ,0,0.8764,0.9415,1.0000,0.8764,0.8923,0.9875,0.8526;
0.1765,0,0.8326,0.8918,1.0000,0.3241,0.8764,0.9753,0.3790;
0.3000,0.9000,0.7000,0,0.3000,1.0000,0.7000,0,0.9000;
0.3000,0.4500,0.5000,0.5500,0.8000,0.7300,0.6200,0.9000,0.7500;
0.7000,0.5500,0.5000,0.4500,0.2000,0.2700,0.3800,0.1000,0.2500;
0,0.3200,0.2500,0.2500,0.1100,0.8700,1.0000,0.3200,0.1500;
0.7000,0.5400,0.8125,1.0000,0.9258,0.8413,0.8123,0.8865,0.7912;
0.2513,0.5000,0.2500,0.5000,0.7514,0.9514,1.0000,0.2513,0.2500;
T= 0.8254,0.7621,0.6100,0.4978,0,0.8500,1.0000,0.7562,0.7051;
0.6512,0.5215,0.5215,0.4200,0,0.8413,1.0000,0.8014,0.4025;
0.6581,0.7251,0.5100,0.5100,0,0.6518,0.6503,0.2145,1.0000;
以上运行结果矩阵X和T中值,归一化后的影响因子和目标样本,其中每一行代表一类影响因子。经过归一化后的采购量能力样本如表2-1所示。
表2-1 归一化后的采购量样本集
3网络设计和训练
将网络设计成一个二层的BP网络。编写的MATLAB程序如下。
%ex3_1.m
X1=X(:,1:8); T1=T(;,1:8);
net=newff(minmax(X1),[17 3],{‘trasig’,’logsig’},’trainlm’);
net.trainParam.epochs=1000;net.trainParam.goal=0.0001;LP.lr=0.1;
net=train(net,X1,T1);
y1=sim(net,X1)
运行以上程序可得以下结果。
y1= 0.0021,0.1525,0.2956,0.3591,0.5021,0.6254,0.7865,0.8898;
0.0009,0.1428,0.2654,0.3368,0.4985,0.6514,0.8002,0.8752;
0.0001,0.1315,0.2654,0.3925,0.5214,0.6513,0.7952,0.8751;
由此可见,网络经过8次多训练后,训练后的网络就可以正产预测了。
4网络测试
网络测试成功后,利用表2-1最后一组数据,作为网络的外推测试样本,对网络进行测试。根据以上训练好的网络net和表2-1最后一组测试样本,即最后一个月的数据,编写的MATLAB命令如下。
>>X_test=X(:,9);y_test=sim(net,X_test);
5对网络输出数据进行反归一化处理
对于在[0,1]之间的网络输出值y_test,还需要利用x=y( - )+ (式1-1)进行反归一化处理,以便将其变换到实际数据范围内。根据以上网络的输出y_test和反归一化处理式(式1-1),以及期望输出t矩阵所定义的采购量、公路货运量、铁路货运量的最大/最小值,编写MATLAB命令如下。
>>for i=1:3;Y_test(i,:)=y_test(i,:)*(max(t(i,:))-min(t(i,:)))+min(t(i,:));end;Y_test
运行结果:
Y_test= 720 330 390
由此可见,预测结果与最后一个月的实际值690,310和380相比,网络的预测结果基本正确。由于各月采购量随着检修和设备的非人为因素而变幻莫测,且这些数据同训练数据之间的距离也比较远,因此外推起来有一定的难度。此外由于训练样本容量比较小,所以预测精度不是很高。综合考虑到这些因素,以上的预测结果是可以接受的。
参考文献
[1] 网上的文献(The Cooperative Association for Internet Data Analysis(CAIDA),http://www.caida.org/data 2010,7,18)
[2] 李国勇 杨丽娟.神经•模糊•预测控制及其MATLAB实现(第三版).2015.电子工业出版社
[3] 刘豹,胡代平.神经网络在预测中的一些应用研究.1998
[4] 段向军.基于神经网络的预测控制方法研究.2005
[5] 吴岸城. 神经网络与深度学习.2016.电子工业出版社
[6] 闻新. 应用MATLAB实现神经网络.2015.国防工业出版社
论文作者:李哲昊
论文发表刊物:《电力设备》2018年第17期
论文发表时间:2018/11/11
标签:神经网络论文; 网络论文; 采购论文; 样本论文; 货运量论文; 数据论文; 当月论文; 《电力设备》2018年第17期论文;