【SVM预测】基于松鼠算法优化支持向量机SVM实现数据预测附matlab代码

网友投稿 462 2022-09-05


【SVM预测】基于松鼠算法优化支持向量机SVM实现数据预测附matlab代码

1 简介

提出一种基于松鼠算法(SSA)和支持向量机(SVM)的股价预测方法.针对SVM预测模型参数难以确定的问题,采用SSA算法对SVM中惩罚因子及核函数参数进行优化,构建SSA-SVM股价预测模型。

2 部分代码

clc;clear all;close all;[f p]=uigetfile('*');X=importdata([p f]);data=X.data;data2=data(:,1:end-1);class=data(:,end);data1=knnimpute(data2);%%%%%%%%Feature selection FSL=0;FSU=1;D=size(data1,2);for i=1:10FS(i,:)=FSL+randi([0 1],[1 D])*(FSU-FSL);tryfit(i)=fitness(data1,class,FS(i,:));catch fit(i)=1; continue;endendind=find(fit==min(fit));FSnew=FS(ind,:);pdp=0.1;row=1.204;V=5.25;S=0.0154;cd=0.6;CL=0.7;hg=1;sf=18;Gc=1.9;D1=1/(2*row*V.^2*S*cd);L=1/(2*row*V.^2*S*CL);tanpi=D1/L;dg=hg/(tanpi*sf);aa=randi([1 length(ind)]);iter=1;maxiter=2;while(iter=pdp) FS(i,:)=round(FS(i,:)+(dg*Gc*abs(FSnew(1,:)-FS(i,:))));else FS(i,:)=FSL+randi([0 1],[1 D])*(FSU-FSL);endFh=FS;fit1(i)=fitness(data1,class,FS(i,:));ind1=find(fit1==min(fit1));FSnew1=FS(ind1,:);if(rand>pdp) FS(i,:)=round(FS(i,:)+(dg*Gc*abs(FSnew(aa,:)-FS(i,:))));else FS(i,:)=FSL+randi([0 1],[1 D])*(FSU-FSL);endFa=FS;fit2(i)=fitness(data1,class,FS(i,:));ind2=find(fit2==min(fit2));FSnew2=FS(ind2,:);endSc=sqrt(sum(abs(Fh-Fa)).^2);Smin=(10*exp(-6))/(365).^(iter/(maxiter/2.5));if(Sc

3 仿真结果

4 参考文献

[1]顾嘉运, 刘晋飞, 陈明. 基于SVM的大样本数据回归预测改进算法[J]. 计算机工程, 2014, 40(1):6.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:windows下的python环境安装python-alipay-sdk报错:Microsoft Visual C++ 14.0 is required
下一篇:Java Spring AOP源码解析之事务实现原理
相关文章

 发表评论

暂时没有评论,来抢沙发吧~