✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,
代码获取、论文复现及科研仿真合作可私信。
个人主页:Matlab科研工作室
个人信条:格物致知。
更多Matlab完整代码及仿真定制内容点击
智能优化算法 神经网络预测 雷达通信 无线传感器 电力系统
信号处理 图像处理 路径规划 元胞自动机 无人机
风电作为一种清洁可再生能源,在全球能源结构中发挥着越来越重要的作用。然而,风电出力具有间歇性和波动性,给电网运行带来了一定的挑战。因此,准确的风电出力预测对于保证电网的安全稳定运行至关重要。
极限学习机(ELM)是一种单隐层前馈神经网络,具有学习速度快、泛化性能好等优点,在风电出力预测领域得到了广泛的应用。然而,传统的ELM算法存在着参数设置复杂、容易陷入局部最优等问题。
为了解决这些问题,本文提出了一种基于蜂虎狩猎算法(BHA)优化ELM的风电出力预测模型(BEH-ELM)。BHA是一种新型的元启发式算法,具有较强的全局搜索能力和收敛速度。在BEH-ELM模型中,BHA算法用于优化ELM的隐藏层节点数和正则化参数。
ELM是一种单隐层前馈神经网络,其结构如图1所示。ELM的输入层节点数与输入变量的个数相同,输出层节点数与输出变量的个数相同。隐层节点数和正则化参数是ELM模型的两个重要参数,需要通过训练数据进行优化。
图1 ELM模型结构图
ELM的学习过程分为两个步骤:
随机生成隐层节点的权重和偏置。
根据训练数据计算输出层节点的权重。
ELM的学习速度非常快,并且具有较好的泛化性能。然而,传统的ELM算法存在着参数设置复杂、容易陷入局部最优等问题。
BHA是一种新型的元启发式算法,其灵感来源于蜂虎的狩猎行为。蜂虎是一种小型猛禽,以捕食昆虫为生。蜂虎在狩猎时,会先在高处盘旋观察猎物,然后俯冲而下捕食猎物。
BHA算法模拟了蜂虎的狩猎行为,将搜索空间划分为多个子空间,并让多个搜索代理在子空间中搜索最优解。搜索代理在子空间中移动时,会根据自己的位置和速度信息更新自己的位置。当搜索代理找到一个更好的解时,会将该解作为自己的当前解。
BHA算法具有较强的全局搜索能力和收敛速度,并且不易陷入局部最优。
BEH-ELM模型将BHA算法与ELM算法相结合,用于风电出力预测。在BEH-ELM模型中,BHA算法用于优化ELM的隐藏层节点数和正则化参数。
BEH-ELM模型的训练过程如下:
初始化BHA算法的参数。
随机生成ELM的隐层节点的权重和偏置。
根据训练数据计算ELM的输出层节点的权重。
计算ELM的预测误差。
如果预测误差小于给定的阈值,则停止训练过程。否则,更新BHA算法的参数并重复步骤2-4。
%% 清空环境变量
warning off % 关闭报警信息
close all % 关闭开启的图窗
clear % 清空变量
clc % 清空命令行
%% 导入数据
res = xlsread('数据集.xlsx');
%% 划分训练集和测试集
temp = randperm(357);
P_train = res(temp(1: 240), 1: 12)';
T_train = res(temp(1: 240), 13)';
M = size(P_train, 2);
P_test = res(temp(241: end), 1: 12)';
T_test = res(temp(241: end), 13)';
N = size(P_test, 2);
%% 数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);
t_train = ind2vec(T_train);
t_test = ind2vec(T_test );
为了验证BEH-ELM模型的性能,我们将其与传统的ELM算法和支持向量机(SVM)算法进行了比较。实验结果表明,BEH-ELM模型的预测精度最高,并且具有较强的鲁棒性。
图2 BEH-ELM模型、ELM模型和SVM模型的预测误差对比图
本文提出了一种基于蜂虎狩猎算法优化极限学习机BEH-ELM实现风电回归预测的方法。实验结果表明,BEH-ELM模型的预测精度最高,并且具有较强的鲁棒性。因此,BEH-ELM模型可以作为风电出力预测的一种有效方法。
[1] 吉威,刘勇,甄佳奇,等.基于随机权重粒子群优化极限学习机的土壤湿度预测[J].新疆大学学报:自然科学版, 2020, 37(2):7.DOI:10.13568/j.cnki.651094.651316.2019.11.27.0001.
[2] 刘萌萌.基于信息融合的改进极限学习机预测算法研究[D].辽宁大学,2015.