【SVM预测】基于郊狼算法改进SVM实现数据回归预测附matlab代码
【SVM预测】基于郊狼算法改进SVM实现数据回归预测附matlab代码
TT_Matlab
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。
1 简介
提出一种基于郊狼优化算法(COA)和支持向量机(SVM)的股价预测方法.针对SVM预测模型参数难以确定的问题,采用COA算法对SVM中惩罚因子及核函数参数进行优化,构建COA-SVM股价预测模型。
支持向量机是利用已知数据类别的样本为训练样本,寻找同类数据的空间聚集特征,从而对测试样本进行分类验证,通过验证可将分类错误的数据进行更正。本文以体检数据为数据背景,首先通过利用因子分析将高维数据进行降维,由此将所有指标整合成几个综合性指标;为降低指标之间的衡量标准所引起的误差,本文利用 MATLAB软件将数据进行归一化处理,结合聚类分析将数据分类;最后本文利用最小二乘支持向量机分类算法进行分类验证,从而计算出数据分类的准确率,并验证了数据分类的准确性和合理性。
2 部分代码
function [fbst, xbst, performance] = hho( objective, d, lmt, n, T, S)
%Harris hawks optimization algorithm
% inputs:
% objective - function handle, the objective function
% d -
scalar
, dimension of the optimization problem
% lmt - d-by-
2
matrix, lower
and
upper constraints of the decision varable
% n -
scalar
, swarm size
% T -
scalar
, maximum iteration
% S -
scalar
,
times
of independent runs
% data:
2021
-
05
-09
% author: elkman, github.com/ElkmanY/
%% Levy flight
beta =
1.5
;
sigma = ( gamma(
1
+beta)*
sin
(pi*beta/
2
)/gamma((
1
+beta)/
2
)*beta*
2
^((beta-
1
)/
2
) ).^(
1
/beta);
Levy = @(
x
)
0
.
01
*normrnd(
0
,
1
,d,
x
)*sigma./
abs
(normrnd(
0
,
1
,d,
x
)).^(
1
/beta);
%% algorithm procedure
tic;
for
s
=
1
:S
%% Initialization
X = lmt(:,
1
) + (lmt(:,
2
) - lmt(:,
1
)).*
rand
(d,n);
for
t =
1
:T
F = objective(X);
[f_rabbit(
s
,t), i_rabbit] = min(F);
x_rabbit(:,t,
s
) = X(:,i_rabbit);
xr = x_rabbit(:,t,
s
);
J =
2
*(
1
-
rand
(d,
1
));
E
0
=
2
*
rand
(
1
,n)-
1
;
E(t,:) =
2
*E
0
*(
1
-t/T);
absE =
abs
(E(t));
p1 = absE>=
1
; %eq(
1
)
r =
rand
(
1
,n);
p2 = (r>=
0
.
5
) & (absE>=
0
.
5
) & (absE<
1
); %eq(
4
)
p3 = (r>=
0
.
5
) & (absE<
0
.
5
); %eq(
6
)
p4 = (r<
0
.
5
) & (absE>=
0
.
5
) & (absE<
1
); %eq(
10
)
p5 = (r<
0
.
5
) & (absE<
0
.
5
); %eq(
11
)
%% update locations
rh = randi([
1
,n],
1
,n);
flag1 =
rand
(
1
,n)>=
0
.
5
;
Y = xr - E(t,:).*
abs
( J.*xr - X );
Z = Y +
rand
(d,n).*Levy(n);
flag2 = (objective(Y)<objective(Z)) & (objective(Y)<F);
flag3 = (objective(Y)>objective(Z)) & (objective(Z)<F);
flag4 = (~flag2) & (~flag3);
X
_
= p1.*( (X(:,rh) -
rand
(
1
,n).*
abs
( X(:,rh) -
2
*
rand
(
1
,n).*X )).*flag1 +...
((X(:,rh) - mean(X)) -
rand
(
1
,n).*( lmt(:,
1
) + (lmt(:,
2
) - lmt(:,
1
)).*
rand
(d,n) )).*(~flag1) )...
+ p2.*( xr - X - E(t,:).*
abs
( J.*xr - X ) )...
+ p3.*( xr - E(t,:).*
abs
( xr - X ) )...
+ p4.*( Y.*flag2 + Z.*flag3 + ( lmt(:,
1
) + (lmt(:,
2
) - lmt(:,
1
)).*
rand
(d,n) ).*flag4 )...
+ p5.*( Y.*flag2 + Z.*flag3 + ( lmt(:,
1
) + (lmt(:,
2
) - lmt(:,
1
)).*
rand
(d,n) ).*flag4 );
X
_
(:,i_rabbit) = xr;
X = X
_
;
end
end
%% Êä³ö-outputs
performance = [min(f_rabbit(:,T));mean(f_rabbit(:,T));std(f_rabbit(:,T))];
timecost = toc;
[fbst, ibst] = min(f_rabbit(:,T));
xbst = x_rabbit(:,T,ibst);
%% »æÍ¼-plot data
% Convergence Curve
figure(
’Name’
,
’Convergence Curve’
);
box on
semilogy(
1
:T,mean(f_rabbit,
1
),
’b’
,
’LineWidth’
,
1.5
);
xlabel(
’Iteration’
,
’FontName’
,
’Aril’
);
ylabel(
’Fitness/Score’
,
’FontName’
,
’Aril’
);
title(
’Convergence Curve’
,
’FontName’
,
’Aril’
);
if
d ==
2
% Trajectory of Global Optimal
figure(
’Name’
,
’Trajectory of Global Optimal’
);
x1 = linspace(lmt(
1
,
1
),lmt(
1
,
2
));
x2 = linspace(lmt(
2
,
1
),lmt(
2
,
2
));
[X1,X2] = meshgrid(x1,x2);
V = reshape(objective([X1(:),X2(:)]
’),[size(X1,1),size(X1,1)]);
contour(X1,X2,log10(V),100); % notice log10(V)
hold on
plot(x_rabbit(1,:,1),x_rabbit(2,:,1),’
r-
x
’,’
LineWidth
’,1);
hold off
xlabel(’
it
{x}
_1
’,’
FontName
’,’
Time New Roman
’);
ylabel(’
it
{x}
_2
’,’
FontName
’,’
Time New Roman
’);
title(’
Trajectory of Global Optimal
’,’
FontName
’,’
Aril
’);
end
end
3 仿真结果
4 参考文献
[1]杨建新, 兰小平, 姚志强,等. 基于郊狼算法优化的LSSVM多工序质量预测方法[J]. 制造业自动化, 2021, 43(12):5.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
