预测模型基于鲸鱼算法优化最小二乘支持

1模型简介

随着电力负荷的迅猛增长和用电环境的越发复杂,对短期负荷预测的精度与可靠性提出更高要求.为解决最小二乘支持向量机(LSSVM)算法中核参数和惩戒参数依赖经验选取导致的短期负荷预测精度较低,收敛速度较慢的问题,提出一种基于改进鲸鱼算法优化最小二乘支持向量机(IWOALSSVM)的负荷预测方法.首先通过引入非线性因子和自适应权重实现鲸鱼算法的改进,进而利用其改进算法对LSSVM参数进行寻优,最后建立短期负荷预测模型.结合某地区的实测数据进行预测分析,结果表明,相较于LSSVM,PSOLSSVM,改进模型预测精度和收敛速度均有大幅提高,在电力企业中具有良好的实际应用价值.

1.1鲸鱼算法1.2最小二乘支持向量机2部分代码

%=====================================================================%初始化clccloseallclearformatlongtic%==============================================================%%导入数据data=xlsread(数值.xlsx,Sheet1,A2:E41);%训练data1=xlsread(数值.xlsx,Sheet1,G2:J31);%测试[row,col]=size(data);train_x=data(:,1:col-1);train_y=data(:,col);test_x=data(:,1:col-1);%test_y=data(:,col);train_x=train_x;train_y=train_y;test_x=test_x;%test_y=test_y;%%数据归一化[train_x,minx,maxx,train_yy,miny,maxy]=premnmx(train_x,train_y);test_x=tramnmx(test_x,minx,maxx);train_x=train_x;train_yy=train_yy;train_y=train_y;test_x=test_x;%test_y=test_y;%%参数初始化eps=10^(-6);%%定义lssvm相关参数type=f;kernel=RBF_kernel;proprecess=proprecess;lb=[0..02];%参数c、g的变化的下限ub=[1000];%参数c、g的变化的上限dim=2;%维度,即一个优化参数SearchAgents_no=20;%NumberofsearchagentsMax_iter=50;%Maximumnumbefofiterations%initializepositionvectorandscorefortheleaderLeader_pos=zeros(1,dim);Leader_score=inf;%changethisto-infformaximizationproblems%Initializethepositionsofsearchagents%Positions=initialization(SearchAgents_no,dim,ub,lb);Positions(:,1)=ceil(rand(SearchAgents_no,1).*(ub(1)-lb(1))+lb(1));Positions(:,2)=ceil(rand(SearchAgents_no,1).*(ub(2)-lb(2))+lb(2));Convergence_curve=zeros(1,Max_iter);t=0;%Loopcounter%Mainloopwoa1;%%结果分析plot(Convergence_curve,LineWidth,2);title([鲸鱼优化算法适应度曲线,(参数c1=,num2str(Leader_pos(1)),,c2=,num2str(Leader_pos(2)),,终止代数=,num2str(Max_iter),)],FontSize,13);xlabel(进化代数);ylabel(误差适应度);bestc=Leader_pos(1);bestg=Leader_pos(2);gam=bestc;sig2=bestg;model=initlssvm(train_x,train_yy,type,gam,sig2,kernel,proprecess);%原来是显示model=trainlssvm(model);%原来是显示%求出训练集和测试集的预测值[train_predict_y,zt,model]=simlssvm(model,train_x);[test_predict_y,zt,model]=simlssvm(model,test_x);%预测数据反归一化train_predict=postmnmx(train_predict_y,miny,maxy);%预测输出test_predict=postmnmx(test_predict_y,miny,maxy);figureplot(train_predict,:og)holdonplot(train_y,-*)legend(预测输出,期望输出)title(鲸鱼优化svm网络预测输出,fontsize,12)ylabel(函数输出,fontsize,12)xlabel(样本,fontsize,12)disp([预测输出])YPred_besttoc%计算时间3仿真结果4参考文献

[1]刘沛津,胡冀飞,贺宁,etal.改进鲸鱼算法优化LSSVM的短期电力负荷预测研究[J].现代电子技术,44(13):5.

天天Matlab



转载请注明地址:http://www.jingyuf.com/zejn/10447.html
  • 上一篇文章:
  • 下一篇文章: 没有了