时序预测 | MATLAB实现贝叶斯优化CNN-LSTM时间序列预测(股票价格预测)

简介: 时序预测 | MATLAB实现贝叶斯优化CNN-LSTM时间序列预测(股票价格预测)

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机 电力系统

⛄ 内容介绍

针对股票价格预测中深度学习算法参数优化效率低,预测准确率差等问题,在长短期记忆网络算法(LSTM)的基础上提出一种基于贝叶斯优化的CNN-LSTM算法.利用CNN提取特征,利用长短期记忆网络对股票数据进行时间序列预测,并运用贝叶斯优化算法对长短期记忆网络的超参数进行迭代优化.利用公开数据集对算法进行验证,结果表明,相较于其他算法,优化后的算法在优化参数,提高预测准确率方面有明显改善,在股票时间序列预测的实证性研究中表明,比传统BP模型在预测精度上提高12.81%.

⛄ 部分代码

%% ---------------------------- Local Functions ---------------------------

function data = loadData1(opt)

[chosenfile,chosendirectory] = uigetfile({'*.xlsx';'*.csv'},...

   'Select Excel time series Data sets','data.xlsx');

filePath = [chosendirectory chosenfile];

if filePath ~= 0

   data.DataFileName = chosenfile;

   data.CompleteData = readtable(filePath);

   if size(data.CompleteData,2)>1

       warning('Input data should be an excel file with only one column!');

       disp('Operation Failed... '); pause(.9);

       disp('Reloading data. ');     pause(.9);

       data.x = [];

       data.isDataRead = false;

       return;

   end

   data.seriesdataHeder = data.CompleteData.Properties.VariableNames(1,:);

   data.seriesdata = table2array(data.CompleteData(:,:));

   disp('Input data successfully read.');

   data.isDataRead = true;

   data.seriesdata = PreInput(data.seriesdata);

   

   figure('Name','InputData','NumberTitle','off');

   plot(data.seriesdata); grid minor;

   title({['Mean = ' num2str(mean(data.seriesdata)) ', STD = ' num2str(std(data.seriesdata)) ];});

   if strcmpi(opt.dataPreprocessMode,'None')

       data.x = data.seriesdata;

   elseif strcmpi(opt.dataPreprocessMode,'Data Normalization')

       data.x = DataNormalization(data.seriesdata);

       figure('Name','NormilizedInputData','NumberTitle','off');

       plot(data.x); grid minor;

       title({['Mean = ' num2str(mean(data.x)) ', STD = ' num2str(std(data.x)) ];});

   elseif strcmpi(opt.dataPreprocessMode,'Data Standardization')

       data.x = DataStandardization(data.seriesdata);

       figure('Name','NormilizedInputData','NumberTitle','off');

       plot(data.x); grid minor;

       title({['Mean = ' num2str(mean(data.x)) ', STD = ' num2str(std(data.x)) ];});

   end

   

else

   warning(['In order to train network, please load data.' ...

       'Input data should be an excel file with only one column!']);

   disp('Operation Cancel.');

   data.isDataRead = false;

end

end

⛄ 运行结果

⛄ 参考文献

[1]刘恒, 侯越. 贝叶斯神经网络在股票时间序列预测中的应用[J]. 计算机工程与应用, 2019, 55(12):6.

[2]张其霄, 董鹏, 王科文,等. 基于贝叶斯优化LSTM的发动机剩余寿命预测[J]. 火力与指挥控制, 2022(004):047.

⛄ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关文章
|
10天前
|
存储 传感器 分布式计算
针对大尺度L1范数优化问题的MATLAB工具箱推荐与实现
针对大尺度L1范数优化问题的MATLAB工具箱推荐与实现
|
10天前
|
机器学习/深度学习 数据采集 测试技术
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
|
10天前
|
机器学习/深度学习 供应链 算法
【电动车】基于削峰填谷的电动汽车多目标优化调度策略研究(Matlab代码实现)
【电动车】基于削峰填谷的电动汽车多目标优化调度策略研究(Matlab代码实现)
|
10天前
|
机器学习/深度学习 算法 新能源
基于动态非合作博弈的大规模电动汽车实时优化调度电动汽车决策研究(Matlab代码实现)
基于动态非合作博弈的大规模电动汽车实时优化调度电动汽车决策研究(Matlab代码实现)
|
10天前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
|
10天前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
|
10天前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
|
10天前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
|
10天前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
|
10天前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)

热门文章

最新文章

下一篇
开通oss服务