当前位置:   article > 正文

【RVM预测】基于麻雀算法优化相关向量机RVM实现数据回归预测附matlab代码_pso优化rvm

pso优化rvm

1 简介

由于进出口贸易额波动较大,影响因素较多,一般预测算法难以得到较为准确的预测结果。针对该问题,提出基于麻雀算法优化RVM模型的贸易预测方法。该方法首先找出影响进出口贸易的指标并通过主成分分析方法提取出指标的主因子作为模型的输入数据。以深圳进出口贸易预测为例验证该方法能够较为准确地预测进出口贸易值。

2 部分代码

%_________________________________________________________________________________%  Salp Swarm Algorithm (SSA) source codes version 1.0%____________________________________________________________________________________function [FoodFitness,FoodPosition,Convergence_curve]=SSA(N,Max_iter,lb,ub,dim,fobj)if size(ub,1)==1    ub=ones(dim,1)*ub;    lb=ones(dim,1)*lb;endConvergence_curve = zeros(1,Max_iter);%Initialize the positions of salpsSalpPositions=initialization(N,dim,ub,lb);FoodPosition=zeros(1,dim);FoodFitness=inf;%calculate the fitness of initial salpsfor i=1:size(SalpPositions,1)    SalpFitness(1,i)=fobj(SalpPositions(i,:));end[sorted_salps_fitness,sorted_indexes]=sort(SalpFitness);for newindex=1:N    Sorted_salps(newindex,:)=SalpPositions(sorted_indexes(newindex),:);endFoodPosition=Sorted_salps(1,:);FoodFitness=sorted_salps_fitness(1);%Main loopl=2; % start from the second iteration since the first iteration was dedicated to calculating the fitness of salpswhile l<Max_iter+1    c1 = 2*exp(-(4*l/Max_iter)^2); % Eq. (3.2) in the paper    for i=1:size(SalpPositions,1)        SalpPositions= SalpPositions';        if i<=N/2            for j=1:1:dim                c2=rand();                c3=rand();                %%%%%%%%%%%%% % Eq. (3.1) in the paper %%%%%%%%%%%%%%                if c3<0.5                     SalpPositions(j,i)=FoodPosition(j)+c1*((ub(j)-lb(j))*c2+lb(j));                else                    SalpPositions(j,i)=FoodPosition(j)-c1*((ub(j)-lb(j))*c2+lb(j));                end                %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%            end        elseif i>N/2 && i<N+1            point1=SalpPositions(:,i-1);            point2=SalpPositions(:,i);            SalpPositions(:,i)=(point2+point1)/2; % % Eq. (3.4) in the paper        end        SalpPositions= SalpPositions';    end    for i=1:size(SalpPositions,1)        Tp=SalpPositions(i,:)>ub';Tm=SalpPositions(i,:)<lb';SalpPositions(i,:)=(SalpPositions(i,:).*(~(Tp+Tm)))+ub'.*Tp+lb'.*Tm;        SalpFitness(1,i)=fobj(SalpPositions(i,:));        if SalpFitness(1,i)<FoodFitness            FoodPosition=SalpPositions(i,:);            FoodFitness=SalpFitness(1,i);         end    end    Convergence_curve(l)=FoodFitness;    l = l + 1;end

3 仿真结果

4 参考文献

[1]白霜. 基于PSO优化混合RVM模型的进出口贸易预测算法[J]. 计算机与现代化, 2014.

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/700217
推荐阅读
相关标签
  

闽ICP备14008679号