基于时空RBF-NN的混沌时间序列预测(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代码实现
相关文章
- matlab 使用点云创建数字地面模型DSM
- LSTM对比Bi-LSTM的电力负荷时间序列预测(Matlab)
- 基于粒子群优化算法的无人机路径规划与轨迹算法的实现(Matlab代码实现)
- 用于非线性时间序列预测的稀疏局部线性和邻域嵌入(Matlab代码实现)
- 基于人工大猩猩部队优化CNN-LSTM(GTO-CNN-LSTM)多变量时间序列预测(Matlab代码实现)
- SCN时间序列预测模型详解(Matlab代码实现)
- 利用深度学习生成数据的时间序列预测(Matlab代码实现)
- LSTM对比Bi-LSTM的电力负荷时间序列预测(Matlab)
- 模拟不同MIMO-OFDM方案的MATLAB代码(Matlab代码实现)
- 脉冲信号研究(matlab代码实现)
- 【MATLAB】matlab实现最大熵法图像分割程序
- matlab快速入门(25):匿名函数+主函数子函数
- 基于LSTM深度学习网络的疾病发作检测算法matlab仿真
- 【语音编码】基于matlab ADPCM编解码(Matlab代码实现)
- 时间序列预测--基于CNN的股价预测(Matlab代码实现)
- 基于EKF的四旋翼无人机姿态估计matlab仿真
- 基于二维切片图序列的三维立体建模MATLAB仿真
- Matlab使用笔记(三):matlab设置代码自动补全功能