✅作者简介:热爱科研的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电子书和数学建模资料