• 基于时空RBF-NN的混沌时间序列预测(Matlab代码实现)


    💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥

    🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

    ⛳️座右铭:行百里者,半于九十。

    目录

    💥1 概述

    📚2 运行结果

    🎉3 参考文献

    🌈4 Matlab代码实现

    💥1 概述

    本文中用于混沌时间序列预测任务的径向基函数神经网络(RBF-NN)的两种变体。特别是,用传统实现了RBF,并将性能与时空RBF-NN进行了Mackey-Glass时间序列预测。

    📚2 运行结果

    Mackey_Glass_Time_Series_Prediction_ST_RBF :

     

     

     

    Mackey_Glass_Time_Series_Prediction_RBF :

    部分代码:

    clc
    clear all
    close all

    ST_RBF = load('ST_RBF.mat');
    RBF = load('RBF.mat');

    %%  Results
    % Input and output signals (training phase)
    figure
    plot(ST_RBF.indt,ST_RBF.f_train,'k','linewidth',ST_RBF.lw);
    hold on;
    % plot(RBF.indt,RBF.f_train,'r','linewidth',RBF.lw);
    plot(RBF.indt,RBF.y_train,'.:b','linewidth',RBF.lw);
    plot(ST_RBF.indt,ST_RBF.y_train,'--r','linewidth',ST_RBF.lw);
    xlim([ST_RBF.start_of_series_tr+ST_RBF.time_steps ST_RBF.end_of_series_tr]);
    h=legend('Actual Value (Training)','RBF Predicted (Training)','ST-RBF Predicted (Training)','Location','Best');
    grid minor
    xlabel('Sample #','FontSize',ST_RBF.fsize);
    ylabel('Magnitude','FontSize',ST_RBF.fsize);
    set(h,'FontSize',12)
    set(gca,'FontSize',13)
    saveas(gcf,strcat('Time_SeriesTraining.png'),'png')

    % Input and output signals (test phase)
    figure
    plot(ST_RBF.indts,ST_RBF.f_test,'k','linewidth',ST_RBF.lw);
    hold on;
    plot(RBF.indts,RBF.y_test,'.:b','linewidth',RBF.lw);
    plot(ST_RBF.indts,ST_RBF.y_test,'--r','linewidth',ST_RBF.lw);
    xlim([ST_RBF.start_of_series_ts+ST_RBF.time_steps ST_RBF.end_of_series_ts]);
    h=legend('Actual Value (Testing)','RBF Predicted (Testing)','ST-RBF Predicted (Testing)','Location','Best');
    grid minor
    xlabel('Sample #','FontSize',ST_RBF.fsize);
    ylabel('Magnitude','FontSize',ST_RBF.fsize);
    set(h,'FontSize',12)
    set(gca,'FontSize',13)
    saveas(gcf,strcat('Time_SeriesTesting.png'),'png')

    % Objective function (MSE) (training phase)
    figure
    plot(RBF.start_of_series_tr:RBF.end_of_series_tr-1,10*log10(RBF.I(1:RBF.end_of_series_tr-RBF.start_of_series_tr)),'+-b','linewidth',RBF.lw)
    hold on
    plot(ST_RBF.start_of_series_tr:ST_RBF.end_of_series_tr-1,10*log10(ST_RBF.I(1:ST_RBF.end_of_series_tr-ST_RBF.start_of_series_tr)),'+-r','linewidth',ST_RBF.lw)
    h=legend('RBF (Training)','ST-RBF (Training)','Location','North');
    grid minor
    xlabel('Sample #','FontSize',ST_RBF.fsize);
    ylabel('MSE (dB)','FontSize',ST_RBF.fsize);
    set(h,'FontSize',12)
    set(gca,'FontSize',13)
    saveas(gcf,strcat('Time_SeriesTrainingMSE.png'),'png')

    % Objective function (MSE) (test phase)
    figure
    plot(RBF.start_of_series_ts+RBF.time_steps:RBF.end_of_series_ts,10*log10(RBF.I(RBF.end_of_series_tr-RBF.start_of_series_tr+1:end)),'.:b','linewidth',RBF.lw+1)
    hold on
    plot(ST_RBF.start_of_series_ts+ST_RBF.time_steps:ST_RBF.end_of_series_ts,10*log10(ST_RBF.I(ST_RBF.end_of_series_tr-ST_RBF.start_of_series_tr+1:end)),'.:r','linewidth',ST_RBF.lw+1)
    h=legend('RBF (Testing)','ST-RBF (Testing)','Location','South');
    grid minor
    xlabel('Sample #','FontSize',ST_RBF.fsize);
    ylabel('MSE (dB)','FontSize',ST_RBF.fsize);
    set(h,'FontSize',12)
    set(gca,'FontSize',13)
    saveas(gcf,strcat('Time_SeriesTestingMSE.png'),'png')


    % Mean square error
    [[10*log10(((RBF.f_train'-RBF.y_train)*(RBF.f_train'-RBF.y_train)')/length(RBF.y_train)) ...
    10*log10(((RBF.f_test'-RBF.y_test)*(RBF.f_test'-RBF.y_test)')/length(RBF.y_test))];
    [10*log10(((ST_RBF.f_train'-ST_RBF.y_train)*(ST_RBF.f_train'-ST_RBF.y_train)')/length(ST_RBF.y_train)) ...
    10*log10(((ST_RBF.f_test'-ST_RBF.y_test)*(ST_RBF.f_test'-ST_RBF.y_test)')/length(ST_RBF.y_test))]]

     

    🎉3 参考文献

    [1]Sadiq, Alishba, et al. “Chaotic Time Series Prediction using Spatio-Temporal RBF Neural Networks.” 2018 3rd {IEEE} International Conference on Emerging Trends in Engineering, Sciences and Technology ({ICEEST}), {IEEE}, 2018

    🌈4 Matlab代码实现

  • 相关阅读:
    利用Pairwise算法自动生成测试用例的
    民安智库(北京第三方窗口测评)参展商满意度问卷如何设计
    java学习记录
    为什么在做微服务设计的时候一定需要DDD?
    Java 新手如何使用Spring MVC RestAPI的加密
    连续数字阶乘求和
    java计算机毕业设计基于安卓Android/微信小程序的智能停车场管理系统APP
    Nature、science、cell旗下刊物
    棒球俱乐部青少年成长体系·棒球1号位
    UG\NX二次开发 分享“一键清除高亮工具”的源代码
  • 原文地址:https://blog.csdn.net/weixin_46039719/article/details/127723075