一种光伏***发电功率实时预测方法及装置
技术领域
本发明涉及可再生能源技术领域,特别涉及一种光伏***发电功率实时预测方法及装置。
背景技术
光伏***的理论发电功率计算,在光伏发电领域拥有较高的实用价值。高精度且实时的应发电功率计算结果,一方面可以帮助电站业主及时发现电站发生的故障或性能下滑等问题,量化问题导致的发电量损失;另一方面对于电网,可帮助其对通过不法手段骗取高额补贴的光伏发电用户实现有效监管,及时发现上网电量明显高于应发电量的异常情况。
光伏发电是一个多变量耦合的非线性过程,其中最主要的变量是太阳辐射和电池板的温度,而光伏电站能够接收到的太阳辐射大小以及电池板的温度高低,与电站所处地区的气候条件息息相关。
目前的光伏应发电功率(理论发电功率)计算技术,通常通过光伏电站的气象及发电功率数据采集装置和数据仓库技术对光伏电站历史运行数据进行大量收集,在海量历史数据中学***了历史数据中不同日期的不同发电特征,计算不精确。
发明内容
有鉴于此,本发明的主要目的在于,提供一种光伏***发电功率实时预测方法,通过对电站当地的天气预报数据进行分析,自动将数据分为几种天气类型,并按照不同天气类型对训练数据进行分类,分别对各类数据单独进行建模计算,以提高计算的精度。
本发明提供一种光伏***发电功率实时预测方法,所述方法包括以下步骤:
A、获取指定日期的历史天气数据和相应日期的同一地区的历史光伏电站运行数据;
B、将所述历史天气数据按照天气类型,分类为不同天气类型对应的历史天气数据;并将所述历史光伏电站运行数据和对应日期的天气类型建立映射关系;并将每日光伏电站运行数据添加数据标签;
C、根据所述数据标签获取历史光伏电站运行数据对应的不同天气类型下的历史天气数据;
D、将所述不同天气类型下的光伏电站运行数据和历史天气数据作为训练数据,分别训练不同天气类型对应的光伏***发电功率实时预测模型;
E、根据当前的天气类型,选择对应该天气类型的光伏***发电功率实时预测模型;并将当前天气数据输入选择后的光伏***发电功率实时预测模型,以预测当前光伏***的发电功率。
由上,本申请通过对电站当地的天气预报数据进行分析,自动将数据分为几种天气类型,并按照不同天气类型对训练数据进行分类,分别对各类数据单独进行建模计算,以提高计算的精度。
优选地,所述天气数据包括但不限于:不同日期对应的天气类型、环境温度、光照强度;
其中,所述天气类型包括但不限于:阴、晴、多云、雨、雾、雪;
所述光伏电站运行数据包括但不限于:不同时间、光照强度、环境温度下的发电效率、发电功率值。
优选地,所述步骤C还包括:
将所述历史光伏电站运行数据和所述历史天气数据进行数据清洗和归一化处理。
优选地,步骤C所述数据清洗包括:
将历史光照强度数据按从大到小排序,每间隔20w/m2划分一个区间;
获取每个区间内的光照强度值所对应的发电功率值,并计算发电功率值的上四分位数、下四分位数;
将在小于d-1.5c或者大于u+1.5c范围内的发电功率值及其对应日期的天气数据删除;
其中,d为下四分位数,u为上四分位数,c为极差;其中,c=u-d。
由上,有利于找出不合格的功率值及其对应的同时刻光照、温度等数据,将其剔除。
优选地,步骤C所述归一化处理的公式为:
其中,z
new为归一化后的数据,z
n为原始数据,
为原始数据的均值,δ为原始数据的标准差。
由上,规避了由于光照、温度、功率等不同物理量的量纲不一致在训练模型时产生的影响,需要对训练数据进行归一化处理。
优选地,所述步骤D还包括:
通过计算所述预测模型的拟合度可决系数判断所述预测模型的拟合效果;当所述拟合度可决系数小于指定阈值时,对所述模型进行误差分析,并根据分析结果,对所述模型进行修正。
由上,有利于提高模型的精度。
优选地,所述拟合度可决系数的计算公式为:
其中,AR2为拟合度可决系数,n为数据点个数,p为所述预测模型的变量个数,
为残差方差,
为因变量方差。
优选地,所述对所述模型进行误差分析,并根据分析结果,对所述模型进行修正,具体为:
通过残差分析获取训练数据离群点;
将所述获取到的离群点进行剔除后,重新训练模型;
当判断重新训练后的模型的拟合度可决系数大于指定阈值或离群点数量为0时,模型修正结束,保存修正后的模型;
其中,当数值0在训练数据残差的置信区间范围内时,该残差对应的数据点为训练数据离群点;
其中,所述置信区间为[a,b];
其中,
为残差均值,δ为残差标准差,n为数据点个数。
由上,有利于提高模型的精度。
优选地,步骤E所述模型为:
Y=E*X
其中,当所述天气类型为晴或多云时,所述E=a0+a1H;当所述天气类型为阴雨雪时,所述E=a0+a1T+a2H;
其中,所述Y为发电功率,E为发电效率,X为光照强度值,H为小时值,T为环境温度,a0、a1、a2为系数。
由上,针对不同的天气数据建立相应的模型,以得到精度更高的模型,有利于在实时计算应发电功率时,调用不同天气数据相应的模型进行计算,提高计算精度。
优选地,所述装置包括:
历史数据获取模块,用于获取光伏电站发电所在地的历史天气预报数据及历史光伏电站运行数据;
时间同步模块,用于将所述历史天气数据按照天气类型,分类为不同天气类型对应的历史天气数据;并将所述历史光伏电站运行数据和对应时间的天气类型建立映射关系;
数据处理模块,用于将每日光伏电站运行数据添加数据标签;根据所述数据标签获取历史光伏电站运行数据对应的不同天气类型下的历史天气数据,并将所述历史光伏电站运行数据和所述历史天气数据进行数据清洗和归一化处理;
模型构建模块,用于将所述清洗和归一化后的数据作为训练数据,分别获取不同天气类型对应的光伏***发电功率实时预测模型;
模型自检验模块,通过自动自检验模型拟合残差的置信区间,对模型的训练过程进行重复迭代,以修正模型;
模型调用模块,用于根据当前的天气类型,选择与该当前天气类型对应的光伏***发电功率实时预测模型;并将当前天气数据输入选择后的光伏***发电功率实时预测模型,以预测当前光伏***的发电功率。
由上,本申请提供一种光伏***发电功率实时预测方法及装置,通过对电站当地的天气预报数据进行分析,自动将数据分为几种天气类型,并按照不同天气类型对训练数据进行分类,分别对各类数据单独进行建模计算。同时,在训练模型时区别于常规的回归模型,构建全新的函数形式及训练方法,以得到精度更高的模型结果,最后在实时计算应发电功率时,根据当天天气预报,判断调用相应的模型结果进行计算。该计算方法一方面在训练模型时可以分散计算资源,提高计算效率;另一方面,基于天气分型的方法,使得模型可以更好的学习数据在不同的天气模式下的特征,全新的多元回归函数形式可以进一步提高计算精度。
附图说明
图1为本发明实施例提供的一种光伏***发电功率实时预测方法的流程图;
图2为不同天气类型下的数据特征图。
具体实施方式
本发明实施例提供的基于天气分型和多元回归算法的光伏***理论发电功率实时计算方法的主要原理是根据光伏电站发电表现在不同天气类型下的差异,将历史训练数据进行分解,对每种不同天气类型下的数据单独进行建模和误差评价,由此在训练模型时无需计算电站的全部历史数据,只需计算具有不同特征的不同天气类型下的数据,在保证了电站预报精度的同时,省去了大量的冗繁计算;同时训练模型及模型误差评价时采取全新的函数构建和评价模式,可进一步提高模型的拟合精度。
下面将结合例图,对本发明实施例进行详细描述。
实施例一
参见图1,本实施例提供的一种光伏***发电功率实时预测方法,包括以下步骤:
S101,获取指定日期的历史天气数据,并将所述历史天气数据按照天气类型,分类为不同天气类型对应的历史天气数据。
具体的,在本步骤中,获取光伏电站所处城市的历史天气预报数据,对天气进行分类,首先划分为“晴”、“多云”、“阴”、“雨”、“雪”、等几种固定的模式,由于日累计辐射量对光伏电站的发电功率的影响较大,因此分析不同天气模式下光照数据的特征,如图2所示,判断不同天气模式下的日累计辐射量是否具有显著差异:
式中
为两样本的平均数,
为两样本的方差,σ
x1、σ
x2为两样本的标准差,γ为相关系数;
此处“样本”是指不同类型天气在不同日的日累计辐射量,相关系数公式为:
若计算结果t大于0.05说明两个样本是没有明显差异的,反之若值越小说明差异约明显,参见表1为例示出的t值;
|
雪 |
阴 |
雨 |
晴 |
多云 |
雪 |
1 |
0.13434 |
0.074761 |
1.81E-07 |
1.28E-09 |
阴 |
0.13434 |
1 |
0.082507 |
3.1E-07 |
3.89E-09 |
雨 |
0.074761 |
0.082507 |
1 |
1.9E-16 |
9.25E-27 |
晴 |
1.81E-07 |
3.1E-07 |
1.9E-16 |
1 |
0.074896 |
多云 |
1.28E-09 |
3.89E-09 |
9.25E-27 |
0.074896 |
1 |
表1
因此经过检定后,根据初次天气划分的结果在日辐射总量(即日累计辐射量)上的差异显著性,将初次天气模式划分进行合并,即二次划分为两大类,“晴或多云”与“阴雨雪”。
S102,获取与所述指定日期的历史天气数据相应日期的同一地区的历史光伏电站运行数据;并将所述历史光伏电站运行数据和对应时间的天气类型建立映射关系;并将每日光伏电站运行数据添加数据标签;根据数据标签可以获取历史光伏电站运行数据对应的不同天气类型下的历史天气数据。由S101可知,按照天气类型“晴或多云”与“阴雨雪雾”将历史天气数据划分为了两类,因此针对两组数据分别进行回归建模。
S103,数据清洗
根据数据标签获取历史光伏电站运行数据对应的不同天气类型下的历史天气数据。根据箱形图原理对历史数据进行清洗,将历史光照数据按从大到小排序,间隔20w/m2划分一个区间,提取每个区间内的光照值所对应的发电功率值p,计算功率值的上四分位数u、下四分位数d,将上下四分位数的差值c=u-d定义为极差,合格的功率数据p满足d-1.5c<p<u+1.5c,找出不合格的功率值及其对应的同时刻光照、温度等数据,将其剔除。
S104,数据归一化处理
由于光照、温度、功率等不同物理量的量纲是不一样的,为了规避不同元素由于量纲的不一致在训练模型时产生的影响,需要对训练数据进行归一化处理。
每一类天气类型下的数据经过数据清洗后,需要单独训练模型,所以分别针对每一类天气类型下的数据进行归一化处理。
其中,对S103中清洗后的数据进行归一化处理的公式为:
式中z
new为对于第n个原始数据归一化后的数据,z
nz
n为该第n个原始数据,
为原始数据的均值,δ为原始数据的标准差。
S105,根据清洗和归一化后的数据训练多元回归模型
影响光伏发电最主要的变量是太阳辐射和电池板温度,由于目前大部分的光伏电站仍采用固定支架的太阳能电池板,电池板受到的太阳辐射角度会随每日不同时间而变化,而电池板的温度通常跟环境温度及风速相关,因此若按常规回归方法,可尝试构建多元线性回归函数:
Y=a0+a1H+a2T+a3X+a4W
式中Y为发电功率,X为光照值,H为小时值,T为环境温度,W为风速,a0、a1、a2、a3、a4为系数;
前述的以“日”为单位的不同天气类型和辐射总量相关分析过程是为了将数据进行分类,以便于模型充分学习数据在不同天气类型下的特征,分类完成后,将分别针对每一类数据进行建模,建模的过程中将会应用到分钟级的数据,以便于模型能够实现实时的理论发电功率预测。
模型函数形式确定后,系数值为模型训练过程中通过训练数据自动进行计算。
在应用到光伏***中时,为了解决常规线性回归中的常数项问题,即每天的日出日落阶段,当光照等自变量参数趋近于0时,发电功率Y不会趋近于0,而是趋近于常数项a0,因此,构建全新的回归函数形式为:
进一步的通过历史训练数据的划分,分别对两组训练数据进行回归计算,回归计算即为训练模型的过程。即,分别对两组数据进行训练。
并通过t检验的方法分别验证两组回归模型参数的显著性:
其中x为自变量训练数据,se为残差标准差,b为回归模型参数;
通过参数显著性检验是否大于t0.05,采用查表法排除了并不显著的风速项W,以及在“晴或多云”训练组中排除了并不显著的温度项T,最终得到回归函数表达形式:
Y=E*X
其中Y为发电功率,X为光照值,E为发电效率,H为小时值,T为环境温度,a0、a1、a2为系数。
该回归方法首先避免直接对功率Y进行回归,而是对效率E进行回归并通过二次计算得到功率Y,可以有效避免常规回归方法中的常数项问题(即常规回归方法建模,当光照趋近于0时,发电功率计算结果不会趋近于0,而趋近于常数项a0的问题),同时根据当地的气候特点对不同天气分组下的回归参数分别进行了显著性检验,并且将不显著的参数进行了排除,构建了参数不同的回归函数形式,可进一步提高模型精度。
S106,判断预测模型的拟合度可决系数是否小于指定阈值。若是,则执行S107,若否,则执行S109,保存模型。
通过计算所述预测模型的拟合度可决系数判断所述预测模型的拟合效果;在模型训练数据中难免会存在由于采集误差、人为操作等原因造成的“噪声”数据。通常S104的数据清洗过程中,会对这些“噪声”数据做剔除,然而经过清洗后的数据也并不能保证100%的反映某种模式或特征。由此,为了进一步提高模型的拟合精度,需要在建模完成后对残差进行判断,首先计算模型的拟合度可决系数AR2判断模型的拟合效果,计算公式如下:
其中,n为数据点个数,p为回归模型变量个数,
为残差方差,
为因变量方差。
通过该公式的计算结果可以初步判断模型的拟合效果好坏,自变量指模型训练数据中的输入变量,因变量指模型训练数据中的输出变量,残差是指模型结果(估计值)与因变量(实际值)之间的差。具体的,在本发明中,因变量方差是指各个实际的功率Y的方差;残差方差是指功率预测模型预测的结果与各个因变量(即各个实际功率)之间的差的方差。
若AR2大于0.95认为模型的拟合效果较为理想,则执行S109,保留模型;反之,若AR2小于0.95,则进一步执行S107。
S107,通过残差分析判断数值0是否在训练数据残差的置信区间范围内,其中,训练数据残差的置信区间[a,b]:
其中,
为残差均值,δ为残差标准差,n为数据点个数;
计算得到残差的置信区间后,判断数值0是否在区间范围[a,b]内,若不在,则认为该残差较为显著。进一步执行S108。
S108,定义该较显著的残差对应的数据点为离群点,将该残差对应的数据点剔除,并用新数据重新训练并获取训练后的预测模型。并返回执行S106。
S109,保存修正后的模型。
S110,当需要计算光伏电站的实时应发电功率时,首先采集当天天气预报结果,得到当前的天气类型和天气数据,选择适应当前天气类型的预测模型,输入选择的模型所需要输入的变量参数,例如,若阴雨雪雾天气类型所对应的预测模型,则输入当前光照、温度、小时数等变量,实时计算得到光伏电站应发功率,通过将每一时刻的应发功率进行积分得到应发电功率结果。
实施例二
基于上述光伏***发电功率实时预测方法,本发明还提供了一种光伏***发电功率实时预测装置,其特征在于,所述装置包括:
历史数据获取模块,用于获取光伏电站发电所在地的历史天气预报数据及历史光伏电站运行数据;
时间同步模块,用于将所述历史天气数据按照天气类型,分类为不同天气类型对应的历史天气数据;并将所述历史光伏电站运行数据和对应时间的天气类型建立映射关系;
数据处理模块,用于将每日光伏电站运行数据添加数据标签;根据所述数据标签获取历史光伏电站运行数据对应的不同天气类型下的历史天气数据,并将所述历史光伏电站运行数据和所述历史天气数据进行数据清洗和归一化处理;
模型构建模块,用于将所述清洗和归一化后的数据作为训练数据,分别获取不同天气类型对应的光伏***发电功率实时预测模型;
模型自检验模块,通过自动自检验模型拟合残差的置信区间,对模型的训练过程进行重复迭代,以修正模型;
模型调用模块,用于根据当前的天气类型,选择与该当前天气类型对应的光伏***发电功率实时预测模型;并将当前天气数据输入选择后的光伏***发电功率实时预测模型,以预测当前光伏***的发电功率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。