【预测模型】基于粒子群算法PSO优化极限学习机ELM实现数据预测matlab源码

article/2025/4/21 12:48:40

1 模型

为了提高空气质量预测精度,提出一种基于粒子群算法优化极限学习机的空气质量预测模型.运用粒子群算法优化极限学习机的初始权值和偏置,在保证预测误差最小的情况下实现空气质量最优预测.选择平均绝对百分比误差,均方根误差和平均绝对误差作为评价指标,通过PSO-ELM和ELM五个模型预测结果对比发现,PSO-ELM可以有效提高空气质量预报的预测精度,可为空气质量预测提供新的方法和途径.

2 部分代码

%% 初始化

clear

close all

clc

format shortg

warning off

addpath('func_defined')

%% 读取读取

data_train=xlsread('Data-tiaoshi.xlsx','Train','A1:E90'); %%使用xlsread函数读取EXCEL中对应范围的数据即可  

data_test=xlsread('Data-tiaoshi.xlsx','Test','A1:D20'); %%使用xlsread函数读取EXCEL中对应范围的数据即可  

%输入输出数据%% 划分训练集、测试集

input=data_train(:,1:end-1);    %data的第一列-倒数第二列为特征指标

output=data_train(:,end);  %data的最后面一列为输出的指标值

% output_test=data_test(:,end)';  %data的最后面一列为输出的指标值

N=length(output);   %全部样本数目

testNum=15;   %设定测试样本数目

trainNum=N-testNum;    %计算训练样本数目

input_train = input(1:trainNum,:)';

output_train =output(1:trainNum)';

input_test =input(trainNum+1:trainNum+testNum,:)';

output_test =output(trainNum+1:trainNum+testNum)';

%% 数据归一化

[inputn,inputps]=mapminmax(input_train,-1,1);

[outputn,outputps]=mapminmax(output_train);

inputn_test=mapminmax('apply',input_test,inputps);

%% 绘制进化曲线

figure(1)

plot(Convergence_curve,'r-','linewidth',2)

xlabel('进化代数')

ylabel('均方误差')

legend('最佳适应度')

title('PSO的进化曲线')

%% 优化后的参数训练ELM极限学习机模型

[IW1,B1,LW1,TF,TYPE] = elmtrain(inputn,outputn,hiddennum_best,gbest);          %IW1   B1  LW1为优化后的ELM求得的训练参数

%% 优化后的ELM模型测试

an1=elmpredict(inputn_test,IW1,B1,LW1,TF,TYPE); 

test_simu1=mapminmax('reverse',an1,outputps);

%误差指标

[mae1,mse1,rmse1,mape1,error1,errorPercent1]=calc_error(output_test,test_simu1);

%% 作图

figure(2)

plot(output_test,'g-.o','linewidth',1)

hold on

plot(test_simu0,'b-*','linewidth',1)

hold on

plot(test_simu1,'r-v','linewidth',1)

legend('真实值','ELM预测值','PSO-ELM预测值')

xlabel('测试样本编号')

ylabel('指标值')

title('优化前后的ELM模型预测值和真实值对比图')

figure(3)

plot(error0,'b-*','markerfacecolor','r')

hold on

plot(error1,'r-v','markerfacecolor','r')

legend('ELM预测误差','PSO-ELM预测误差')

xlabel('测试样本编号')

ylabel('预测偏差')

title('优化前后的ELM模型预测值和真实值误差对比图')

disp(' ')

disp('/')

disp('打印结果表格')

disp('样本序号     实测值      ELM预测值  PSO-ELM值   ELM误差   PSO-ELM误差')

for i=1:testNum

    disp([i output_test(i),test_simu0(i),test_simu1(i),error0(i),error1(i)])

end

input_test2=data_test(:,1:end)';    %data的第一列-倒数第二列为特征指标

inputn_test2=mapminmax('apply',input_test2,inputps);

an2=elmpredict(inputn_test2,IW1,B1,LW1,TF,TYPE); 

test_simu2=mapminmax('reverse',an2,outputps);

figure(5)

plot(test_simu2,'b-')

xlabel('测试样本编号')

ylabel('指标值')

3 仿真结果

4 参考文献

[1]庄玉册, 黎蔚. 基于PSO优化极限学习机神经网络的空气质量预报[J]. 沈阳工业大学学报, 2020, 042(002):213-217.

 


http://chatgpt.dhexx.cn/article/vNhjnAy5.shtml

相关文章

多元分类预测 | Matlab麻雀算法(SSA)优化极限学习机(ELM)的分类预测,多特征输入模型。SSA-ELM分类预测模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 麻雀算法(SSA)优化极限学习机(ELM)的分类预测,多特征输入模型。SSA-ELM分类预测模型 多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用。程序语言为matlab,程序可出分类效果图,迭代…

多元分类预测 | Matlab粒子群算法(PSO)优化极限学习机(ELM)的分类预测,多特征输入模型。PSO-ELM分类预测模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元分类预测 | Matlab粒子群算法(PSO)优化极限学习机(ELM)的分类预测,多特征输入模型。PSO-ELM分类预测模型 多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用。程序语言为matlab,…

【预测模型-ELM分类】基于极限学习机ELM+OSELM+KELM+半监督SSELM+USELM实现数据集分类附matlab代码

1 内容介绍 极限学习机是由黄广斌等[13]提出的一种针对前馈神经网络设计的机器学习算法。该算法结构简单、计算速率快。ELM的关键在于找到输出和输出之间的映射空间。首先确定隐含层之间的连接权值w和隐含层神经元的偏置b。选择一个无限可微的函数作为隐…

多元分类预测 | Matlab鲸鱼算法(WOA)优化极限学习机(ELM)的分类预测,多特征输入模型。WOA-ELM分类预测模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元分类预测 | Matlab鲸鱼算法(WOA)优化极限学习机(ELM)的分类预测,多特征输入模型。WOA-ELM分类预测模型 多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用。程序语言为matlab,程…

【ELM数据预测】基于matlab粒子群算法优化ELM数据预测(含前后对比)【含Matlab源码 449期】

✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。 🍎个人主页:海神之光 🏆代码获取方式: 海神之光Matlab王者学习之路—代码获取方式 ⛳️座右铭:…

elmo模型详解

elmo模型结构 如下所示是elmo模型结构图: 在输入中可以采用worc2vec模型 训练的词向量。 其实总的来说,elmo模型就是若干bilstm的堆积,然后训练得到的, 对于某一个单词[公式],一个L层的双向语言模型biLM由2L1个向量表…

多元分类预测 | Matlab灰狼算法(GWO)优化极限学习机(ELM)的分类预测,多特征输入模型。GWO-ELM分类预测模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元分类预测 | 灰狼算法(GWO)优化极限学习机(ELM)的分类预测,多特征输入模型。GWO-ELM分类预测模型 多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用。程序语言为matlab,程序可出…

ELMo模型简介

word2vec是一种静态词嵌入方法,它不会随着上下文场景的变化而变化。但一词多义在现实中太常见了,因此这种静态嵌入的局限性在很多场景显得力不从心。而ELMo就是为解决这些问题提出的,它的提出意味着从词嵌入(Word Embedding)时代进入了语境词…

【ELM回归预测】基于matlab粒子群算法优化ELM回归预测【含Matlab源码 1722期】

✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。 🍎个人主页:海神之光 🏆代码获取方式: 海神之光Matlab王者学习之路—代码获取方式 ⛳️座右铭:…

【预测模型】基于 Elm神经网络的电力负荷预测模型matlab源码

1. 算法概述 **\ ELM算法针对的问题是单隐层的前馈神经网络(single-hidden layer feedforward neural networks,SLFNs),算法特点在于输入层到隐层的权重W和偏差B可以随机设定,隐层激励函数具有无限可微的特征即可(常用的有radial basis、sine…

【预测模型-ElM分类】基于松鼠算法优化ElM神经网络实现数据分类附matlab代码

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

模型学习 - ELM

本学弱喜欢在本子上记笔记,但字迹又丑。 望看不懂我的字的大佬不要喷我,看得懂的大佬批评指正。

【预测模型-ELM预测】基于蚁群算法优化极限学习机预测matlab代码

1 简介 针对变压器故障的特征,结合变压器油中气体分析法以及三比值法.提出了基于蚁群算法改进极限学习机的故障诊断方法.由于输入层与隐含层的权值和阈值是随机产生.传统的极限学习机可能会使隐含层节点过多,训练过程中容易产生过拟合现象.该方法运用蚁群算法对极限学习机的输…

【预测模型-ELM分类】基于鲸鱼算法优化核极限学习机实现数据分类附matlab代码

1 内容介绍 极限学习机(extreme learning mac&…

【ELM预测】基于极限学习机ELM实现数据预测matlab源码

一、极限学习机的概念 极限学习机(Extreme Learning Machine) ELM,是由黄广斌提出来的求解单隐层神经网络的算法。 ELM最大的特点是对于传统的神经网络,尤其是单隐层前馈神经网络(SLFNs),在保证学习精度的前提下比传统的学习算法速度更快。 二…

【ELM数据预测】粒子群算法优化ELM数据预测(含前后对比)【含Matlab源码 449期】

⛄一、粒子群算法优化极限学习机ELM简介 PSO-ELM优化算法预测模型 ELM模型在训练之前可以随机产生ω和b, 只需要确定隐含层神经元个数及隐含层神经元激活函数, 即可实现ELM预测模型的构建。在ELM模型的构建中, 只需确定初始ω和b, 而无需复杂的参数设置, 具有学习速度快、泛化…

免费不限速不限存储的网盘推荐

网盘这种东西倒闭的太多了,这年头存点东西真不容易,以前也陆陆续续用过很多网盘,但一直没统计,最近终于发现了一款好用的免费网盘推荐给大家。 替代对象:某度网盘 空间:超级会员免任务扩容至5T空间&…

“白嫖”时代进入最后倒计时,网盘行业到底是怎么由盛及衰的?

继金山网盘、UC网盘、新浪网盘、360网盘等等关停之后,网易网盘也要和大家说再见了。这是目前市场上最后一家完全免费的网盘,网易网盘的淡出也意味着网盘的免费时代终于还是画上了句号。 近日,网易宣布由于产品调整,网易网盘将于20…

在线付费听音乐平台网站源码

介绍: 越来越多音乐需要付费 今天免费给大家一款在线音乐源码 所有音乐免费听 付费音乐也可以 网盘下载地址: http://kekewl.org/PaFDdLJmVpB 图片:

「保护数据 人人有责」搭建免费可用的私有云 Next Cloud

前言 对于咱们个人来讲,早年都是白嫖各大厂商的公有云,各大厂商疯狂送空间,送起来像慈善家一样,一个T一个T的,但是随着时间的推移,以360网盘为代表的一批网盘倒下去了,上传的数据也只能再下载回…