【lssvm回归预测】基于鸽群算法优化最小二乘支持向量机PIO-lssvm实现数据回归预测附matlab代码

news2024/11/24 0:20:38

​✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测 雷达通信  无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机  电力系统

⛄ 内容介绍

LSSVM 模型中的参数选择对模型的影响较大,采用鸽群优化算法进行模型参数的全局选优,用历史负荷数据和天气气象因素作为输入,建立优化电力负荷预测模型进行仿真.利用 PIO- LSSVM 模型对华东某市电力负荷进行验证分析.实验结果表明:鸽群算法优化的LSSVM 模型相比 LSSVM 具有更高的预测精度.

⛄ 部分代码

function [Best_vulture1_F,Best_vulture1_X,convergence_curve]=PIO(pigeonnum,max_iter,lower_bound,upper_bound,D,fobj);

%%####A new bio-inspired swarm intelligence optimizer ?C pigeon inspired 

%%####optimization (PIO) is presented by simulating pigeons homing 

%%####behaviors. Homing pigeons can easily find their homes by using 

%%####three homing tools: magnetic field, sun and landmarks. In this  

%%#### newly invented algorithm, map and compass operator model is 

%%#### presented based on magnetic field and sun, while landmark operator 

%%#### model is presented based on landmarks. For some tough functions,  

%%#### it can quickly find the optimum, and it performs powerfully. For the 

%%#### most important reason, it combines some advantages of algorithms 

%%#### such as particle swarm optimization and artificial fish school algorithm. 

%***************initialization******************* 

T1=max_iter;     %Global search algebra 

T2=max_iter;     %Local search algebra 

% pigeonnum=30;    %number  

% D = 30;     % dimensionality 

R=0.3;     %parameters of magnetic field  

bound=[lower_bound,upper_bound];    %hunting zone

tol = 1e-7;

%**************initialization of the individual pigeon************ 

for i=1:pigeonnum                                                           %时间复杂度O(pigeonum*D*2)

    for j=1:D 

        x(i,j)=bound(1)+rand*(bound(2)-bound(1)); 

        v(i,j)=rand; 

    end 

end 

%**************calculate the fitness of pigeon*********** 

for i=1:pigeonnum                                                           %时间复杂度O(pigeonum*2)

    p(i)=fobj(x(i,:)); 

    p_best(i,:)=x(i,:); 

end 

%**************find the optimal pigeons******************** 

g_best=x(1,:); 

for i=2:pigeonnum                                                           %时间复杂度O(pigeonum-1)

    if fobj(g_best)>fobj(x(i,:)) 

        g_best=x(i,:); 

    end 

end 

%************  magnetic compass and solar operator******************** 

for t=1:T1                                                                  %时间复杂度O(T1*(pigeonum*(2D+5))+1)

    for i=1:pigeonnum                                                       %时间复杂度O(pigeonum*(2D+5))                       

        v(i,:)=v(i,:)+rand*(p_best(i,:)-x(i,:)); 

        x(i,:)=x(i,:)*(1-exp(-R*t))+v(i,:);   %check whether beyond the searching space 

        for j=1:D                                    % magnetic field and solar operator 

            if abs(i-1)<=eps 

                if x(i,j)<bound(1)||x(i,j)>bound(2) 

                    x(i,j)=bound(1)+rand*(bound(2)-bound(1)); 

                    v(i,j)=rand; 

                end 

            else 

                if x(i,j)<bound(1)||x(i,j)>bound(2) 

                    x(i,j)=x(i-1,j);  

                    v(i,j)=v(i-1,j); 

                end     

            end 

        end 

        if fobj(x(i,:))<p(i)                         %renewal individual fitness 

            p(i)=fobj(x(i,:)); 

            p_best(i,:)=x(i,:); 

        end 

        if p(i)<fobj(g_best)                         %renewal global fitness 

            g_best=p_best(i,:); 

        end

    end

    result(t)=fobj(g_best); 

end 

%*************???????********************** 

for t=1:T2                                                                  %时间复杂度O(T2*pigeonum*pigeonum)

    for i=1:pigeonnum-1                             %sort the pigeons       

        for j=i+1:pigeonnum 

            if fobj(x(i,:))>fobj(x(j,:)) 

                temp_pigeon=x(i,:); 

                x(i,:)=x(j,:); 

                x(j,:)=temp_pigeon; 

            end 

        end 

    end 

    pigeonnum=ceil(pigeonnum/2);               %remove half of the pigeons according to the landmark 

    addpigeonnum=0;                        

    for i=1:pigeonnum 

        addpigeonnum=addpigeonnum+x(i,:);      

        p(i)=fobj(x(i,:));                     %calculate fitness and location of the pigeon after sorting 

        p_best(i,:)=x(i,:); 

    end 

    pigeoncenter=ceil(addpigeonnum./pigeonnum);%calculate central position 

    for i=1:pigeonnum                                %local searching        

        for j=1:D                                    %check whether beyond the searching space 

            x(i,j) = x(i,j) + rand*(pigeoncenter(j)-x(i,j));

            while x(i,j)<bound(1)||x(i,j)>bound(2)

                x(i,j) = x(i,j) + rand*(pigeoncenter(j)-x(i,j));

            end

        end 

        if fobj(x(i,:))<p(i)                         %renewal individual fitness 

            p(i)=fobj(x(i,:)); 

            p_best(i,:)=x(i,:); 

        end 

        if p(i)<fobj(g_best)                         %renewal global fitness 

            g_best=p_best(i,:); 

        end 

    end 

    result(t+T1)=fobj(g_best);

end 

% figure                                               %graph 

% for t=1:T1+T2-1 

%     plot([t,t+1],[result(t),result(t+1)]); 

%     hold on; 

% end

% xlabel('Iterative curve');

% ylabel('Function value');

% title(['The best value is ' num2str()])

[Best_vulture1_F,indx]=min(result);

Best_vulture1_X=g_best;

convergence_curve=result;

end

⛄ 运行结果

⛄ 参考文献

[1]鞠彬王嘉毅. 基于粒子群算法与最小二乘支持向量机的ET0模拟[J]. 水资源保护, 2016, 32(4):74-79.

[2]吴文江, 陈其工, and 高文根. "基于 PSO 优化参数的最小二乘支持向量机短期负荷预测." 重庆理工大学学报(自然科学版) 030.003(2016):112-115.

⛄ Matlab代码关注

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

❤️ 关注我领取海量matlab电子书和数学建模资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/99674.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python+Qt抽奖点名工具源码窗体程序

程序示例精选 PythonQt抽奖点名工具源码窗体程序 如需安装运行环境或远程调试&#xff0c;见文章底部微信名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《PythonQt抽奖点名工具源码窗体程序》编写代码&#xff0c;功能包括了抽奖点名&#xff0c;历史…

【DBN分类】基于粒子群算法优化深度置信网络PSO-DBN实现数据分类附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

Enhancing Adversarial Training with Second-Order Statistics of Weights

利用二阶权重统计增强对抗训练 对抗训练已被证明是提高深度神经网络鲁棒性的最有效方法之一。它被形式化为对模型权重和对抗性扰动的最小-最大优化&#xff0c;其中权重可以通过梯度下降方法&#xff08;如SGD&#xff09;进行优化。在本文中&#xff0c;我们证明了将模型权重…

黑*头条_第2章_app端文章查看,静态化freemarker,分布式文件系统minIO(新版)

黑*头条_第2章_app端文章查看&#xff0c;静态化freemarker,分布式文件系统minIO&#xff08;新版&#xff09; 文章目录黑*头条_第2章_app端文章查看&#xff0c;静态化freemarker,分布式文件系统minIO&#xff08;新版&#xff09;1)文章列表加载1.1)需求分析1.2)表结构分析1…

2000-2020年全国31省城镇化率

2000-2020年全国31省城镇化率 1、时间&#xff1a;2000-2020年 2、范围&#xff1a;包括全国31个省 3、指标包括&#xff1a;总人口、城镇人口、农村人口、城镇化率 其中&#xff1a;城镇化率城镇人口/总人口 3、来源&#xff1a;整理自计NJ及各省统计NJ 4、指标解释&…

葵花宝典之C语言冷知识(一)

实用小课堂开课啦&#xff01;鸟类天堂&#xff1a; &#x1f9a2;一&#xff1a;函数类型的对应 &#x1f99c;代码呈现&#xff1a; &#x1f9a2;二&#xff1a;浮点数运算 &#x1f9a2;三&#xff1a;scanf的使用 &#x1f9a9; NUM 1&#xff1a;遇见空格&#xff0c;回车…

(附源码)Springboot北京东奥会志愿者报名系统 毕业设计 150947

Springboot北京北京东奥会志愿者报名系统 摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对北…

数据挖掘Java——KNN算法的实现

一、KNN算法的前置知识 k-近邻&#xff08;kNN, k-NearestNeighbor&#xff09;是在训练集中选取离输入的数据点最近的k个邻居&#xff0c;根据这个k个邻居中出现次数最多的类别&#xff08;最大表决规则&#xff09;&#xff0c;作为该数据点的类别。 分类在数据挖掘中是一项…

底层网络知识详解:陌生的数据中心-第18讲-DNS协议:网络世界的地址簿

前面我们讲了平时常见的看新闻、支付、直播、下载等场景,现在网站的数目非常多,常用的网站就有二三十个,如果全部用IP地址进行访问,恐怕很难记住。于是,就需要一个地址簿,根据名称,就可以查看具体的地址。 例如,我要去西湖边的“外婆家”,这就是名称,然后通过地址簿…

Linux运维巡检流程工作总结

文章目录一 执行脚本获取数据二 登陆巡检环境2.1 将数据放在特定目录下2.2 在网页浏览器输入 ip:端口号/linux三 生成报告3.1 点击执行按钮&#xff0c;等待报告3.2 点击生成html文档&#xff0c;等待四 编写巡检文档4.1 提取所有检查的服务器IP、主机名、操作系统4.2 提取某些…

js实现放大镜效果

在我们平时见到很多购物网站都会有放大镜效果的出现&#xff0c;当我们将鼠标放在一个商品图片的上面&#xff0c;就会在旁边出现对应的放大效果。 效果图 实现步骤 实现原理是非常简单的&#xff0c;实际上是两张图片&#xff0c;一张原图和一张更大尺寸的图片。一开始通过c…

如何mount到网络为NAT方式的虚拟机

VMware Workstation我们一般两种虚拟机上网方式&#xff0c;一种bridge,一种NAT。bridge可以获得公网地址需要指定静态IP&#xff0c;而NAT是动态分配的内网地址了。设置bridge方式时往往指定的IP为内网IP&#xff0c;则无法正常上网&#xff1b;而设置NAT方式时共享本地网络可…

计算机毕业设计 HTML+CSS+JavaScript食品餐饮行业网站(10页)

&#x1f4c2;文章目录一、&#x1f468;‍&#x1f393;网站题目二、✍️网站描述三、&#x1f4da;网站介绍四、&#x1f310;网站效果五、&#x1fa93; 代码实现&#x1f9f1;HTML结构代码&#x1f492;CSS样式代码六、&#x1f947; 如何让学习不再盲目七、&#x1f381;更…

【人脸识别】PCA人脸二维码识别(带面板)【含GUI Matlab源码 754期】

⛄一、人脸识别技术简介 0 引言 这个高速发展的时代&#xff0c;一切事物都将与“快”相联系。人脸识别技术的发展成熟保证了人们的信息安全&#xff0c;二维码的飞速发展成为了现如今信息传递的新媒介。“慢”就会被淘汰&#xff0c;因此减少现如今人脸识别过程的 时间仍是目…

数据结构和算法(四)--高级排序

目录 二、高级排序 2.1、希尔排序 2.2、归并排序 2.2.1、递归 2.2.2、归并排序 数据结构和算法(三)--排序 二、高级排序 冒泡排序&#xff0c;选择排序&#xff0c;插入排序&#xff0c;最坏的时间复杂度都是O(N^2)&#xff0c;而平方阶&#xff0c;随着输入规模的增大&…

想掌握日志分析系统的看过来

日志分析系统&#xff08;ELK&#xff09; 什么是ELK ELK是三个开源软件的缩写&#xff0c;分别表示&#xff1a;Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat&#xff0c;它是一个轻量级的日志收集处理工具(Agent)&#xff0c;Filebeat占用资源…

day23【代码随想录】翻转二叉树、对称二叉树、完全二叉树的结点个数

文章目录前言一、翻转二叉树&#xff08;力扣226&#xff09;1、递归法1、使用前序遍历2、使用后序遍历2、迭代法1、层序遍历二、对称二叉树&#xff08;力扣101&#xff09;三、完全二叉树的结点个数&#xff08;力扣222&#xff09;前言 1、翻转二叉树 2、对称二叉树 3、完全…

【图像处理】直方图均衡化

直方图均衡化 简介 直方图均衡化(Histogram Equalization)是一种增强图像对比度(Image Contrast)的方法,其主要思想是将一副图像的直方图分布变成近似均匀分布,从而增强图像的对比度。 直方图均衡化是将原图像通过某种变换,得到一幅灰度直方图为均匀分布的新图像的方法。…

RegNet:设计网络设计空间

文章目录摘要1. 介绍2. 相关工作3.设计空间设计3.1. 设计空间设计的工具3.2. AnyNet设计空间3.3. RegNet设计空间3.4. 设计空间概化4. 分析RegNetX设计空间5. 与现有网络的比较5.1. 最先进的比较:移动体系5.2. 标准基线比较:ResNe(X)t5.3. 最先进的比较:整个体系6. 结论附录A:测…

Kafka 核心源码解读【四】--状态机模块

文章目录1 TopicDeletionManager&#xff1a; Topic是怎么被删除的&#xff1f;1.1 课前导读1.2 TopicDeletionManager 概览1.3 DeletionClient 接口及其实现1.4 TopicDeletionManager 定义及初始化1.5 TopicDeletionManager 重要方法1.6 总结2 ReplicaStateMachine&#xff1a…