1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【预测模型】基于Elman神经网络预测电力负荷matlab代码

【预测模型】基于Elman神经网络预测电力负荷matlab代码

时间:2024-05-01 20:15:30

相关推荐

【预测模型】基于Elman神经网络预测电力负荷matlab代码

​1 简介

为提高甘肃电网负荷预测精度,提出了一种基于神经网络的负荷预测方法.针对甘肃电力系统负荷数据的非线性和动态特性,在多层前向BP网络中引入特殊关联层,形成有"记忆"能力的Elman神经网络,从而可以映射系统的非线性和动态特性.在网络训练算法中,采用自适应学习速率动量梯度下降反向传播算法,显著提高了网络的训练速率,有效地抑制了网络陷入局部极小点.文中分别采用El-man神经网络与BP神经网络建立模型,对甘肃电网实际历史数据进行仿真预测,经分析比较,证明前者具有收敛速度快,预测精度高的特点.这表明利用Elman回归神经网络建模对甘肃电网负荷进行预测是可行的,能有效提高负荷预测精度,在负荷预测领域有着较好的应用前景.

Elman 型回归神经元网络一般分为四层 :输入 层、 中间层(隐含层)、 承接层和输出层, 如图 3 所 示。其输入层、 隐含层和输出层的连接类似于前馈 网络 , 输入层的单元仅起信号传输作用, 输出层单 元起线性加权作用。隐含层单元的传递函数可采用 线性或非线性函数, 承接层又称为上下文层或状态 层, 它用来记忆隐含层单元前一时刻的输出值, 可 以认为是一个一步延时算子。 Elman 回归神经元网络的特点是隐含层的输出 通过承接层的延迟与存储, 自联到隐含层的输入, 这种自联方式使其对历史状态的数据具有敏感性, 内部反馈网络的加入增加了网络本身处理动态信息 的能力 , 从而达 到了 动态建 模的 目的 。此 外, Elman回归神经网络能够以任意精度逼近任意非线 性映射, 可以不考虑外部噪声对系统影响的具体形 式, 如果给出系统的输入输出数据对 , 就可以对系统进行建模 。

2 部分代码

%% 基于Elman神经网络的电力负荷预测模型研究%% 清空环境变量clc;clearallcloseallnntwarnoff;%% 数据载入loaddata;a=data;%% 选取训练数据和测试数据fori=1:6p(i,:)=[a(i,:),a(i+1,:),a(i+2,:)];end% 训练数据输入p_train=p(1:5,:);% 训练数据输出t_train=a(4:8,:);% 测试数据输入p_test=p(6,:);% 测试数据输出t_test=a(9,:);% 为适应网络结构 做转置p_train=p_train';t_train=t_train';p_test=p_test';%% 网络的建立和训练% 利用循环,设置不同的隐藏层神经元个数nn=[7111418];fori=1:4threshold=[01;01;01;01;01;01;01;01;01];% 建立Elman神经网络 隐藏层为nn(i)个神经元net=newelm(threshold,[nn(i),3],{'tansig','purelin'});% 设置网络训练参数net.trainparam.epochs=1000;net.trainparam.show=20;% 初始化网络net=init(net);% Elman网络训练net=train(net,p_train,t_train);% 预测数据y=sim(net,p_test);% 计算误差error(i,:)=y'-t_test;end%% 通过作图 观察不同隐藏层神经元个数时,网络的预测效果plot(1:1:3,error(1,:),'-ro','linewidth',2);holdon;plot(1:1:3,error(2,:),'b:x','linewidth',2);holdon;plot(1:1:3,error(3,:),'k-.s','linewidth',2);holdon;plot(1:1:3,error(4,:),'c--d','linewidth',2);title('Elman预测误差图')set(gca,'Xtick',[1:3])legend('7','11','14','18','location','best')xlabel('时间点')ylabel('误差')holdoff;

3 仿真结果

4 参考文献

[1]芮执元, 任丽娜, and 冯瑞成. "基于Elman神经网络的甘肃电网负荷预测模型." 现代电力 24.2():4.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。