时序预测

2023-11-01

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

效果一览

1
2

基本描述

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

程序设计

  • 完整源码和数据获取方式:私信回复MATLAB实现DBN-SVM深度置信网络结合支持向量机时间序列预测(多指标评价)
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  清空环境变量
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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

时序预测 的相关文章

  • 支持向量机内核类型

    支持向量机中常用的核函数是线性 径向基函数和多项式 有人可以用简单的方式解释一下这个内核函数是什么吗 由于我是这个领域的新手 我不清楚这些内核类型的重要性是什么 让我们从头开始 支持向量机是一种线性模型 它总是寻找一个超平面来将一个类与另一
  • svmtrain 和 fitcsvm 之间的区别

    我有一组由 35 个特征列表组成的数据 我注意到当我将数据提供给svmtrain我收到消息 no convergence achieved within maximum number of iterations 比 当我增加迭代次数时 Ma
  • 如何使用libsvm进行文本分类?

    我想用 SVM 编写一个垃圾邮件过滤器程序 我选择 libsvm 作为工具 我收到了 1000 封好指甲和 1000 封垃圾邮件 然后我将它们分类为 700 封 good train 邮件 700 封 spam train 邮件300 封
  • Libsvm 中的决策值

    我是 SVM 新手 我使用 Libsvm for Matlab 在预测阶段之后我得到了一个决策值数组 根据 SVM 理论 每个测试记录 z 被指定为正 如果 f z 1 其中 f z 定义为 f z 符号 w z b 那么如何将实例 z 的
  • 手动计算SVM的决策函数

    我正在尝试使用Python库SKLearn手动计算SVC分类器的decision function 而不是使用内置方法 我已经尝试了几种方法 但是 当我don t扩展我的数据 z是一个测试数据 已缩放 我认为其他变量本身就说明了问题 另外
  • 根据精度、召回率、f1 分数计算准确度 - scikit-learn

    我犯了一个巨大的错误 我将 scikit learn svm 准确度的输出打印为 str metrics classification report trainExpected trainPredict digits 6 现在我需要根据以下
  • R SVM alpha 系数

    我正在尝试从 PMML 文件在 R 中重新创建 SVM 对象 但无法理解 R 如何存储 alpha 系数 我目前正在 iris 数据集上测试它 并使用以下命令生成了一个 R SVM 对象 library e1071 data iris mo
  • 在 OpenCV 上使用 SVM 训练图像

    我正在尝试对图像进行分类 下一步我将根据特征进行分类 但现在只想尝试我是否做得对 这是我的代码 include
  • Scikit - SVM 的 3D 特征数组

    我正在尝试在 scikit 中训练 SVM 我正在遵循该示例并尝试将其调整为我的 3d 特征向量 我尝试了页面中的示例http scikit learn org stable modules svm html http scikit lea
  • OpenCV中基于HOG特征的SVM分类器用于“对象检测”

    我有一个项目 我想检测图像中的物体 我的目标是使用 HOG 功能 通过使用 OpenCV SVM 实现 我可以找到用于检测人的代码 并且我阅读了一些关于调整参数以检测对象而不是人的论文 不幸的是 由于一些原因我无法做到这一点 首先 我可能错
  • MATLAB 中 10 重 SVM 分类的示例

    我需要一个描述性示例来展示如何对两类数据集进行 10 倍 SVM 分类 MATLAB 文档中只有一个示例 但不是 10 倍 有人能帮我吗 这是一个完整的示例 使用生物信息学工具箱中的以下函数 SVMTRAIN http www mathwo
  • Python OpenCV SVM 实现

    因此 我有一个包含样本图像的矩阵 全部转换为向量 该矩阵通过 PCA LDA 运行 还有一个向量表示每个图像所属的类 现在我想使用 OpenCV SVM 类来训练我的 SVM 我使用的是 Python OpenCV 2 3 1 但我在定义参
  • R SVM 对于缺失数据的预测返回 NA

    我尝试使用 e1071 包中经过训练的 SVM 进行预测 但我的数据包含一些缺失值 NA 当该实例有任何缺失值时 我希望返回的预测为 NA 我尝试使用 na action na pass 如下 但它给了我一个错误 名称错误 ret2 如果我
  • 在 Matlab 中使用 svmtrain 内存不足

    我有一组数据正在尝试使用 SVM 来学习 对于上下文 数据的维数为 35 包含大约 30 000 个数据点 我之前用这个数据集在 Matlab 中训练过决策树 大约花了 20 秒 由于对错误率不太满意 我决定尝试 SVM 我第一次尝试svm
  • 测试示例集属性应等于训练示例集 Rapidminer SVM 的 OR 超集

    I am new to Rapid Miner and using SVM Linear in it My model is as I made Training Example set which consist of 3552 exam
  • 让SVM在Python中运行得更快

    使用code下面是 python 中的 svm from sklearn import datasets from sklearn multiclass import OneVsRestClassifier from sklearn svm
  • 如何解释R中SVM的预测结果?

    我是 R 新手 我正在使用e1071R 中的 SVM 分类包 我使用了以下代码 data lt loadNumerical model lt svm data ncol data data ncol data gamma 10 print
  • 将 OneClassSVM 与 GridSearchCV 结合使用

    我正在尝试在 OneClassSVM 上执行 GridSearchCV 函数 但我似乎无法找到 OCSVM 的正确评分方法 根据我收集的信息 像 OneClassSVM score 这样的东西不存在 因此 GridSearchCV 中没有所
  • 选择 c 和 gamma 值

    您好 我正在使用 SMO 执行 SVM 分类 其中我的内核是 RBF 现在我想选择c and sigma值 使用网格搜索和交叉验证 我是内核函数的新手 请帮助 一步一步的过程 选择一些您认为有趣的 C 和 sigma 值 例如 C 1 10
  • 如何加速 svm.predict?

    我正在编写一个滑动窗口来提取特征并将其输入到 CvSVM 的预测函数中 然而 我偶然发现 svm predict 函数相对较慢 基本上 窗口以固定的步幅长度在图像比例上滑动穿过图像 遍历图像加上提取每个图像特征的速度 窗口大约需要 1000

随机推荐

  • Python之callable

    callable object return True if the object argument appears callable False if not 可以检查一个对象是否是可调用的 无论是直接调用或是通过apply 对于函数 方
  • 2023上岸华为od~经验分享

    说说我感觉中的华为OD吧 华为OD的面试流程包括机试 性格测试 HR面试 技术一面 技术二面和主管面试 我是一名非计算机专业 非应届生的211本科生 曾尝试跨考计算机但失败了 然而 我学习过 计算机组成原理 数据结构 操作系统 和 计算机网
  • numpy学习笔记

    1 numpy概述 1 Numerical Python 数值的Python 补充了Python语言所欠缺的数值计算能力 2 是其他数据分析及机器学习库的底层库 3 完全标准C语言实现 运行效率充分优化 4 开源免费2 numpy的核心 多
  • TDH中的Transporter

    本文主要介绍Transwarp的etl工具 Transporter 本文依托于星环的官方文档 通过一个简单的实例来让大家熟悉Transporter的使用 关注专栏 Transwarp系列 了解更多Transwarp的技术知识 目录 一 Tr
  • 【Qt】富文本处理简单介绍

    文章目录 Qt富文本处理 富文本文档结构 文本块QTextBlock 表格 列表 图片 查找功能 语法高亮与HTML 参考 Qt Creator快速入门 第三版 Qt富文本处理 富文本Rich Text 简单说就是在文档中可以使用多种格式
  • 基于javaweb+mysql的汽车租赁系统(java+SSM+JSP+LayUI+echarts+mysql)

    ssm汽车租赁系统 carRental 系统概要 汽车租赁系统总共分为两个大的模块 分别是系统模块和业务模块 其中系统模块和业务模块底下又有其子模块 功能模块 一 业务模块 1 客户管理 客户列表 客户分页和模糊查询 客户添加 修改 删除
  • 人工蜂群算法(ABC算法)

    为了解决多变量函数优化问题Karaboga在2005年提出了人工蜂群算法ABC模型 1 蜜蜂采蜜机理 蜜蜂是一种群居昆虫 虽然单个昆虫的行为极其简单 但是由单个简单的个体所组成的群体却表现出极其复杂的行为 真实的蜜蜂种群能够在任何环境下 以
  • WSL 2 installation is incomplete.【BUG解决】【Docker之云原生基石】

    问题描述 本文解决俩个Docker报错 分别是 1 WSL 2 installation is incomplete 2 System InvalidOperationException Failed to set version to d
  • STM32F103驱动DHT11温湿度传感器(STM32MXcube,HAL)

    第一步 配置STM32MXbube S1 配置时钟模式为外部高速晶振 外部低速晶振 可选 S2 配置下载方式为SW ST LINK S3 配置定时器 用于延时us级别函数 S4 配置串口 用于输出数据 S5 配置GPIO S6 配置总线频率
  • python3: error while loading shared libraries: libpython3.7m.so.1.0: cannot open shared object file

    报错详情 python3 error while loading shared libraries libpython3 7m so 1 0 cannot open shared object file No such file or di
  • maven 多模块模板

    1 建立模板项目 settings demo core settings src main java com test core resources test java resources demo db settings src main
  • 前端基础5——UI框架Layui

    文章目录 一 基本使用 二 管理后台布局 2 1 导航栏 2 2 主题颜色 2 3 字体图标 三 栅格系统 四 卡片面板 五 面包屑 六 按钮 七 表单 八 上传文件 九 数据表格 9 1 table模块常用参数 9 2 创建表格 9 3
  • 用pyecharts画一个饼图

    pyecharts是一款Python的图表库 可以用来绘制各种类型的图表 包括饼图 下面是一个简单的例子 展示如何使用pyecharts来画一个饼图 首先 需要安装pyecharts pip install pyecharts i http
  • PAT乙级 1001 害死人不偿命的(3n+1)猜想 (15分)

    PAT乙级 1001 害死人不偿命的 3n 1 猜想 15分 卡拉兹 Callatz 猜想 对任何一个正整数 n 如果它是偶数 那么把它砍掉一半 如果它是奇数 那么把 3n 1 砍掉一半 这样一直反复砍下去 最后一定在某一步得到 n 1 卡
  • 由“智障”到“智能”到未来,从汽车AI语音交互看语言交互技术高山在哪?

    文 胡杨 胡皓 来源 智能相对论 ID aixdlun 今天天气怎么样 今日是晴天 气温17到22度 东北风3到4级 那周五呢 周五距今天还有2天 重复唤醒 答非所问 这不是人工智能 是 人工智障智障 这是大部分智能网联汽车用户对语音交互的
  • Hbase split的三种方式和split的过程

    Hbase split的三种方式和split的过程 在Hbase中split是一个很重要的功能 Hbase是通过把数据分配到一定数量的region来达到负载均衡的 一个table会被分配到一个或多个region中 这些region会被分配到
  • 基于Springboot + Mybatis-plus事务管理

    事务 事务就是为了保证多次数据库操作的原子性 举个简单的例子 买商品第一步要扣钱 第二步要扣库存 如果没有事务 一旦第一步与第二步之间出现了异常 那么钱是扣了 库存却没变 这显然不符合业务场景 要么都成功要嘛都失败 开启事务 在Spring
  • springboot和mybatis的整合—黑马上课学习笔记

    web开发的基础 运用的是BS架构 这种架构是一种浏览器 服务器模式 客户端只需要浏览器 而数据存储和逻辑都在服务端 HTTP协议 是一种超文本传输协议 规定了浏览器和服务器之间的规则 Web服务器 负责解析HTTP协议 解析请求数据 并发
  • python123.io---英文单词个数统计

    英文单词个数统计 类型 Python 函数和代码复用 给出一个字符串 s 内容参见 编程模板 请统计并打印字符串 s 中出现单词的个数 示例1
  • 时序预测

    时序预测 MATLAB实现DBN SVM深度置信网络结合支持向量机时间序列预测 多指标评价 目录 时序预测 MATLAB实现DBN SVM深度置信网络结合支持向量机时间序列预测 多指标评价 效果一览 基本描述 程序设计 参考资料 效果一览