APP下载

基于时序数据处理的分布式光伏功率预测系统

2021-09-17刘晓艳王珏姚铁锤迟学斌王晓光李凯

数据与计算发展前沿 2021年4期
关键词:辐照度电站气象

刘晓艳,王珏,姚铁锤,迟学斌,王晓光,李凯

1.中国科学院计算机网络信息中心,北京 100190

2.中国科学院大学,北京 100049

引言

近年来,随着科技的发展,太阳能相关行业发展迅速。太阳能绿色洁净、可再生的优点,使其成为最具有应用前景的新能源之一[1-3]。在环境恶化逐渐加剧的今天,世界光伏产业展示出巨大的发展前景,从能源利用的发展趋势来看,光伏发电最终将成为电能的重要来源[4]。

分布式光伏功率具有典型的概率分布特性,是光伏电站优化规划设计、出力预测和优化调度管理的重要基础数据,而光伏功率受太阳辐照周期以及各种气象因素随机变化的影响,具有明显的随日、月、季节变化而变化的特点,气象数据质量和季节周期对光伏发电预测起着重要作用[5]。

电力系统中光伏发电量占比逐年增加,电网调度难度也逐步加大[6]。光伏发电功率的预测值将作为电网调度的依据,因此精准预测光伏电站的发电功率,可以使得电网调度计划得到及时调整,进一步保证电网电能质量[7]。

为支撑智能电网相应部门对分布式光伏电站的管理与调度,本文提出支持多种时序数据(数值天气预报、光伏电站气象信息、历史功率等)的数据预处理算法,并基于该算法封装数据管理层,然后集成了24 小时、4 小时、15 分钟不同尺度的功率预测模型,最终设计并实现了包括数据管理层和模型预测层的分布式光伏功率预测系统。

1 时序数据预处理

在光伏时序数据的采集过程中,由于传感器的故障、纪录人员的误操、传输出错以及个别极端天气的影响,都会导致缺失值、异常值的出现,影响数据的正常使用。对光伏时序数据的预处理包括缺失值处理和异常值处理。对缺失值的填充包括固定值、中值、插值等统计学填充方法[8],自回归模型(Autoregressive Model,AR)[9]、自回归差分移动平均模型(Autoregressive Integrated Moving Average Model,ARIMA)[10]等模型填充方法,以及KNN[11]等机器学习填充方法,本文使用统计学填充方法中的插值填充进行缺失值的填充。对异常值的检测除了3σ法则和回归分析等统计方法[8],也可以通过聚类方法将不能聚类的数据视为异常[12],或者将异常检测问题转为分类和预测,使用RNN、CNN 等方法解决[13]。在本文中,基于特征本身特性进行异常值的检测,比如地面到达的辐照度是大于0,小于1300w/m2的,因此小于0 或者大于1300w/m2的辐照度值必是异常值。对异常值检测后的修正与缺失值的填充方法相同,采用插值修正。连续的大段的异常值和缺失值将严重影响数据质量,因此采用删除法删除有大段异常或缺失值的当天数据[14],这样既保证了数据质量,又保证了光伏时序数据天内的连续性。

通过高效的对异常数据和缺失数据进行删除或插值能够提高数据质量,进而提高预测模型的性能[15]。

1.1 预处理算法简述

X表示某电站在某一天原始的光伏特征(功率特征或者辐照度等气象特征)序列,是一维数组;T是一个常数表示数组X的长度;τ是一个长度为的T字符串数组,存储了特征对应的时刻字符串,如“23:45”;Y表示经算法1DataPreprocess()预处理后的特征序列;longConsecutive()表示最长连续子数组长度算法(详见算法2);interpolate()表示线性插值函数见公式(1)。

算法1 以X,τ,T为输入,输出Y。由于功率或辐照度必定是大于等于0 的,且不可能无限大,经统计得到光伏特征的最大值η,如果特征值小于0 或者大于η,则判定为异常值。特征值为None或者在白天为0 则判定为是缺省值。处理过程中会对X中的每一个X[t]进行遍历,判断是否是异常值及缺省值,如果是,则将异常值或缺省值添加到待处理特征数组对应的下标添加到待处理时刻数组然后以作为的输入,得到该站点在这一天最长的连续异常或缺失的时刻数如果则认为是属于“段缺省值”或者“段异常值”的情况,进而调用通过正常时刻及对应特征值的函数关系,填补缺省值和纠正异常值,得到处理后的特征数组Y。如果则认为属于“天缺省”或者“天异常”的情况,直接去掉这一整天数据,即将处理后的特征数组Y置空,令。

线性插值法(Linear Interpolation Method)如式(1)所示。为已知的两个点,表示某一时刻在中的下标及其对应的特征值,其中对于给定的一个时刻经公式(1)即可计算得到t时刻对应的特征估计值。

算法 1 数据预处理算法

Alg 1 Data preprocessing algorithm

算法1:Data Preprocess输入:X,τ,T输出:Y 1:u =[]2:u’ =[]3:X’ =[],Y =[]4:for t = 0;t < T;t ++ do 5:6:if or or is None or(<=<=and )7:then 8:9:10:end if 11:end for 12:13:if 14:then

算法1:Data Preprocess 15:16:else 17:images/BZ_146_1424_588_1439_619.png18:end if 19:return Y

算法 2 最长连续子数组长度算法

Alg.2 Algorithm of the longest continuous subarray length

算法2:Long C:onsecutive输入输出:1:2:3:4:do 6:if 5:while 7:then 8:9:10:else 11:12:13:14:15:end if 16:end while 17:return

1.2 缺省值处理

光伏原始时序数据中的缺省值包括“天缺省值”和“段缺省值”。其中,“天缺省值”采用整体去除该天所有特征的方法。图1 为某光伏电站2019年3月6日至2019年3月14日功率时序曲线,其中3月9日、3月10日、3月11日、3月12日的功率均为0,3月8日整天只有一个值,可能是由于功率序列的错报造成,因此数据缺省值处理需要去除3月8日至3月12日的所有特征数据。

图1 某光伏电站功率(2019.3.6-2019.3.14)Fig.1 The power of a photovoltaic power station(March 6,2019 -March 14,2019)

“段缺省值”需要采用线性插值法,图2 为某光伏电站2019年5月31日至2019年6月2日直射辐照度曲线,其中2019年6月1日的14:15、14:30、14:45、15:00 值为0,因此需要根据其他时刻的功率对这4 个缺省时刻采用线性插值法处理,得到完整时序数据。

图2 某光伏电站直射辐照度(2019.5.31-2019.6.2)Fig.2 The direct irradiance of a photovoltaic power station(May 31,2019 - June 2,2019)

1.3 异常值处理

以某光伏电站一年的实测总辐照度曲线为例,其实测总辐照度峰值基本在1300W/m2以下,而在2018年8月4日至8月7日中,实测总辐照度有大段数值超过1300W/m2,属于“天异常值”的情况,在异常值处理时需要将所有异常天整体剔除。对于某天中少量的某几个超出峰值或者小于0 的点,称为“段异常”点,异常处理时通过线性插值法纠正。

图3 某光伏电站总辐照度(2018.8.4-2018.8.7)Fig.3 The total irradiance of a photovoltaic power station(August 4,2018 - August 7,2018)

1.4 数据集整合

经过上述的预处理之后,需要对完整数据集进行整合。光伏发电功率预测模型的训练是以天为基本时间单位的,则数据集完整的定义是一天的时间间隔内,每个采样时刻点对应的光伏出力数据和气象数据都应该是有效值。对于不满足要求的,则按前述算法开展数据预处理工作。

2 分布式光伏功率预测系统设计

2.1 系统概述

分布式光伏功率预测系统依据国家电网的相关标准和规范的要求,功能建设以电网调度管理人员为中心,以功率预测为主要任务,以数据处理与管理为基础,实现智能电网用户对辖区内光伏站功率的把控。

分布式光伏功率预测系统实现了对光伏电站功率和气象信息等数据的采集及数据处理,进而得到预测模型的输入特征。特征包含数值天气预报值、辐照度及功率。不同预测模型分别进行24 小时、4小时和15 分钟的功率预测。同时,预测结果以图形化的方式在网页端展示。具体的功能如图4所示。

图4 分布式光伏预测系统功能图Fig.4 Functional diagram of distributed photovoltaic forecasting system

系统自下而上分为数据管理层、预测模型层以及可视化展示层。其中,数据管理层提供数据支撑给预测模型层,提供功率预测的数据作为输入。预测模型层提供预测服务,支持24 小时、4 小时和15分钟三种时间尺度的功率预测模型。可视化展示通过划分区域和划分电站展示对应的功率预测信息和气象信息。系统管理包含用户、权限以及日志管理三部分,保障系统的正常运行。

2.2 数据管理层

2.2.1 数据接口

数据驱动是科学研究与应用的重要特征[16-17]。系统通过数据接口,定期获取不同来源的数据。数据输入包括数值天气预报、光伏电站实时测量气象信息、光伏电站发电功率以及“葵花8 号”卫星云图产品。

(1)数值天气预报

数值天气预报数据由数值天气预报中心提供[18-19],包含多源气象数据的预报值,且可以自动获取,而且支持人工操作进行数据的补充录入。预报数据为逐15 分钟数据,覆盖第二天零点至未来72 小时的整个时间段。数值天气预报数据每天至少对风(风速和风向)、辐照度(总辐照度、直射辐照度和散射辐照度)、温度和湿度等数据更新一次。

(2)光伏电站实时测量气象信息

实时测量气象数据来源于光伏站位置的相关气象传感器,同样为逐15 分钟数据,包含风(风速和风向)、辐照度(总辐照度、直射辐照度和散射辐照度)、温度(气温和光伏面板温度)和湿度等测量值。系统支持按照设定的方式和频率自动完成数据采集,并支持人工操作进行数据的补充录入。

(3)光伏电站发电功率

光伏电站发电功率数据来自于其他监控系统,为实时数据,其中集中式光伏数据为逐15 分钟数据,分布式光伏为逐5 分钟数据。

(4)“葵花8 号”卫星云图产品

地球同步气象卫星“葵花8 号”提供电站位置范围的卫星云图遥感数据。根据系统设置,系统自动获取与光伏电站位置相关联的卫星云图遥感数据并保存为矩阵。

2.2.2 数据清洗

系统对获取的数值天气预报数据、光伏站实时测量气象数据、光伏站发电功率数据以及“葵花8 号”数据按照站点和时间进行关联,并进行数据预处理,使其满足可训练的需求,并建立数据库。

2.3 预测模型层

预测模型层在本系统中起到核心功能的作用,主要实现在不同时长及时间尺度下的光伏出力预测。根据其预测周期的不同,分为24 小时预测模型、4小时预测模型以及15 分钟预测模型。

2.3.1 24 小时预测模型

24 小时短期预测主要用于优化常规发电机组的日发电计划和系统的冷热备用,以及安排风电场的维护计划。24 小时功率预测模型将气象局提供的未来一天的数值天气预报数据作为输入特征,动态捕捉数值天气预报数据的时序特征后,输出未来一天的光伏发电功率预测值。鉴于数值天气预报数据每天提供一次,因此24 小时功率预测模型每天更新一次,可以显示未来一整天的功率变化趋势。

2.3.2 4 小时预测模型

4 小时短临预测主要用于帮助调度调峰和机组组合。4 小时功率预测模型根据场站实测气象数据结合数值天气预报数据预测未来4 小时功率,利用两个长短期记忆人工神经网络模型,每小时更新一次未来功率的变化趋势。

2.3.3 15 分钟预测模型

15 分钟超短期预测主要用于在线机组优化组合、调整轮转备用容量、优化调频和调度经济负荷。含有气象量测装置的15 分钟功率预测模型根据场站提供的电站实测气象数据,使用功率预测模型滚动预测下一时刻点的功率;无气象量测装置的15 分钟功率预测模型将结合小尺度短临辐照度预测的结果进而预测光伏发电功率。15 分钟更新一次的功率预测值为调度工作人员调整调度计划提供依据。

2.4 可视化展现

如图5所示,可视化展示由区域功率预测展示和单个光伏电站功率预测展示两部分组成。

图5 可视化展示Fig.5 Visual display

区域功率预测展示主要展示某区域内光伏电站出力预测态势。左侧包含集中式和分布式光伏站两类数据。右侧是光伏出力预测的态势展示。展示信息包括15 分钟、4 小时和24 小时模型当前时刻的预测值。其中,24 小时模型展示当天每个整点时刻本区域内所有光伏电站功率预测的情况。4 小时模型展示的是未来4 小时,整点时刻本区域内所有光伏电站的功率预测情况和平均绝对误差值。15 分钟模型展示本区域内所有光伏电站未来15 分钟的功率预测情况以及平均绝对误差值。当用户点击选中特定站点时,进入单个光伏电站的功率预测展示页面。

单个光伏电站功率预测主要包括本站24 小时模型、4 小时模型以及15 分钟模型功率预测的结果。同时,数值天气预报数据和实测气象数据展示在右侧区域。用户可通过页面上部的日期选择功能,回溯历史日期,查看本站出力预测的情况。

2.5 系统管理

系统管理模块包括用户管理模块、权限管理模块和日志管理模块。用户管理模块维护系统用户的新增、信息修改、用户状态更改和角色的设置等。权限管理将用户权限粒度细化到每一个按钮上,保证最大限度管理。日志管理主要对系统运行状况的输出日志结果进行展示,包含了系统中的用户的操作、预测结果和数据清洗任务等在系统运行过程中的详细信息。这些子模块相互协作,使得分布式光伏功率预测系统的稳健顺利运行得到保证。

2.6 系统实现

分布式光伏功率预测系统采用“浏览器/服务器模式”架构,即客户端浏览器作为电网工作人员与系统管理人员的工作界面,服务器端完成主要的业务逻辑处理过程。客户端只需基本的浏览器,而无需再安装新的应用程序。图 6 为系统技术架构图,从下至上依次为数据层、服务层、展示层,其中服务层包含系统的数据访问和业务逻辑等部分的功能。

图6 系统技术架构图Fig.6 The diagram of system technical architecture

为了满足功率预测相关数据存储以及高访问量的需求,系统采用“MySQL+Redis”的形式,组成系统的数据层。其中,MySQL 是Web 应用的常见数据库选择,而采用Redis 的管道通讯方式能够方便地进行数据读取操作。

系统采用SpringBoot 作为服务层框架,SpringBoot 耦合Spring 框架,能够灵活构建无配置文件的应用程序,简化了项目开发过程[20]。JPA(Java Persistence API)提供了一种自EJB3.0 规范以来管理持久性和对象关系映射的机制,适用于JavaEE 环境的Java 编程模型。

系统采用Vue 作为前端UI 框架,Vue 提供了丰富的高质量Web 弹层组件,避免了各种前端工具的复杂配置,只需专注于元素交互过程的构建。同时,为了使系统表现更丰富,系统通过使用Ajax 技术和Echarts 图形化工具对功率预测的数据进行可视化展示。在终端设备兼容方面,Echarts 绘制的可视化图表能够在不同的终端设备上流畅运行[21]。

3 结论与展望

本文首先提出一种面向光伏时序数据的预处理算法,并基于该算法设计数据管理层,并集成了预测模型层和可视化展示层,实现了分布式光伏功率预测系统。该系统能够对多种气象数据和光伏电站数据进行预处理,并且可以方便地在多个时间尺度、区域范围预测不同电站的未来功率。

使用针对时序数据的预处理算法提升数据质量,及时精准地预测光伏出力,对降低光伏电站成本和电力系统运行成本、高效利用能源以及保证电网与负载的安全稳定运行都有重要的意义。设计更高效的数据预处理算法、研究和集成丰富的预测模型是未来工作的重点。

利益冲突声明

所有作者声明不存在利益冲突关系。

猜你喜欢

辐照度电站气象
气象树
三峡电站再创新高
《内蒙古气象》征稿简则
气象战士之歌
低影响开发(LID)在光伏电站中的应用
大国气象
中国典型地区水平总辐射辐照度频次特征*
太阳模拟器辐照度修正方法的研究
太阳光辐照度概率分布参数对电网可靠性的影响
应用计算几何的月面太阳辐照度仿真模型