【GRNN回归预测】基于matlab有限增量进化广义回归神经网络LIEV-GRNN数据回归预测【含Matlab源码 2132期】
一、GRNN模型
GRNN是一种非线性回归的前馈式神经网络。通常是由输入层、模式层、求和层和输出层构成。GRNN算法在运算速度与学习能力上比径向基函数神经网络(radial basis function, RBF)、反向传播神经网络(back propagation, BP)更强,广泛应用于系统辨识、预测、控制等领域中。
GRNN网络模型如图1所示,含有四部分:
图1 GRNN模型
(1) 输入层。
输入层作用是将样本数据传送到模式层且不运行计算,输入向量的维数为m。文中通过FA法确定在南京地区使用该模型时输入向量的维数m=7,7种数据分别为平均大气干球温度、最高大气干球温度、最低大气干球温度、平均相对湿度、平均风速、日太阳总辐射和日光伏发电量。输入向量为:
X=[x1,x2,…,xm] (6)
(2) 模式层。
模式层中含有的神经元数目和学习样本的数目相同,均为n,神经元i的传递函数为:
式中:Xi为神经元i所对应的学习样本;σ为平滑参数,将平滑参数σ代入神经网络训练过程,以Δσ的间距在[σmin,σmax]寻取最优平滑参数。
(3) 求和层。
求和层含有2种类型的神经元,分别表示如下:
式中:Yi为第i个样本观测值。
(4) 输出层。
在输出层进行如下计算:
Y=SN/SD (10)
式中:Y为具有最大概率的输出变量。
二、部分源代码
clc
clear all
close all
%%
%%
%初始化
steps=1000;
y=zeros(1,steps);
yd=y;
yg=y;
dt=0.05;
t=0;
net1=newgrnn(1,1,0.1);
%%
%%用户设置的超参数
Mse_thresold=0.001;% 开始进化的 MSE 阈值
size_limit=10;% GRNN 隐藏层的最大允许大小
%进化方法输入距离或输出距离
method=‘input_distance’;
%method=‘output_distance’;
%检查是否错误地设置了方法然后将其设置为输入
%distance 作为默认方法
if exist(‘method’,‘var’)==0
method=‘input_distance’;
end
%%
%添加一些噪音
load noise
%%
%%主循环
for k=2:steps
yd(k)=0.2*sin(0.5*t)+0.5*sin(0.3*t);
% noise(k)=0.05*randn;
sig(k)=var(mat2gray(yd));%%估计西格玛
%%基准系统
y(k+1)=y(k)*y(k-1)*(2.5+y(k-1))/(1+y(k).^2+y(k-1).^2)+2*(exp(-yd(k))-1/(exp(-yd(k))+1))+noise(k);%example3
%%使用您拥有的当前数据预测输出
yg(k+1)=net1([yd(k)]);
%评估您当前的预测
e(k)=mse(yg(k+1),y(k+1));
%% if MSE > threshold (0.001)
if(e(k)>Mse_thresold)
%% 始终限于 size_limit 节点
if k<=size_limit
%进化 GRNN
net1=newgrnn(yd(1:k),y(1:k),sig(k));
end
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
三、运行结果
四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]卞海红,孙健硕.基于典型气象周的GRNN光伏发电量预测模型[J].电力工程技术. 2021,40(05)
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
文章来源: qq912100926.blog.csdn.net,作者:海神之光,版权归原作者所有,如需转载,请联系作者。
原文链接:qq912100926.blog.csdn.net/article/details/126961482
- 点赞
- 收藏
- 关注作者
评论(0)