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

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

【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期”**即可获取下载链接

相关文章
|
5月前
|
传感器 算法 安全
基于分布式模型预测控制DMPC的单向拓扑结构下异构车辆车队研究(Matlab代码实现)
基于分布式模型预测控制DMPC的单向拓扑结构下异构车辆车队研究(Matlab代码实现)
173 4
|
5月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
361 2
|
5月前
|
传感器 机器学习/深度学习 编解码
【电缆】中压电缆局部放电的传输模型研究(Matlab代码实现)
【电缆】中压电缆局部放电的传输模型研究(Matlab代码实现)
169 3
|
4月前
|
机器学习/深度学习 数据采集 存储
概率神经网络的分类预测--基于PNN的变压器故障诊断(Matlab代码实现)
概率神经网络的分类预测--基于PNN的变压器故障诊断(Matlab代码实现)
431 0
|
5月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于WOA鲸鱼优化的XGBoost序列预测算法matlab仿真
基于WOA优化XGBoost的序列预测算法,利用鲸鱼优化算法自动寻优超参数,提升预测精度。结合MATLAB实现,适用于金融、气象等领域,具有较强非线性拟合能力,实验结果表明该方法显著优于传统模型。(238字)
|
5月前
|
传感器 资源调度 算法
基于无迹卡尔曼滤波(UKF)与模型预测控制(MPC)的多无人机避撞研究(Matlab代码实现)
基于无迹卡尔曼滤波(UKF)与模型预测控制(MPC)的多无人机避撞研究(Matlab代码实现)
260 1
|
5月前
|
机器学习/深度学习 数据采集 传感器
【WOA-CNN-LSTM】基于鲸鱼算法优化深度学习预测模型的超参数研究(Matlab代码实现)
【WOA-CNN-LSTM】基于鲸鱼算法优化深度学习预测模型的超参数研究(Matlab代码实现)
342 0
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
316 17
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
254 10
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。

热门文章

最新文章