基于卷积神经网络-长短期记忆网络结合注意力机制(CNN-LSTM-Attention)回归预测,多变量输入模型。matlab代码,2020版本及以上。评价指标包括:R2、MAE、MSE、RMSE和

 

%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行
%%  导入数据
P_train = xlsread('data','training set','B2:G191')';
T_train= xlsread('data','training set','H2:H191')';
% 测试集——44个样本
P_test=xlsread('data','test set','B2:G45')';
T_test=xlsread('data','test set','H2:H45')';

%%  数据分析
outdim = 1;                                  % 最后一列为输出
f_ = size(P_train, 1);                  % 输入特征维度
%%  得到训练集和测试样本个数
M = size(P_train, 2);
N = size(P_test , 2);
%%  数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);

[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax('apply', T_test, ps_output);

%%  数据平铺
%   将数据平铺成1维数据只是一种处理方式
%   也可以平铺成2维数据,以及3维数据,需要修改对应模型结构
%   但是应该始终和输入层数据结构保持一致
p_train =  double(reshape(p_train, f_, 1, 1, M));
p_test  =  double(reshape(p_test , f_, 1, 1, N));
t_train =  double(t_train)';
t_test  =  double(t_test )';

%%  数据格式转换
for i = 1 : M
    Lp_train{i, 1} = p_train(:, :, 1, i);
end

for i = 1 : N
    Lp_test{i, 1}  = p_test( :, :, 1, i);
end
    
%%  建立模型
lgraph = layerGraph();                                                 % 建立空白网络结构

tempLayers = [
    sequenceInputLayer([f_, 1, 1], "Name", "sequence")                 % 建立输入层,输入数据结构为[f_, 1, 1]
    sequenceFoldingLayer("Name", "seqfold")];                          % 建立序列折叠层
lgraph = addLayers(lgraph, tempLayers);                                % 将上述网络结构加入空白结构中

智能算法及其模型预测

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
### 回答1: 使用卷积神经网络-长短期记忆网络(bi-lstm)-注意力机制对股票收盘价进行回归预测是一种基于深度学习的方法。该方法主要通过多层卷积神经网络提取输入数据的特征,并使用双向的长短期记忆网络来学习数据的时序信息,并通过注意力机制来自动选择对预测结果具有重要贡献的部分。 首先,卷积神经网络可以有效提取输入数据的空间特征,这对于股票收盘价预测来说很关键,因为股票市场的价格变化通常具有一定的空间相关性。通过多层卷积网络的前向传播和反向传播过程,模型可以从原始数据中提取出具有预测意义的低维特征表示。 其次,双向的长短期记忆网络可以帮助我们学习到时序信息。在股票市场中,过去一段时间的价格变动通常能够为未来提供一定的指引。LSTM网络在处理时序数据时具有优势,能够自动学习到长期依赖关系。通过双向LSTM网络结构,我们可以同时考虑历史信息和未来信息,更好地捕捉到股票价格的动态变化。 最后,注意力机制被引入用于选择对预测结果贡献最重要的部分。在股票市场中,不同的特征可能对价格的预测具有不同的重要性。通过引入注意力机制,我们可以自动学习到不同时间点或特征在预测中的贡献程度,并将更多的关注点放在对预测结果具有更大影响的部分上。 综上所述,使用卷积神经网络-长短期记忆网络(bi-lstm)-注意力机制对股票收盘价进行回归预测是一种较为有效的方法。该方法可以利用卷积网络提取空间特征,LSTM网络学习时序信息,并通过注意力机制选择重要特征,从而提高对股票收盘价的预测准确性。这种方法不仅可以应用于股票市场,还可以扩展到其他时序预测问题中。 ### 回答2: 在对股票收盘价进行回归预测时,可以采用卷积神经网络(Convolutional Neural Network, CNN)结合长短期记忆网络(Bidirectional Long Short-Term Memory, bi-LSTM)和注意力机制的方法。 首先,通过卷积神经网络对股票数据进行特征提取。卷积层可以提取出时间序列数据中的局部模式和趋势,并且具有平移不变性,能够保留数据的空间结构信息。卷积层的输出经过池化操作,进一步减少参数数量,并提取出更加重要的特征。 接下来,通过双向LSTM模型对经过卷积特征提取的序列数据进行处理。LSTM模型可以捕捉到序列数据中的长期依赖关系,并能够记忆之前的状态,相比传统的循环神经网络效果更好。通过双向LSTM,可以同时考虑到当前数据点前后的信息,提升模型对时间序列数据的理解能力。 最后,引入注意力机制来加权模型对各个时间步的关注程度。注意力机制可以根据每个时间步的重要性,给予不同的权重。对于股票收盘价的回归预测模型可以更加关注重要的时间步,提高预测的准确性。 整个模型的训练过程包括特征提取、双向LSTM注意力机制的训练。在训练过程中,可以采用均方误差(Mean Squared Error, MSE)作为损失函数,通过梯度下降算法进行参数优化。 最后,在进行股票收盘价的预测时,可以将历史数据输入模型中,根据模型输出的预测结果进行回归预测。通过不断的迭代优化,可以提高模型对股票收盘价的准确预测能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机器学习-深度学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值