MATLAB实现CNN-SVM卷积支持向量机时间序列预测

简介: MATLAB实现CNN-SVM卷积支持向量机时间序列预测

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

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

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

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

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

⛄ 内容介绍

一种基于CNN和SVM的股价预测方法.包括采集多源数据,通过多源数据提取股价因子,将提取出来的股价因子样本数据进行量化处理,对股价因子进行评价筛选,构建股价波动模型,先利用卷积神经网络CNN对历史股价数据进行特征提取,再利用支持向量机SVM对提取出的特征进行易发性预测,对股价波动模型进行精度评价,输出最终的股价预测图.

⛄ 部分代码

% 支持向量机用于收盘价预测,首先是未优化的,其次是优化后的

%% 清空环境

tic;clc;clear;close all;format compact

%% 加载数据

data=xlsread('EUA五分钟.xlsx','G2:G30763');

save data data

load data

% 归一化

[a,inputns]=mapminmax(data',0,1);%归一化函数要求输入为行向量

data_trans=data_process(5,a);%% 对时间序列预测建立滚动序列,即用1到m个数据预测第m+1个数据,然后用2到m+1个数据预测第m+2个数据

input=data_trans(:,1:end-1);

output=data_trans(:,end);

%% 数据集 前75%训练 后25%预测

m=round(size(data_trans,1)*0.75);

Pn_train=input(1:m,:);

Tn_train=output(1:m,:);

Pn_test=input(m+1:end,:);

Tn_test=output(m+1:end,:);


%% 1.没有优化的SVM

bestc=0.001;bestg=10;%c和g随机赋值 表示没有优化的SVM

t=0;%t=0为线性核函数,1-多项式。2rbf核函数

cmd = ['-s 3 -t ',num2str(t),' -c ', num2str(bestc),' -g ',num2str(bestg),' -p 0.01 -d 1'];  

figure

plot(predict0,'r-')

hold on;grid on

plot(T_test,'b-')

xlabel('样本编号')

ylabel('收盘价/元')

if t==0

   title('线性核SVM预测')

elseif t==1

   title('多项式核SVM预测')

else

   title('RBF核SVM预测')

end

legend('实际输出','期望输出')

figure

error_svm=abs(predict0-T_test)./T_test*100;%测试集每个样本的相对误差

plot(error_svm,'r-*')

xlabel('样本编号')

ylabel('收盘价相对误差/%')

if t==0

   title('线性核SVM预测的误差')

elseif t==1

   title('多项式核SVM预测的误差')

else

   title('RBF核SVM预测的误差')

end

grid on

error_svm=abs(predict0-T_test)./T_test*100;%测试集每个样本的相对误差

plot(error_svm,'r-*')

xlabel('样本编号')

ylabel('收盘价相对误差/%')

if t==0

   title('线性核SVM预测的误差')

elseif t==1

   title('多项式核SVM预测的误差')

else

   title('RBF核SVM预测的误差')

end

grid on

error_svm=abs(predict0-T_test)./T_test*100;%测试集每个样本的相对误差

plot(error_svm,'r-*')

xlabel('样本编号')

ylabel('收盘价相对误差/%')

if t==0

   title('线性核SVM预测的误差')

elseif t==1

   title('多项式核SVM预测的误差')

else

   title('RBF核SVM预测的误差')

end

grid on

img =gcf;  %获取当前画图的句柄

print(img, '-dpng', '-r600', './img4.png')           %即可得到对应格式和期望dpi的图像

figure

error_svm=abs(predict0-T_test)./T_test*100;%测试集每个样本的相对误差

plot(error_svm,'r-*')

xlabel('样本编号')

ylabel('收盘价相对误差/%')

if t==0

   title('线性核SVM预测的误差')

elseif t==1

   title('多项式核SVM预测的误差')


disp('优化前的均方误差')

mse_svm=mse(predict0-T_test)

disp('优化前的平均相对误差')

mre_svm=sum(abs(predict0-T_test)./T_test)/length(T_test)

disp('优化前的平均绝对误差')

abs_svm=mean(abs(predict0-T_test))

disp('优化前的归一化均方误差')

a=sum((predict0-T_test).^2)/length(T_test);

b=sum((predict0-mean(predict0)).^2)/(length(T_test)-1);

one_svm=a/b

toc %结束计时

⛄ 运行结果

⛄ 参考文献

[1]杨培. 基于支持向量机的金融时序数据预测算法研究[D]. 合肥工业大学, 2013.

[2]马永杰, 马芸婷, and 陈佳辉. "结合卷积神经网络多层特征和支持向量机的车辆识别." 激光与光电子学进展 56.14(2019):7.

[3]王毅, and 方志策. "一种基于CNN和SVM的洪水灾害易发性预测方法.", CN111079999A. 2020.

⛳️ 完整代码

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


相关文章
|
6月前
|
机器学习/深度学习 算法 数据挖掘
基于WOA鲸鱼优化的BiLSTM双向长短期记忆网络序列预测算法matlab仿真,对比BiLSTM和LSTM
本项目基于MATLAB 2022a/2024b实现,采用WOA优化的BiLSTM算法进行序列预测。核心代码包含完整中文注释与操作视频,展示从参数优化到模型训练、预测的全流程。BiLSTM通过前向与后向LSTM结合,有效捕捉序列前后文信息,解决传统RNN梯度消失问题。WOA优化超参数(如学习率、隐藏层神经元数),提升模型性能,避免局部最优解。附有运行效果图预览,最终输出预测值与实际值对比,RMSE评估精度。适合研究时序数据分析与深度学习优化的开发者参考。
|
6月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA遗传优化的BiLSTM双向长短期记忆网络序列预测算法matlab仿真,对比BiLSTM和LSTM
本内容包含基于BiLSTM与遗传算法(GA)的算法介绍及实现。算法通过MATLAB2022a/2024b运行,核心为优化BiLSTM超参数(如学习率、神经元数量),提升预测性能。LSTM解决传统RNN梯度问题,捕捉长期依赖;BiLSTM双向处理序列,融合前文后文信息,适合全局信息任务。附完整代码(含注释)、操作视频及无水印运行效果预览,适用于股票预测等场景,精度优于单向LSTM。
|
3月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于WOA鲸鱼优化的XGBoost序列预测算法matlab仿真
基于WOA优化XGBoost的序列预测算法,利用鲸鱼优化算法自动寻优超参数,提升预测精度。结合MATLAB实现,适用于金融、气象等领域,具有较强非线性拟合能力,实验结果表明该方法显著优于传统模型。(238字)
|
4月前
|
机器学习/深度学习 调度 Python
【电力系统】基于 Sobol 低差异序列的光伏不确定性-电压稳定联合评估研究(Matlab代码实现)
【电力系统】基于 Sobol 低差异序列的光伏不确定性-电压稳定联合评估研究(Matlab代码实现)
142 4
|
6月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于PSO粒子群优化的BiLSTM双向长短期记忆网络序列预测算法matlab仿真,对比BiLSTM和LSTM
本项目基于MATLAB2022a/2024b开发,结合粒子群优化(PSO)算法与双向长短期记忆网络(BiLSTM),用于优化序列预测任务中的模型参数。核心代码包含详细中文注释及操作视频,涵盖遗传算法优化过程、BiLSTM网络构建、训练及预测分析。通过PSO优化BiLSTM的超参数(如学习率、隐藏层神经元数等),显著提升模型捕捉长期依赖关系和上下文信息的能力,适用于气象、交通流量等场景。附有运行效果图预览,展示适应度值、RMSE变化及预测结果对比,验证方法有效性。
|
6月前
|
算法 数据安全/隐私保护
基于混沌序列和小波变换层次化编码的遥感图像加密算法matlab仿真
本项目实现了一种基于小波变换层次化编码的遥感图像加密算法,并通过MATLAB2022A进行仿真测试。算法对遥感图像进行小波变换后,利用Logistic混沌映射分别对LL、LH、HL和HH子带加密,完成图像的置乱与扩散处理。核心程序展示了图像灰度化、加密及直方图分析过程,最终验证加密图像的相关性、熵和解密后图像质量等性能指标。通过实验结果(附图展示),证明了该算法在图像安全性与可恢复性方面的有效性。
|
6月前
|
机器学习/深度学习 数据采集 算法
基于GWO灰狼优化的BiLSTM双向长短期记忆网络序列预测算法matlab仿真,对比BiLSTM和LSTM
本项目基于Matlab 2022a/2024b实现,结合灰狼优化(GWO)算法与双向长短期记忆网络(BiLSTM),用于序列预测任务。核心代码包含数据预处理、种群初始化、适应度计算及参数优化等步骤,完整版附带中文注释与操作视频。BiLSTM通过前向与后向处理捕捉序列上下文信息,GWO优化其参数以提升预测性能。效果图展示训练过程与预测结果,适用于气象、交通等领域。LSTM结构含输入门、遗忘门与输出门,解决传统RNN梯度问题,而BiLSTM进一步增强上下文理解能力。
|
2月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
316 0
|
2月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
147 0
|
2月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
121 0

热门文章

最新文章