时序预测 | 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

相关推荐
像风一样自由202035 分钟前
算法模型部署后_python脚本API测试指南-记录3
python·算法·支持向量机
yzx99101317 小时前
支持向量机的回归用法详解
算法·支持向量机·回归
yzx99101318 小时前
使用SVM进行图像分类
机器学习·支持向量机·分类
戌崂石1 天前
最优化方法Python计算:有约束优化应用——线性可分问题支持向量机
python·机器学习·支持向量机·最优化方法
yzx9910132 天前
支持向量机案例
算法·机器学习·支持向量机
yzx9910134 天前
支持向量机与逻辑回归的区别及 SVM 在图像分类中的应用
支持向量机·分类·逻辑回归
#guiyin114 天前
人脸真假检测:SVM 与 ResNet18 的实战对比
算法·机器学习·支持向量机
码记大虾6 天前
机器学习:支持向量机 二分类的基本思想
机器学习·支持向量机·分类
How_doyou_do7 天前
项目实战-基于信号处理与SVM机器学习的声音情感识别系统
机器学习·支持向量机·信号处理
编程有点难9 天前
Python训练打卡Day17
python·机器学习·支持向量机