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

相关文章
|
14天前
|
算法
基于GA遗传优化的TSP问题最优路线规划matlab仿真
本项目使用遗传算法(GA)解决旅行商问题(TSP),目标是在访问一系列城市后返回起点的最短路径。TSP属于NP-难问题,启发式方法尤其GA在此类问题上表现出色。项目在MATLAB 2022a中实现,通过编码、初始化种群、适应度评估、选择、交叉与变异等步骤,最终展示适应度收敛曲线及最优路径。
|
15天前
|
算法 BI Serverless
基于鱼群算法的散热片形状优化matlab仿真
本研究利用浴盆曲线模拟空隙外形,并通过鱼群算法(FSA)优化浴盆曲线参数,以获得最佳孔隙度值及对应的R值。FSA通过模拟鱼群的聚群、避障和觅食行为,实现高效全局搜索。具体步骤包括初始化鱼群、计算适应度值、更新位置及判断终止条件。最终确定散热片的最佳形状参数。仿真结果显示该方法能显著提高优化效率。相关代码使用MATLAB 2022a实现。
|
15天前
|
算法 数据可视化
基于SSA奇异谱分析算法的时间序列趋势线提取matlab仿真
奇异谱分析(SSA)是一种基于奇异值分解(SVD)和轨迹矩阵的非线性、非参数时间序列分析方法,适用于提取趋势、周期性和噪声成分。本项目使用MATLAB 2022a版本实现从强干扰序列中提取趋势线,并通过可视化展示了原时间序列与提取的趋势分量。代码实现了滑动窗口下的奇异值分解和分组重构,适用于非线性和非平稳时间序列分析。此方法在气候变化、金融市场和生物医学信号处理等领域有广泛应用。
|
16天前
|
算法
基于GA遗传优化的离散交通网络双层规划模型设计matlab仿真
该程序基于GA遗传优化设计了离散交通网络的双层规划模型,以路段收费情况的优化为核心,并通过一氧化碳排放量评估环境影响。在MATLAB2022a版本中进行了验证,显示了系统总出行时间和区域排放最小化的过程。上层模型采用多目标优化策略,下层则确保总阻抗最小,实现整体最优解。
|
3天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于PSO粒子群优化的GroupCNN分组卷积网络时间序列预测算法matlab仿真
本项目展示了一种结合粒子群优化(PSO)与分组卷积神经网络(GroupCNN)的时间序列预测算法。该算法通过PSO寻找最优网络结构和超参数,提高预测准确性与效率。软件基于MATLAB 2022a,提供完整代码及详细中文注释,并附带操作步骤视频。分组卷积有效降低了计算成本,而PSO则智能调整网络参数。此方法特别适用于金融市场预测和天气预报等场景。
|
1月前
|
算法 数据可视化 调度
基于PSO粒子群优化的车间调度问题求解matlab仿真,输出甘特图
基于PSO粒子群优化的MATLAB仿真解决车间调度问题,输入机器与工作完成时间,输出甘特图与收敛图,实现多机器多任务最优并行调度。使用MATLAB 2022a版本运行,通过模拟鸟群觅食行为,不断更新粒子速度与位置寻找最优解,采用工序编码,总加工时间为适应度函数,实现快速收敛并可视化调度结果。
|
9天前
|
机器学习/深度学习 算法 数据挖掘
基于GWO灰狼优化的CNN-LSTM的时间序列回归预测matlab仿真
本项目展示了一种结合灰狼优化(GWO)与深度学习模型(CNN和LSTM)的时间序列预测方法。GWO算法高效优化模型超参数,提升预测精度。CNN提取局部特征,LSTM处理长序列依赖,共同实现准确的未来数值预测。项目包括MATLAB 2022a环境下运行的完整代码及视频教程,代码内含详细中文注释,便于理解和操作。
|
1月前
|
算法
基于GA-PSO遗传粒子群混合优化算法的CVRP问题求解matlab仿真
本文介绍了一种基于GA-PSO混合优化算法求解带容量限制的车辆路径问题(CVRP)的方法。在MATLAB2022a环境下运行,通过遗传算法的全局搜索与粒子群算法的局部优化能力互补,高效寻找最优解。程序采用自然数编码策略,通过选择、交叉、变异操作及粒子速度和位置更新,不断迭代直至满足终止条件,旨在最小化总行驶距离的同时满足客户需求和车辆载重限制。
|
1月前
|
机器学习/深度学习 算法 数据挖掘
基于WOA优化的CNN-LSTM的时间序列回归预测matlab仿真
本项目采用MATLAB 2022a实现时间序列预测,利用CNN与LSTM结合的优势,并以鲸鱼优化算法(WOA)优化模型超参数。CNN提取时间序列的局部特征,LSTM处理长期依赖关系,而WOA确保参数最优配置以提高预测准确性。完整代码附带中文注释及操作指南,运行效果无水印展示。
|
1月前
|
算法
基于多路径路由的全局感知网络流量分配优化算法matlab仿真
本文提出一种全局感知网络流量分配优化算法,针对现代网络中多路径路由的需求,旨在均衡分配流量、减轻拥塞并提升吞吐量。算法基于网络模型G(N, M),包含N节点与M连接,并考虑K种不同优先级的流量。通过迭代调整每种流量在各路径上的分配比例,依据带宽利用率um=Σ(xm,k * dk) / cm来优化网络性能,确保高优先级流量的有效传输同时最大化利用网络资源。算法设定收敛条件以避免陷入局部最优解。