目录
💥1 概述
📚2 运行结果
🎉3 参考文献
👨💻4 Matlab代码
💥1 概述
CNN是一种人工神经网络,CNN的结构可以分为3层:
-
卷积层(Convolutional Layer) - 主要作用是提取特征。
-
池化层(Max Pooling Layer) - 主要作用是下采样(downsampling),却不会损
-
坏识别结果。
-
全连接层(Fully Connected Layer) - 主要作用是分类。
我们可以拿人类来做类比,比如你现在看到小鸟,人类如何识别它就是鸟的呢?首先你判断鸟的嘴是尖的,全身有羽毛和翅膀,有尾巴。然后通过这些联系起来判断这是一只鸟。而CNN的原理也类似,通过卷积层来查找特征,然后通过全连接层来做分类判断这是一只鸟,而池化层则是为了让训练的参数更少,在保持采样不变的情况下,忽略掉一些信息。
使用CNN来处理时间序列数据产生的预测值总体来说还行,但与真实值存在一定出入。对于股票来说,影响股价波动因素繁多,单单从历史股价进行预测未来股价是不足够的,这也符合弱式有效市场假说,即技术分析失败;另一方面,本次实验采用的网络结构较简单,采用更强大的网络进行回归预测任务则会得到更好的效果。
📚2 运行结果
主函数部分代码:
% rbf_stockpredict.m
%% 清除工作空间中的变量和图形
clear,clc
close all
load elm_stock
%% ????
t1 = 1 : 280;
%t1 = t1';
ty = zeros(1,280);
for i=1:280
ty(1,i) = price(i);
end
%% ????
t = 1:57;
%t = t';
y = zeros(1,57);
for i=1:57
y(1,i) = price(i+280);
end
%% ???????
net = newrb(t1, ty);
%% ????
testy = sim(net, t);
%% ??
figure('Name', '???');
plot(t, y, 'b-');
hold on;
plot(t, testy, 'r--');
legend('initial data','RBF prediction');
title('RBF prediction');
hold off
grid on
🎉3 参考文献
[1]刘天阳.基于注意力机制的CNN-LSTM模型股价趋势预测[J].科技资讯,2022,20(23):1-5.DOI:10.16661/j.cnki.1672-3791.2205-5042-2715.