技术领域
1.本发明涉及微电网负荷技术领域,特别涉及一种基于gru神经网络的微电网短期负荷预测方法。
背景技术:
2.微电网是一组由分布式电源、负荷、储能系统和控制装置构成的微型系统。对于大电网来说,它表现为一个单一可控的单元,可实现能源多种形式(电能、热能等)的高可靠供给负荷。微电网中的电源多为小容量的分布式电源,主要有光伏电池、小型风力发电机、微型燃气轮机、燃料电池以及蓄电池等储能装置,具有成本低、电压低及污染低等特点。
3.负荷预测是微电网能量管理系统的重要组成部分,是对分布式电源,如风电、光伏、微燃气轮机、柴油机及渗型储能等可控微源进行优化调度的基础,预测结果将直接影响微电网运行策略与电能交易。相对于大搜蚂电网世喊埋环境,微电网进行短期负荷预测的难度更高,这主要是由于负荷的随机性强,历史负荷曲线相似度低,再加上用户容量有限,各用户间负荷特征相互平滑作用较小,负荷总体波动较大。
4.为了提高负荷预测精度,许多学者进行了大量研究,提出了一系列预测方法,如bp-nn预测方法,常规gru神经网络预测方法。但这些方法仍然存在预测精度不够高的问题。其中,gru神经网络的权值为待定参数,并且这些权值参数的选择并无成熟的理论依据,且这些权值参数的选择对于gru神经网络模型的预测性能影响很大,这是目前gru神经网络应用于微电网短期负荷预测的难点。
螨虫分类问题:螨虫有多个参数,将这些参数作为神经网络的输入样本。螨虫的种类进行量化后,作为神经网络的输出。附件为一个示例程序,可供参考。
人工神经网络应用系统。在网络模型与算法研究的基础上,利用人工神经网络组成实际的应用系统,例如,完成某种信号纯返处理或模式识别的功能、构作专家系统、制成机器人等等。
神经网络可以用作分类、聚类、预测等。神经网昌厅络需要有一定量的历史数据,通过历史数据的训练,网络可以学习到数据中隐含的知识。在你的问题中,首先要找到某些问耐裤隐题的一些特征,以及对应的评价数据,用这些数据来训练神经网络。
FastICA算法的基本步骤:1. 对观测辩唯数据进行中心化,使它的均值为0;
2. 对数据进游嫌行白化,。
3. 选择需要估计的分量的个数,设迭代次数
4. 选择一个初始权矢量(随机的)。
5. 令,非线性函数的选取见前文。
6. 。
7. 令。
8. 假如不收敛的话,返回第5步。
9.令,如果,返回第4步。
二.MATLAB源程序及说明:
%下程序为ICA的调用函数,输入为观察的信号,输出为解混后的信号
function Z=ICA(X)
%-----------去均值---------
[M,T] = size(X)%获取输入矩阵的行/列数,行数为观测数据的数目,列数为采样点数
average= mean(X')' %均值
for i=1:M
X(i,:)=X(i,:)-average(i)*ones(1,T)
end
%---------白化/球化------
Cx = cov(X',1) %计算协方差矩阵Cx
[eigvector,eigvalue] = eig(Cx)%计算Cx的特征值和特征向量
W=eigvalue^(-1/2)*eigvector' %白化矩阵
Z=W*X %正交矩阵
%----------迭代-------
Maxcount=10000 %最大迭代次数
Critical=0.00001 %判断是神灶手否收敛
m=M %需要估计的分量的个数
W=rand(m)
for n=1:m
WP=W(:,n) %初始权矢量(任意)
% Y=WP'*Z
% G=Y.^3%G为非线性函数,可取y^3等
% GG=3*Y.^2 %G的导数
count=0
LastWP=zeros(m,1)
W(:,n)=W(:,n)/norm(W(:,n))
while abs(WP-LastWP)&abs(WP+LastWP)>Critical
count=count+1 %迭代次数
LastWP=WP %上次迭代的值
% WP=1/T*Z*((LastWP'*Z).^3)'-3*LastWP
for i=1:m
WP(i)=mean(Z(i,:).*(tanh((LastWP)'*Z)))-(mean(1-(tanh((LastWP))'*Z).^2)).*LastWP(i)
end
WPP=zeros(m,1)
for j=1:n-1
WPP=WPP+(WP'*W(:,j))*W(:,j)
end
WP=WP-WPP
WP=WP/(norm(WP))
if count==Maxcount
fprintf('未找到相应的信号)
return
end
end
W(:,n)=WP
end
Z=W'*Z
%以下为主程序,主要为原始信号的产生,观察信号和解混信号的作图
clear allclc
N=200n=1:N%N为采样点数
s1=2*sin(0.02*pi*n)%正弦信号
t=1:Ns2=2*square(100*t,50)%方波信号
a=linspace(1,-1,25)s3=2*[a,a,a,a,a,a,a,a]%锯齿信号
s4=rand(1,N)%随机噪声
S=[s1s2s3s4]%信号组成4*N
A=rand(4,4)
X=A*S%观察信号
%源信号波形图
figure(1)subplot(4,1,1)plot(s1)axis([0 N -5,5])title('源信号')
subplot(4,1,2)plot(s2)axis([0 N -5,5])
subplot(4,1,3)plot(s3)axis([0 N -5,5])
subplot(4,1,4)plot(s4)xlabel('Time/ms')
%观察信号(混合信号)波形图
figure(2)subplot(4,1,1)plot(X(1,:))title('观察信号(混合信号)')
subplot(4,1,2)plot(X(2,:))
subplot(4,1,3)plot(X(3,:))subplot(4,1,4)plot(X(4,:))
Z=ICA(X)
figure(3)subplot(4,1,1)plot(Z(1,:))title('解混后的信号')
subplot(4,1,2)plot(Z(2,:))
subplot(4,1,3)plot(Z(3,:))
subplot(4,1,4)plot(Z(4,:))xlabel('Time/ms')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)