怎么样学做网站,简单h5,一流的网站建设公司,物流公司网站建设方案具体程序代码如下#xff0c;主要问题就是不管我怎么调整参数#xff0c;最终的预测结果都没有太大的变化#xff0c;还请了解这两大算法的帮忙看看问题出在哪里了#xff0c;十分感谢#xff01;tic;close all;clear;clc;format compact;load M2.mat %载入数据% 提取数…具体程序代码如下主要问题就是不管我怎么调整参数最终的预测结果都没有太大的变化还请了解这两大算法的帮忙看看问题出在哪里了十分感谢tic;close all;clear;clc;format compact;load M2.mat %载入数据% 提取数据Nlength(M2)-36;train_tsxzeros(N,36);for i1:Ntrain_tsx(i,:)M2(i:i35);Y(i)M2(i36); %36个月代表货币周期从历史数据来看大致与短经济周期一样(3-4年)endtrain_tsY;%数据预处理将原始数据进行归一化ts train_ts;tsx train_tsx;% mapminmax为matlab自带的映射函数% 对ts进行归一化[TS,TSps] mapminmax(ts,0,1);% 对TS进行转置,以符合libsvm工具箱的数据格式要求TS TS;% mapminmax为matlab自带的映射函数% 对tsx进行归一化[TSX,TSXps] mapminmax(tsx,0,1);% 对TSX进行转置,以符合libsvm工具箱的数据格式要求TSX TSX;% PSO寻找最佳的SVM参数cg% 参数初始化%粒子群算法中的两个参数c1 0.5; % c1 belongs to [0,2]c2 0.5; % c2 belongs to [0,2]maxgen200; % 进化次数sizepop50; % 种群规模popcmax10^(2);popcmin10^(-1);popgmax10^(3);popgmin10^(-2);k 0.5; % k belongs to [0.1,1.0];Vcmax 500;Vcmin 1 ;Vgmax 10;Vgmin 0.1 ;% SVM参数初始化v 5;% 产生初始粒子和速度for i1:sizepop % 随机产生种群pop(i,1) (popcmax-popcmin)*randpopcmin; % 初始种群pop(i,2) (popgmax-popgmin)*randpopgmin;V(i,1)Vcmax*rands(1); % 初始化速度V(i,2)Vgmax*rands(1);% 计算初始适应度cmd [-v ,num2str(v), -c ,num2str( pop(i,1) ), -g ,num2str( pop(i,2) ), -s 3 -t 2 -p 0.01 ];fitness(i) svmtrain(TS, TSX, cmd);fitness(i) -fitness(i);end% 找极值和极值点[global_fitness, bestindex]min(fitness); % 全局极值local_fitnessfitness; % 个体极值初始化global_xpop(bestindex,:); % 全局极值点local_xpop; % 个体极值点初始化% 迭代寻优for i1:maxgenfor j1:sizepop %速度更新wV 1; % wV best belongs to [0.8,1.2]V(j,:) wV*V(j,:) c1*rand*(local_x(j,:) - pop(j,:)) c2*rand*(global_x - pop(j,:));if V(j,1) VcmaxV(j,1) Vcmax;endif V(j,1) VcminV(j,1) Vcmin;endif V(j,2) VgmaxV(j,2) Vgmax;endif V(j,2) VgminV(j,2) Vgmin;end%种群更新wP 0.5;pop(j,:)pop(j,:)wP*V(j,:);if pop(j,1) popcmaxpop(j,1) popcmax;endif pop(j,1) popcminpop(j,1) popcmin;endif pop(j,2) popgmaxpop(j,2) popgmax;endif pop(j,2) popgminpop(j,2) popgmin;end% 自适应粒子变异if rand0.5kceil(2*rand);if k 1pop(j,k) (20-1)*rand1;endif k 2pop(j,k) (popgmax-popgmin)*randpopgmin;endend%适应度值cmd [-v ,num2str(v), -c ,num2str( pop(j,1) ), -g ,num2str( pop(j,2) ), -s 3 -t 2 -p 0.01 ];fitness(j) svmtrain(TS, TSX, cmd);fitness(j) -fitness(j);end%个体最优更新if fitness(j) local_fitness(j)local_x(j,:) pop(j,:);local_fitness(j) fitness(j);end%群体最优更新if fitness(j) global_fitnessglobal_x pop(j,:);global_fitness fitness(j);endfit_gen(i)global_fitness;endtocbestc global_x(1);bestg global_x(2);bestmse -fit_gen(maxgen);% 利用回归预测分析最佳的参数进行SVM训练cmd [-c ,num2str( bestc ), -g ,num2str( bestg ), -s 3 -t 2 -p 0.01 ];model svmtrain(TS,TSX,cmd);% 进行SVM预测test_tsx1 TS(163:198);test_tsx1test_tsx1;[predict1,mse,detesvalue] svmpredict(8.29,test_tsx1,model);test_ts1 mapminmax(reverse,predict1,TSps);