文章概述
时序预测 | MATLAB实现WOA-CNN-GRU-Attention时间序列预测(SE注意力机制)
采用CNN提取特征向量,然后利用GRU神经网络学习特征动态变化规律进行股指预测。仿真结果表明,与GRU神经网络、长短时记忆(Long-Short-Term Memory,LSTM)神经网络和CNN相比,该模型能够挖掘历史数据中蕴含的信息,有效提高预测的准确率。
SE通道注意力机制的流程:
1、对输入的图像特征进行全部平均池化。
2、再将图像特征经过两个全连接层,第二个全连接层的神经元个数与输入特征层相同,这样也保证了图像的通道数不会改变。
3、最后使用Sigmod函数将输出限制到(0-1)之间,然后作为通道注意力机制产生的权重,跟原特征图进行相乘,获取最终的加入注意力机制的提取后的特征图。
部分代码
P_train = res(temp(1: 240), 1: 12)‘;
T_train = res(temp(1: 240), 13)’;
M = size(P_train, 2);
P_test = res(temp(241: end), 1: 12)‘;
T_test = res(temp(241: end), 13)’;
N = size(P_test, 2);
%% 数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax(‘apply’, P_test, ps_input);
t_train = ind2vec(T_train);
t_test = ind2vec(T_test );