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

相关推荐
roman_日积跬步-终至千里19 小时前
【计算机视觉(11)】损失函数与优化基础篇:如何训练线性分类器
机器学习·支持向量机·计算机视觉
YIFAN.WANG20 小时前
AI中的优化7-有约束非线性规划
人工智能·机器学习·支持向量机
feifeigo1232 天前
SVM分类在高光谱遥感图像分类与预测中的应用
算法·支持向量机·分类
山科智能信息处理实验室3 天前
(ICLR-2024)TIME‑LLM:基于大语言模型重编程的时间序列预测
大语言模型·时间序列预测·重编程
玦尘、3 天前
《统计学习方法》第7章——支持向量机SVM(下)【学习笔记】
机器学习·支持向量机·学习方法
fengfuyao9855 天前
基于MATLAB的支持向量机在故障诊断中的应用例程
开发语言·支持向量机·matlab
hoiii1876 天前
MATLAB实现HOG特征提取与SVM行人检测
开发语言·支持向量机·matlab
玦尘、6 天前
《统计学习方法》第7章——支持向量机SVM(上)【学习笔记】
学习·支持向量机·学习方法
fie88896 天前
基于BP神经网络和支持向量机实现风机故障诊断
人工智能·神经网络·支持向量机
qq19226386 天前
【ABS防抱死 汽车动力学 Simulink仿真模型】 可控制切换各种路面情况(干、湿、雪)和...
支持向量机