• 【预测模型-GRNN预测】基于有限增量进化广义回归神经网络LIEV-GRNN实现数据回归预测附matlab代码


    1 内容介绍

    ​在本文中,基于有限增量进化和基于距离的剪枝对在线模型动态系统开发了一种进化一般回归神经网络。此外,建议使用基于方差的方法来调整 GRNN 中的平滑参数以适应在线应用。将所提出的模型与不同类型的动态神经网络进行了比较。比较中使用了具有高斯白噪声的非线性基准测试动态离散系统。在预测误差和适应所需时间方面对结果进行了比较,比较结果表明,所提出的模型比任何其他模型都更准确、更快。

    2 部分代码

    clc

    clear all

    close all

    %%

    %please cite the paper https://doi.org/10.1109/SSCI.2018.8628909

    %%

    %initilaization

    steps=1000;

    y=zeros(1,steps);

    yd=y;

    yg=y;

    dt=0.05;

    t=0;

    net1=newgrnn(1,1,0.1);

    %%

    %%hyper-parameters set by the user

    Mse_thresold=0.001;% the MSE threshold to start the evolution

    size_limit=10;% the maximum allowed size of GRNN's hidden layer

            % plot(e_b_pruning(1:k));

        end

        

        

        tt(k+1)=t;

        

        yg(k+1)=net1([yd(k)]);

        e(k)=mse(yg(k+1),y(k+1));

        t=t+dt;

    end

    %%

    %Visualization part

    figure(1)

    plot(tt,yg,'-.','LineWidth',1.5);

    hold on

    plot(tt,y,'LineWidth',1.5);

    legend('Estimated output','Actual output');

    xlabel('Times(sec)');

    ylabel('y');

    title('LEIV-GRNN');

    set(gca,'fontsize',15)

    figure(2)

    plot(tt(2:end),sig,'LineWidth',1.5);

    xlabel('Times(sec)');

    ylabel('\sigma');

    title('Sigma \sigma adapation');

    set(gca,'fontsize',15)

    figure(3)

    plot(tt(2:end),e,'LineWidth',2);

    xlabel('Times(sec)');

    ylabel('MSE');

    title('MSE limited Incremmental evolution of GRNN');

    set(gca,'fontsize',15)

    ylim([-1 8]);

    figure(4)

    plot(tt(2:end),noise,'LineWidth',1.5);

    xlabel('Times(sec)');

    ylabel('Noise');

    title('Gaussian noise with zero mean');

    set(gca,'fontsize',15)

    RMSE=sqrt(mse(y,yg));

    function netn = d_ev_in(net1,yd,y)

    % input distance evolution

    din=dist(net1.IW{1},yd);

    [~,dd2]=max(din);

    net1.IW{1}(dd2)=yd;

    net1.LW{2,1}(dd2)=y;

    netn=net1;

    end

    function netn = d_ev_out(net1,yd,y)

    % output distance evolution

    dout=dist(net1.LW{2,1},y);

    [~,dd3]=max(dout);

    net1.IW{1}(dd3)=yd;

    net1.LW{2,1}(dd3)=y;

    netn=net1;

    end

    3 运行结果

    4 参考文献

    [1]谷志红, 牛东晓, 王会青. 广义回归神经网络模型在短期电力负荷预测中的应用研究[J]. 中国电力, 2006, 39(004):11-14.

    [2]陈其红, 阚树林, 秦臻. 基于广义回归神经网络(GRNN)的设备可靠性预测[C]// 2011年全国机械行业可靠性技术学术交流会暨第四届可靠性工程分会第三次全体委员大会论文集. 中国机械工程学会, 2011.

    博主简介:擅长智能优化算法神经网络预测信号处理元胞自动机图像处理路径规划无人机雷达通信无线传感器等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

    部分理论引用网络文献,若有侵权联系博主删除。

  • 相关阅读:
    【LeetCode 每日一题】15. 三数之和
    对象临时中间状态的条件竞争覆盖
    【Nginx30】Nginx学习:代理模块(四)响应头与SSL
    SpringBoot@Profile详解
    算法记录 & 牛客网 & leetcode刷题记录
    如何自定义代码生成器(下)
    AI-“国外一开源,国内就创新”!
    批量xls转换为xlsx
    跨境电商源码独立开发:一次购买,终生使用
    【老生谈算法】matlab实现数字水印算法——数字水印算法
  • 原文地址:https://blog.csdn.net/matlab_dingdang/article/details/126759191