论文范例1(下)

发布时间 : 星期五 文章论文范例1(下)更新完毕开始阅读

哈尔滨工业大学成人教育学院本科毕业论文(设计) 第5章 短期负荷预测的BP神经网络模型设计

5.1预测模型结构择定

BP网络是系统预测中应用特别广泛的一种网络形式,本文就是采用BP网络对负荷值进行预报,本例中采用单隐层的BP网络实现,输入向量有4个元素,所以网络输入层的神经元个数4个,根据第三章中介绍的KOLMOGOROV定理,可知网络中间层的神经元可取9个,输出值即是该预测点的负荷值,所以输出层神经元有1个即可。网络中间层的神经元传递函数可用S型正切函数TANSIG,输出层神经元传递函数采用S型对数函数LOGSIG。其网络结构如下:

隐含层 输入层 输出层 输入量输出值 网络训练函数一般有TRAINLM,TRAINBFG 和TRAINRP,BP网络训练函数的默认值为TRAINLM,该算法具有非常快的训练速度,但它会占有很大的内存,TRAINBFG训练速度稍慢些,但是会更有效地使用

9

图5-1 4-9-1 BP神经网络结构图

哈尔滨工业大学成人教育学院本科毕业论文(设计) 内存。TRAINRP的训练速度比TRAINBFG再慢一些,但是能更有效地使用内存。此例中选用TRAINBFG作为训练函数。

此外,训练目标,性能函数,学习速率,训练步数以及显示间隔可依据具体情况自行设定。

5.2 利用MATLAB语言程序的实现

下面单就讨论每周星期一的程序实现,其余工作日情况可以类推。 以前十一周以及当前周每个星期一各测量点的负荷值为样本数据,前七个作为训练数据对,后四个作为测试数据对。经对实际问题的量化分析和模型处理,统计的样本数据如下表所示(已进行归一化处理): 样本日期 前十一周 0.2452 0.1466 0.1314 0.2243 0.5523 0.6642 0.7015 0.6981 0.6821 0.6945 0.7549 0.8215 电力负荷 气象特征 前十周 0.2217 0.1581 0.1408 0.2304 0.5134 0.5312 0.6819 0.7125 0.7265 0.2415 0.6847 0.7826 0.8325 0.3027 0 前九周 0.2525 0.1627 0.1507 0.2406 0.5502 0.5636 0.7051 0.7352 0.7459 0.2385 0.7015 0.8064 0.8156 0.3125 0 前八周 0.2016 0.1105 0.1234 0.1978 0.5021 0.5232 0.6819 0.6952 0.7015 0.2216 0.6825 0.7825 0.7895 0.2701 1 前七周 0.2115 0.1201 0.1312 0.2019 0.5532 0.5736 0.7029 0.7032 0.7189 0.2352 0.7019 0.7965 0.8025 0.2506 0.5 前六周 0.2335 0.1322 0.1534 0.2214 0.5623 0.5827 0.7198 0.7276 0.7359 0.2542 0.7506 0.8092 0.8221 0.3125 0 前五周 0.2368 0.1432 0.1653 0.2205 0.5823 0.5971 0.7136 0.7129 0.7263 0.2601 0.7153 0.8091 0.8217 10

0.3198 0 哈尔滨工业大学成人教育学院本科毕业论文(设计) 前四周 0.2342 0.1368 0.1602 0.2131 0.5726 0.5822 0.7101 0.7098 0.7127 0.2579

0.7121 0.7995 0.8126

0.3099 0

前三周 0.2113 0.1212 0.1305 0.1819 0.4952 0.5312 0.6886 0.6898 0.6999 0.2301

0.7323 0.7721 0.7956

0.2867 0.5

前二周 0.2005 0.1121 0.1207 0.1605 0.4556 0.5022 0.6553 0.6673 0.6798 0.2234

0.7023 0.7521 0.7756

0.2799 1

前一周 0.2123 0.1257 0.1343 0.2079 0.5579 0.5716 0.7059 0.7145 0.7205 0.2314

0.7401 0.8019 0.8136

0.2977 0

0.2119 0.1215 0.1621 0.2161 0.6171 0.6159 0.7155 0.7201 0.7243 0.2317 0.7298 0.8179 0.8229

0.2936 0

表5-2 用电负荷及气象特征

依照上述提供数据,以星期一上午十点时刻的预测模型为例,其实现程序如下(其余工作日、其他时刻点的预测程序类似):

P=[0.2452 0.2415 0.3027 0;0.2217 0.2385 0.3125 0;0.2525 0.2216 0.2701 1;0.2016 0.2352 0.2506 0.5;0.2115 0.2542 0.3125 0;0.2335 0.2601 0.3198 0;0.2368 0.2579 0.3099 0;]';

T=[0.2217;0.2525;0.2016;0.2115;0.2335;0.2368;0.2342;]'; %训练样本对,对数为7

threshold=[0 1;0 1;0 1;0 1]; %限定输入范围,R*2维矩阵 net=newff(threshold,[9,1],{'tansig','logsig'},'trainbfg'); %构建网络,默认学习算法learngdm,误差性能mse,并默认进行初始化 net.trainParam.epochs=1000; %训练步数

net.trainParam.goal=0.0001; %训练目标,还可设定net.trainParam.show 多少轮回显示一次

LP.lr=0.05; %学习速度,等同于net.trainParam.Lr=0.05;若训练函数traingda 变学习速度算法,则net.trainparam.lr-inc=1.05% 训练速度增加系数

net=train(net,P,T); % 训练网络,返回tr,网络训练记录 %pause

P_test=[0.2005 0.2314 0.2977 0;0.2123 0.2317 0.2936 0;0.2342

11

哈尔滨工业大学成人教育学院本科毕业论文(设计) 0.2301 0.2067 0.5;0.2113 0.2234 0.2799 1]'; %测试样本对输入,4对

Outp=sim(net,P_test);

X_test=[0.2123 0.2119 0.2113 0.2005]; %测试集输出 %plot(1:4,X_test-Outp); %绘制误差曲线

%[m,b,r]=postreg(Outp,X_test) %训练结果分析 gensim(net,-1); %将网络模型化

%pause

weights1=net.IW{1,1} %显示权值和阈值 bias1=net.b{1} w=net.IW{2,1} bias2=net.b{2}

备注:本例中给出的样本数据是已经归一化后的,若在实际应用中采集的数据样本是实际负荷值,未归一化,程序中还应加入对数据进行归一化和反归一化的处理语句: 归一化: for i=1:7

p(i,:)=(p(i,:)-min(p(i,:)))/(max(p(i,:))-min(p(i,:))) end 反归一化:

t(1,:)=Y*(max(t(1,:))-min(t(1,:)))+ min(t(1,:))

5.3 网络结构模型化

对于在MATLAB工作空间中建立的网络,使用函数GENSIM生成一个相应的SIMULINK网络模块。其外部物理结构、内部网络构成以及相应的权值和阈值均可视化。

其内部结构可以分层显示,逐层分析。 图5-3为整体的网络模型化:

12

联系合同范文客服:xxxxx#qq.com(#替换为@)