【MATLAB第43期】基于MATLAB的BO-NAR贝叶斯优化动态神经网络NAR时间序列股票预测模型

2023-11-19

【MATLAB第43期】基于MATLAB的BO-NAR贝叶斯优化动态神经网络NAR时间序列股票预测模型

一、效果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

二、模型介绍

1.数据情况

一列数据,499个值

ratio = 0.9;% 训练集比例
MaxEpochs = 600;% 最大训练次数 
% % 导入股票数据
xall= importdata('数据.xlsx');

2.优化参数

**贝叶斯优化7个超参数:

学习率
训练目标函数
动量值
归一方式
滑动窗口值
隐含层1神经元数
隐含层2神经元数**

适应度函数: mae

3.贝叶斯结构参数

贝叶斯参数:

'MaxTime',10*60*60, ...%10*60*60  训练最大时间
'Verbose',1,...
'NumSeedPoints',info(1),...%初始评估点数
'MaxObjectiveEvaluations',100,...%迭代次数
'ExplorationRatio',0.7,...%搜索倾向概率

4.NAR参数:

 net.trainParam.epochs = MaxEpochs ; % 600
        net.trainParam.goal = 1e-6;   %训练目标值
         net.trainParam.max_fail = 30; % 最大失败次数
               net.divideParam.trainRatio = 0.7;训练集划分
        net.divideParam.valRatio = 0.15;:验证集划分
        net.divideParam.testRatio = 0.15;%测试集划分

三、代码展示

clear all
ratio = 0.9;% 训练集比例
MaxEpochs = 600;% 最大训练次数 
NetOption = 'NarNet';% NET网络

% % 导入股票数据
xall= importdata('数据.xlsx');
Date=datetime(xall.textdata)';
data= xall.data';

numStepsTraining = round(ratio*numel(data));
indexTrain = 1:numStepsTraining;
dataTrain = data(indexTrain );
dateTrain = Date(indexTrain);

indexTest = numStepsTraining+1:size(data,2);
dataTest = data(indexTest);
dateTest = Date(indexTest);

 
    optimVars = [
        optimizableVariable('learningrate',[1e-5 1e-2],'Type','real','Transform',"log")
        optimizableVariable('performFcn',{'mse' 'mae' 'sse' 'msesparse'},'Type','categorical')
        optimizableVariable('mc',[5e-1 0.99],'Type','real',"Transform","log")
        optimizableVariable('processFcns',{'mapminmax' 'mapstd'},'Type','categorical')
        optimizableVariable('Lag',[5 20],'Type','integer')
        optimizableVariable('hiddenLayerSize1',[7 25],'Type','integer')
        optimizableVariable('hiddenLayerSize2',[7 25],'Type','integer')];

  
    BayesObject = bayesopt(ObjFcnSN,optimVars, ...
        'MaxTime',10*60*60, ...%10*60*60  训练最大时间
        'Verbose',1,...
        'NumSeedPoints',info(1),...%初始评估点数
        'MaxObjectiveEvaluations',100,...%迭代次数
        'ExplorationRatio',0.7,...%搜索倾向概率
  

    % 得到最佳参数
    optVars = bestPoint(BayesObject),
   

四、代码获取

后台**私信回复“43期”**即可获取下载链接

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

【MATLAB第43期】基于MATLAB的BO-NAR贝叶斯优化动态神经网络NAR时间序列股票预测模型 的相关文章

随机推荐

  • python中permute_PyTorch中permute的用法详解

    permute dims 将tensor的维度换位 参数 参数是一系列的整数 代表原来张量的维度 比如三维就有0 1 2这些dimension 例 import torch import numpy as np a np array 1 2
  • js-ajax

    一 ajax Asynchronous Javasript And Xml 通过Ajax向服务器请求数据 在不刷新整个页面的情况下 更新页面的内容 二 Ajax的创建 三步走 1 创建XMLHttpRequest对象 用来和服务器进行数据交
  • hdu1827Summer Holiday【tarjan强连通分量解决最小联系费用】

    1A 撒花 这比买买买开心多了 思路 既然是强连通分量的题 很容易想到形成的东西是一坨一坨的 哈哈 然后如果某一坨入度为0 那么很不幸 这一坨只能直接被威士忌通知 至于具体通知这一坨中的哪一个 枚举一遍就知道了 最后把话费求和 感觉强连通分
  • python程序运行提示Process finished with exit code -1073741819 (0xC0000005),程序终止运行...

    这个错误代码是表示程序运行时发生了访问冲突 通常是由于程序尝试访问不属于它的内存空间导致的 这可能是由于程序代码本身存在 bug 也可能是因为计算机环境问题造成的 为了解决这个问题 需要调查程序的代码 找出导致访问冲突的原因 然后修改代码以
  • 笔试题目收集(3)

    笔试题目搜集系列推荐 1 笔试题目搜集1 2 笔试题目收集2 3 笔试题目搜集3 4 笔试题目搜集4 5 笔试题目搜集5 1 下列程序输出结果 typedef union long i int k 5 char c DATE struct
  • 使用R语言进行数据对象获取的mget函数实战

    使用R语言进行数据对象获取的mget函数实战 在R语言中 我们经常需要获取由多个数据对象组成的列表 为了高效地获取这些对象 R提供了一个非常方便的函数 即mget函数 mget函数可以根据给定的对象名称 在当前环境中查找并返回相应的数据对象
  • 多类别属性预测深度架构GlideNet

    将属性 如颜色 形状 状态 动作 附加到对象类别是一个重要的计算机视觉问题 属性预测最近取得了令人振奋的进展 通常被表述为一个多标签分类问题 然而 在以下方面仍然存在重大挑战 1 预测多个对象类别上的大量属性 2 建模属性的类别依赖性 3
  • java pager,Pager 分页设计

    分页是非常基础又重复度高的功能 不论是前台 后台 或是手机版都有分页的需求 这里介绍Pager及相关代码 Pager是分页数据的封装 必要时需要与其他分页对象适配 PageObject Pageable等 详见PagerUtil publi
  • IO输入溢出(转载+整理)

    gets 防止缓冲区溢出 描述了高水平的缓冲区溢出攻击 以及讨论了为什么缓冲区溢出是如此严重的安全性问题 本专栏文章的主题是 通过防御性编程保护代码不受缓冲区溢出攻击 我们将论及 C编程语言中的主要安全性陷阱 显示应该避免特殊构造的原因 以
  • Bad owner or permissions on /root/.ssh/config

    vmware centos 部署 hadoop集群 启动hadoop节点 报错Bad owner or permissions on root ssh config 原因 SSH关于公钥认证Permission denied的问题 不能直接
  • 安装好后如何查看mysql/apache/nginx/php安装参数

    查看mysql编译参数 cat usr local mysql bin mysqlbug grep CONFIGURE LINE 查看apache编译参数 cat apachehome build config nice 查看php编译参数
  • 《机器学习》二刷超详细笔记

    博主在4月学完西瓜书时 一头雾水 觉得还是一知半解 9月开学后上完了必修的 machine learning 课程 并且自己编程实现了多种机器学习算法和论文复现后 才对机器学习有一点了解 现在再次翻阅西瓜书 很多知识点看到都豁然开朗 所以出
  • Debian 某些程序无法使用中文输入法设置方法

    debian系统下发现某些程序不能写入中文 下面是我解决的方法 sudo apt get install fcitx frontend qt5 1 我们可以通过在命令行下输入 dpkg L fcitx frontend qt5 1 修改配置
  • 如何解决apt-get中Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify的问题

    在Ubuntu中用apt get安装软件 系统报出Unmet dependencies错误 Unmet dependencies Try apt fix broken install with no packages or specify
  • 【Python-Anaconda】在anaconda中创建、激活虚拟环境;在anaconda中所创建的虚拟环境中安装OpenCv;如何在jupter notebook中使用所创建的虚拟环境

    一 在anaconda中创建虚拟环境 1 为什么要创建虚拟环境 答 为了避免库依赖冲突 所以在安装pytorch tensflow等时最好创建虚拟环境进行安装 2 创建虚拟环境步骤 1 打开anaconda prompt 输入如下代码 co
  • 基于AJAX技术提高搜索引擎排名

    描述 嵌入在你的web页面中的导航元素能够降低你的搜索引擎评价排名并且降低你的网站的响应性能 本文作者想同你一起探讨如何使用AJAX技术来解决这两个问题 许多设计良好的web站点都包含大量的与实际内容相联系的可导航信息 用于导航的HTML标
  • 【C++】抽象类

    2023年8月25日 周五上午 目录 声明抽象类 抽象类的特点 举例说明 声明抽象类 要在C 中声明一个抽象类 要求类中至少有一个纯虚函数 在C 中 一个类如果包含至少一个纯虚函数 那么这个类就被称为抽象类 总结起来 抽象类是一个包含至少一
  • 了解如何在20分钟内创建您的第一个Angular应用

    Angular is a JavaScript framework created my Misko Hevery and maintained by Google It s an MVC Model View Vontroller You
  • Verilog实现两路组相联cache

    cache代码 timescale 1ns 1ps cache共32块 分为16组 每组2块 即两路组相联 1块 4字 1字 4字节 主存共1024块 4096个字 主存地址共12位 1 0 为块内偏移 5 2 为组地址 11 6 为Tag
  • 【MATLAB第43期】基于MATLAB的BO-NAR贝叶斯优化动态神经网络NAR时间序列股票预测模型

    MATLAB第43期 基于MATLAB的BO NAR贝叶斯优化动态神经网络NAR时间序列股票预测模型 一 效果展示 二 模型介绍 1 数据情况 一列数据 499个值 ratio 0 9 训练集比例 MaxEpochs 600 最大训练次数