【BP预测】基于sine混沌映射改进的麻雀搜索算法优化BP神经网络实现数据回归预测matlab代码

267 阅读3分钟

1 简介

电力市场中电价是关系到资源流动和利益分配的核心因素,电价的确定也是电力市场中最本质,最关键的部分,根据市场需求确定相应的合理电价直接影响到电力市场能否正常的运营. 电价预测具有十分重要的意义,目前已提出了时间序列法,人工神经网络,混沌理论等预测方法,但由于电价预测不仅需要考虑电价本身作为时间序列的特性,还需要考虑各种非电价因素(如负荷需求,节假日,供求关系等因素)对电价的影响,特别是人为因素的干扰,这都进一步加大了电价预测的难度和深度. 混沌理论己被证明是解决非线性问题的重要的,行之有效的理论方法.混沌动力系统的奇异吸引子所具有的无穷自相似性使混沌理论和分形学自然紧密联系.基于混沌理论的非线性时间序列分析跳出了传统的建立主观模型的局限,通过时间序列的内在规律做出分析与预测. 本文在综合考虑影响电价的各种因素下,以电价时间序列的混沌特性为基础,利用多变量时间序列的相空间重构理论并结合人工神经网络的非线性映射能力建立数学模型,提出一种基于sine混沌映射改进的麻雀搜索算法优化BP神经网络电价短期预测方法,该方法简单,方便,能够较为准确地预测电力交易价格,预测电力交易价格.得到了较好的结果,表明了本方法的有效性.

img

img

2 部分代码

function Positions=logisticInitialization(popsize,dim,ub,lb)

%input:popsize  种群数量

%       dim      变量维度

%       ub       变量上限

%       lb        变量下限

%return:Positions   生成的初始种群位置

%初始化位置0数组

Positions=zeros(popsize,dim);

%对每个个体,混沌映射产生位置

for i = 1:popsize

  value = Logistic(dim); %混沌映射序列

  Positions(i,:)=value.*(ub-lb)+lb;

  %位置越界限制

  Positions(i,:)=min(Positions(i,:),ub);  %上界调整

  Positions(i,:)=max(Positions(i,:),lb);  %下界调整

end

end

%混沌映射子函数

function sequence=Logistic(n)

%input:n   混沌序列长度

%return:value   生成的混沌序列

%初始化数组

sequence=zeros(1,n);

sequence(1)=rand; %序列起点

%x0不为(0,0.25,0.5,0.75,1)

while max(sequence(1)==[0 0.25 0.5 0.75 1])==1

  sequence(1)=rand;

end

mu =3.8 ;%参数mu范围(0,4)

for i=1:n-1

  sequence(i+1)=mu*sequence(i)*(1-sequence(i));

end

end

3 仿真结果

4 参考文献

[1]孙帆. (2007). 基于混沌与改进BP神经网络的电价预测. (Doctoral dissertation, 华中科技大学).​

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,有科研问题可私信交流。

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