发明内容
本发明所要解决的技术问题是提供一种能够动态掌握光伏发电系统的电能质量状况和输出特征的基于采集到的电能质量数据和环境参数对光伏数据进行分析评估和发电负荷预测的方法。
本发明解决其技术问题所采用的技术方案:
一种基于采集到的电能质量数据和环境参数对光伏数据进行分析评估和发电负荷预测的方法,其特征在于具体步骤如下:
(1)将采集到的光伏发电系统的电能质量参数进行分类并提取各类电能质量参数的特征;将所述各类电能质量参数的特征转换成IEEE1159.3标准格式,然后按时间关系进行排序后存入到数据库中;再按GB/T14549-1993和GB/T19939-2005中规定的限值进行评估;
所述电能质量参数包括电压、电流、谐波电压、谐波电流和功率;
所述电能质量参数的特征包括最大值、最小值、平均值和时标值;
(2)将采集到得光伏发电系统的环境参数转换成标准的ACCESS数据库格式,然后按时间关系进行排序后存入到数据库中;所述环境参数包括风速、辐照度、环境温度和组件温度;
(3)将各电能质量参数分别与环境参数按时间关系进行相关性对比形成对序列,然后根据对序列绘制坐标图,所述坐标图的横坐标为时间坐标轴;
(4)通过BP神经网络建立光伏发电负荷预测模型并对其进行训练与评估:
A.所述预测模型的建立步骤如下:
a.确定光伏负荷预测模型的输入量和输出量:
所述输入量包括辐照度、环境温度、固定采样时间点的发电功率和日类型;
所述输出量选用预测日采样时间点的所述预测模型的发电量为输出量;
b.确定BP神经网络的结构及其各层的激励函数:
所述BP神经网络的结构为一个隐含层的三层BP神经网络;其输入层节点对应于所述预测模型的输入量;其输出层节点的个数等于一天采样时间点的个数;其隐含层节点数根据下述公式(1)确定:
式中,为隐含层节点数,n为输入层节点数,m为输出层节点数,a为1-10之间的调节常数;
BP神经网络中间层的神经元激励函数采用S型正切函数tansig,其输出层神经元激励函数采用S型对数函数logsig;
c.利用MATLAB 神经网路工具箱建立BP神经网络;
B.对所述BP神经网络进行训练与评估:
a.在训练之前对样本数据按下述公式(2)进行归一化处理:
式中,Pi为原始目标和输入数据,Pmax、Pmin分别为P中的最大值和最小值,PI为归一化后的目标和输入数据;
b.确定训练参数,开始训练:
所述训练参数包括训练函数、训练次数、学习效率和训练目标;
c.训练完毕后,对待预测日进行预测并对所述预测模型进行评估:
评估方法选用平均绝对百分比误差MAPE,即按下式(3)进行评估;
式中,
为数据总数;
为预测值;
为真实值;
i为数据序号。
本发明的有益效果如下:
(1)能够动态掌握光伏发电系统的电能质量状况和输出特性。
(2)为光伏发电负荷预测提供一种分析方法和手段,也为大量分布式光伏发电系统接入配电网提出一种技术支持。
(3)本发明提出了基于有功功率与辐照度对序列的概念,通过对有功功率与环境参数中的相关信息进行相对性对比分析,形成二维或多维关系坐标图,以便于分析对比。
具体实施方式
实施例:以某10kW小型光伏发电系统为例:
本实施例基于服务器和Windows Server 2008 R2操作系统,采用.net架构,控制部分和数据采集使用DSP处理器和ARM处理器,数据存储使用SQL Server2008(参见图2)。
本实施例的具体步骤如下:
首先,对通过电能质量监测终端PQ-6000采集到的光伏发电系统电能质量数据进行分析归类,包括:电压、电流、谐波电压、谐波电流、不平衡度和功率等,提取这些参数的特征如最大值、最小值、平均值和时标值,转换成IEEE1159.3标准格式,按时间关系进行排序存入到数据库中,结合GB/T14549-1993和GB/T 19939-2005对电能质量数据进行评估和分析:
以电压偏差为例,从数据库提取过去24小时采集的A、B、C三相电压有效值的最大、最小和平均值,每5分钟有一组基础数值。首先去除基础数据中的异常数据,然后所有值按大小进行排序计算,分别得到A、B、C三相电压有效值的最大、最小和平均值。横向比较A、B、C三相电压有效值的最大、最小和平均值,可以得到三相电压有效值的最大、最小和平均值。根据公式
(δU表示电压偏差,U
re表示实际电压,单位为kV,U
N表示系统标称电压,单位为kV),最终得到光伏电源过去一天电压偏差的最大、最小和平均值。
基于上述的A、B、C三相电压有效值的平均值,由大到小次序排列,分别舍弃前面5%、1%的大值,取剩余值中的最大值,得到A、B、C三相的95%概率大值、99%概率大值,取A、B、C三相的95%概率大值、99%概率大值中的最大值,由此也可以得到电压偏差的95%概率大值、99%概率大值,将此95%概率大值与GB/T 19939-2005中规定的限值相比较,可以知道电压正负偏差是否超出限值要求,如图3所示,CP95、CP99为95%概率大值、99%概率大值,图中斜体字(或蓝色字)表示电压偏差未超标,反之粗黑体字(或红色字)表示电压偏差超标(本图中没有电压超标的)。
负序电压不平衡度分析结果见图4。
基于日的最大、最小、平均值分析得到周/月/季的最大、最小、平均值,周/月/季的95%概率大值、99%概率大值分析与日的95%概率大值、99%概率大值相同。
谐波电压、谐波电流、不平衡度等电能质量参数的分析与电压偏差相同。
(2)其次,对光伏发电系统配置的环境参数测量模块WEBBOX进行数据采集,将采集到的风速、辐照度、环境温度、组件温度转换成标准的ACCESS数据库格式,按时间关系进行排序存入到数据库中;
(3)然后,将电压有效值、功率与风速、辐照度、环境温度、组件温度按时间关系进行相关性对比分析,以有功功率P(单位kW)、辐照度(单位W/㎡)为例,可以得到有功功率(P1,P2,……,Pn)、辐照度(S1, S2, ……, Sn)形成的对序列(<P1, S1>,< P2,S2>,……,< Pn , Sn >)。根据的对序列绘制坐标图(见图5和图6),其中辐照度和有功功率为纵坐标,时间为横坐标。
图7为按照B相电压有效值与辐照度的对序列绘制的坐标图。
(4)最后,研究辐照度、日类型、大气温度、季节以及其他因素对光伏发电系统出力的影响及处理方法,通过BP神经网络进行光伏发电系统负荷预测模型的设计,确定输入层节点、输出层节点和隐含层节点数。再对预测模型的训练与评估,提高负荷预测的精度。
A.所述预测模型的建立步骤如下:
a.确定光伏负荷功率预测模型的输入/输出量;
在光伏阵列发电预测中,需要考虑的环境因素很多,因此在选择预测模型的输入变量时着重考虑一些与光伏发电关联性较强的确定性因素。
对于既定的光伏阵列来说,一个明显的特征就是光伏阵列发电量时间序列的本身高度自相关性,因为在阵列的历史发电量时间序列中,所有的发电量时间序列来自于同一发电系统,数据自身就包含了光伏阵列的系统信息,解决了光伏阵列的安装位置随机性和光伏阵列的使用时间等对转换效率的影响。因此在负荷预测模型中,要将前一段时间的相关发电量数据作为输入变量,预测模型采用预测日前一天的数据进行预测。
由于辐照度与光伏阵列发电量有直接关系,可以根据两者的相关性实现对光伏发电的预测。为了体现辐照度对历史发电数据的影响故让其直接作为预测输入量。同一季节相同日类型且最高最低气温相近天气的辐照度基本相似,而且日类型的变化对于光伏阵列发电的影响也相当显著,所以采用最近日期相同日类型的辐射量数据作为输入量建立预测模型,辐照度作为输入量可以提高了模型预测精度。
环境温度对光伏阵列发电量的影响不容小视。因此,预测模型的输入变量中需要考虑环境温度。转换效率和阵列面积等参数已经隐含在历史发电数据中,在输入变量的选择中须考虑辐照度和大气温度的变化。
所述模型输出量的选择是根据具体事例为准,光伏预测中是预测发电量,故选用预测日固定采样时间点的发电功率模型的输出量。
b. 确定BP神经网络的结构及其各层的激励函数;
因为任何一个三层的神经网络可以描述任何一个非线性系统,所以对于一个非线性网络可选用含有一个隐含层的三层BP网络。
输入层节点对应于所述模型的输入量,输入量选择的不同,决定了输入层节点个数。光伏预测模型中,输入量选择一天当中固定采样时间点的发电功率,同时辐射量、气温、日类型也作为输入量。例如时间点为(9:00、9:30、10:00、10:30······15:30、16:00)一共15个采样点;同时考虑气温的影响,可以选用前一天和预测日的最高气温、最低气温4个量;天气类型的影响也考虑在内,预测日的日类型(即晴天、多云、下雪三种天气类型 分别赋值为‘1’、‘0.5’、‘0’)1个量;以及最近日期同一日类型的辐射量在该时间段的最大值、最小值、平均值3个量。这种情况下输入层的节点为23个。
该网络的输出层节点的确定,与所述模型的输出有关,因为输出是一天中固定采样时间点的发电功率,所以输出层节点的个数等于一天采样时间点的个数。假设时间点为(9:00、9:30、10:00、10:30······15:30、16:00)一共15个采样点,则输出层节点个数就为15。
隐含层节点对神经网络性能有一定的影响。隐含层节点数与求解问题的要求、输入输出节点数多少都有直接关系,隐含层节点数的选择是个十分复杂的问题。隐含层节点数过少,容差性差,识别未经学习的样本能力低;隐含层节点数过多会增加网络训练时间,并且将样本中非规律性内容(如干扰、噪声)存储进去,降低泛化能力,根据经验和大量的网络训练仿真来确定隐含层节点数。因此依据以下公式进行设计:
式中,
为隐含层节点数;n为输入层节点数;m为输出层节点数;a为1~10之间的调节常数。
因为发电功率为大于零的正值,并且光伏发电系统是非线性的,为了满足所述网络的输出要求,所述网络中间层的神经元激励函数采用S型正切函数tansig,输出层神经元激励函数采用S型对数函数logsig。
c.利用MATLAB建立BP神经网络;
利用MATLAB神经网络工具箱,其中有很多典型神经网络框架和相关的函数,可以根据自己的需要调用工具箱中有关神经网络的设计与训练的程序。
B.对所述BP神经网进行训练与评估:
所述网络设计完成后,要采用样本进行训练。训练时对所有样本正向运行一轮并反向修改权值一次称为一次训练。通常训练一个网络需要成千上万次。对于短期发电预测来说,问题的复杂程度虽然无法人为控制,但通过按季节因素对所述模型进行拆分,拆分后的子模型的复杂程度大大降低,而且经过前面的分析,已经确定了所述网络的结构,因此样本的数量与质量对于所述模型的训练至关重要。其所述网络训练步骤为:
a.所述网络训练之前对样本数据的归一化处理;
将所述神经网络应用于光伏阵列负荷预测问题时,训练所述网络的原始数据中,不同的变量通常以不同的单位变化,数量级的差异也比较大,光伏阵列发电量的数值变化范围,相对于该地区气温的数值变化范围更广。通过神经元激活函数的特性知道,神经元的输出通常被限制在一定的范围内,由于所述模型是非线性特性,激励函数选用S型函数,其输出被限定在[0,1]之间,原始数据,尤其是期望输出值通常在该区间之外,直接以原始数据对所述网络进行训练会引起神经元饱和,因此在对所述网络进行训练之前必须对原始数据进行归一化处理,以消除原始数据形式不同所带来的不利影响,将原始目标和输入数据转换到[0,1]区间内。归一化公式为:
Pi为原始目标和输入数据。Pmax、Pmin分别为P中的最大值和最小值,PI为归一化后的目标和输入数据。
b.确定训练参数,即训练函数、训练次数、学习速率和训练目标,开始训练;
训练函数的选择决定了一个网络运算的时间和收敛精度,对于不同的问题,很难比较算法的优劣;对于特定的问题,应当尝试采样多种不同类型的训练算法,以期获得满意的结果。MATLAB中有不少训练网络算法,可以灵活应用到实际问题中。
对于样本的训练必须有足够的训练次数,以使其训练结果为最后稳定到最小值时的结果,而不是得到一个正好摆动到较大的误差值时的网络权值。
训练参数的选择对训练结果的影响是相当大的。学习速率太大,将导致其误差值的来回振荡,太小将无法达到最小值点。只能采用不同的学习需速率进行对比尝试。一般情况选取较小的学习速率以保证系统的稳定性。选取范围为0.01~0.08,典型的取值为0.05。
训练目标的选取也应当通过对比训练后确定一个合适的值,可以同时对不同训练目标的网络进行训练,最后通过综合因素的考虑确定采用其中一个网络。
c.训练完毕后,对待预测日进行预测并利用评估方法对其结果进行评估:
对神经网络发电预测模型的评估有很多方法,如平均绝对偏差、均方差、平均绝对百分比误差。通过比较,选用平均绝对百分比误差MAPE。
式中,
为数据总数;
为预测值;
为真实值;
i为数据序号。