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

相关文章
|
12天前
|
算法 调度
基于遗传模拟退火混合优化算法的车间作业最优调度matlab仿真,输出甘特图
车间作业调度问题(JSSP)通过遗传算法(GA)和模拟退火算法(SA)优化多个作业在并行工作中心上的加工顺序和时间,以最小化总完成时间和机器闲置时间。MATLAB2022a版本运行测试,展示了有效性和可行性。核心程序采用作业列表表示法,结合遗传操作和模拟退火过程,提高算法性能。
|
17天前
|
机器学习/深度学习 算法 调度
基于ACO蚁群优化的VRPSD问题求解matlab仿真,输出规划路径结果和满载率
基于ACO蚁群优化的VRPSD问题求解MATLAB仿真,输出ACO优化的收敛曲线、规划路径结果及每条路径的满载率。在MATLAB2022a版本中运行,展示了优化过程和最终路径规划结果。核心程序通过迭代搜索最优路径,更新信息素矩阵,确保找到满足客户需求且总行程成本最小的车辆调度方案。
|
23天前
|
人工智能 算法 数据安全/隐私保护
基于遗传优化的SVD水印嵌入提取算法matlab仿真
该算法基于遗传优化的SVD水印嵌入与提取技术,通过遗传算法优化水印嵌入参数,提高水印的鲁棒性和隐蔽性。在MATLAB2022a环境下测试,展示了优化前后的性能对比及不同干扰下的水印提取效果。核心程序实现了SVD分解、遗传算法流程及其参数优化,有效提升了水印技术的应用价值。
|
26天前
|
机器学习/深度学习 算法 调度
基于ACO蚁群优化的VRPSD问题求解matlab仿真,输出规划路径结果和满载率
该程序基于ACO蚁群优化算法解决VRPSD问题,使用MATLAB2022a实现,输出优化收敛曲线及路径规划结果。ACO通过模拟蚂蚁寻找食物的行为,利用信息素和启发式信息指导搜索,有效求解带时间窗约束的车辆路径问题,最小化总行程成本。
|
24天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化CNN-LSTM网络的数据分类识别算法matlab仿真
本项目展示了基于贝叶斯优化(BO)的CNN-LSTM网络在数据分类中的应用。通过MATLAB 2022a实现,优化前后效果对比明显。核心代码附带中文注释和操作视频,涵盖BO、CNN、LSTM理论,特别是BO优化CNN-LSTM网络的batchsize和学习率,显著提升模型性能。
|
5月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】26.卷积神经网络之AlexNet模型介绍及其Pytorch实现【含完整代码】
【从零开始学习深度学习】26.卷积神经网络之AlexNet模型介绍及其Pytorch实现【含完整代码】
|
5月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】
|
3月前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch代码实现神经网络
这段代码示例展示了如何在PyTorch中构建一个基础的卷积神经网络(CNN)。该网络包括两个卷积层,分别用于提取图像特征,每个卷积层后跟一个池化层以降低空间维度;之后是三个全连接层,用于分类输出。此结构适用于图像识别任务,并可根据具体应用调整参数与层数。
|
3月前
|
机器学习/深度学习 数据可视化 Python
如何可视化神经网络的神经元节点之间的连接?附有Python预处理代码
该博客展示了如何通过Python预处理神经网络权重矩阵并将其导出为表格,然后使用Chiplot网站来可视化神经网络的神经元节点之间的连接。
56 0
如何可视化神经网络的神经元节点之间的连接?附有Python预处理代码
|
3月前
|
机器学习/深度学习 Linux TensorFlow
【Tensorflow+keras】用代码给神经网络结构绘图
文章提供了使用TensorFlow和Keras来绘制神经网络结构图的方法,并给出了具体的代码示例。
55 0