时序预测 | MATLAB实现DBN-SVM深度置信网络结合支持向量机时间序列预测(多指标评价)

时序预测 | MATLAB实现DBN-SVM深度置信网络结合支持向量机时间序列预测(多指标评价)

目录

    • [时序预测 | MATLAB实现DBN-SVM深度置信网络结合支持向量机时间序列预测(多指标评价)](#时序预测 | MATLAB实现DBN-SVM深度置信网络结合支持向量机时间序列预测(多指标评价))

效果一览


基本描述

MATLAB实现DBN-SVM深度置信网络结合支持向量机时间序列预测(多指标评价)

DBN是一种多层神经网络,可以通过逐层训练来提取时间序列数据的特征。用DBN模型提取时间序列数据的特征。使用支持向量机工具箱中的函数构建SVM模型。支持向量机是一种监督学习算法,可以用于分类和回归任务。使用MATLAB的支持向量机工具箱中的函数来构建SVM模型。使用SVM模型进行时间序列预测。将DBN提取的特征作为输入,使用SVM模型进行时间序列的预测。

程序设计

  • 完整源码和数据获取方式:私信回复MATLAB实现DBN-SVM深度置信网络结合支持向量机时间序列预测(多指标评价)
clike 复制代码
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  导入数据(时间序列的单列数据)
result = xlsread('data.xlsx');
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

%%  绘图
figure
plot(1: M, T_train, 'y-', 1: M, T_sim1, 'b-', 'LineWidth', 1)
legend('真实值','预测值')
xlabel('预测样本')
ylabel('预测结果')
string = {'训练集预测结果对比'; ['RMSE=' num2str(error1)]};
title(string)
xlim([1, M])
grid
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
figure
plot(1: N, T_test, 'm-', 1: N, T_sim2, 'g-', 'LineWidth', 1)
legend('真实值','预测值')
xlabel('预测样本')
ylabel('预测结果')
string = {'测试集预测结果对比';['RMSE=' num2str(error2)]};
title(string)
xlim([1, N])
grid
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  相关指标计算
%  R2
R1 = 1 - norm(T_train - T_sim1')^2 / norm(T_train - mean(T_train))^2;
R2 = 1 - norm(T_test  - T_sim2')^2 / norm(T_test  - mean(T_test ))^2;
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
disp(['训练集数据的R2为:', num2str(R1)])
disp(['测试集数据的R2为:', num2str(R2)])
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%  MAE
mae1 = sum(abs(T_sim1' - T_train)) ./ M ;
mae2 = sum(abs(T_sim2' - T_test )) ./ N ;
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
disp(['训练集数据的MAE为:', num2str(mae1)])
disp(['测试集数据的MAE为:', num2str(mae2)])
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%  MBE
mbe1 = sum(T_sim1' - T_train) ./ M ;
mbe2 = sum(T_sim2' - T_test ) ./ N ;
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
disp(['训练集数据的MBE为:', num2str(mbe1)])
disp(['测试集数据的MBE为:', num2str(mbe2)])
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

参考资料

1\] https://blog.csdn.net/kjm13182345320/article/details/129215161 \[2\] https://blog.csdn.net/kjm13182345320/article/details/128105718

相关推荐
归去_来兮13 小时前
支持向量机(SVM)分类
机器学习·支持向量机·分类
算法如诗12 天前
Stacking集成BP神经网络/RF/SVM和遗传算法的煤炭配比优化
人工智能·神经网络·支持向量机
no_work14 天前
基于传统机器学习SVM支持向量机进行分类和目标检测-视频介绍下自取
机器学习·支持向量机·分类
listhi52015 天前
基于SVM和dbs的孤岛检测算法
人工智能·机器学习·支持向量机
AI妈妈手把手15 天前
二分K-means:让聚类更高效、更精准!
机器学习·支持向量机·kmeans·聚类·聚类算法·python实现·二分k-means
简简单单做算法20 天前
基于PSO粒子群优化的VMD-LSTM时间序列预测算法matlab仿真
算法·matlab·lstm·时间序列预测·pso·vmd-lstm·pso-vmd-lstm
殇者知忧25 天前
【论文笔记】若干矿井粉尘检测算法概述
深度学习·神经网络·算法·随机森林·机器学习·支持向量机·计算机视觉
我不是小upper1 个月前
SVM超详细原理总结
人工智能·机器学习·支持向量机
白杆杆红伞伞1 个月前
10_聚类
机器学习·支持向量机·聚类