基于机器学习分析气象因素-光伏发电出力的预测模型的研究

(整期优先)网络出版时间:2023-11-23
/ 2

基于机器学习分析气象因素-光伏发电出力的预测模型的研究

吴成珂 刘志超 董琦彦 李岳 张小飞

国网浙江省电力有限公司青田县供电公司  323900

【摘要】随着越来越多的大规模光伏电站、风电场并网运行,间歇式电源的发电容量在部分区域电力系统中所占比例大大提高,给电力系统的供需平衡、安全稳定运行与控制带来了巨大挑战,大大加重了电网的调度负担。其输出功率在短期内呈现随机性和不确定性,大规模并网容易引起电网波动。因此前期充分调研各气象因子的数据对比和整理,根据其关联程度和差异性,基于Python环境下,使用机器学习人工智能技术,设计基于天气信息预测光伏发电功率的预测模型,并采用经过处理的数据进行对模型的训练, 准确的光伏出力预测模型在电网侧可以帮助电网调控中心较为准确预测光伏出力水平,并提前安排负荷平衡措施,保障高比例分布式光伏并网后电网运行稳定;在用户侧可以指导光伏发电项目业主合理安排检修计划,优化发电运行方式,提升光伏设备发电小时数。

【关键词】分布式光伏发电、光伏处理预测模型、机器学习技术、气象数据分析

【研究背景】我国能源供应中,煤炭占主导地位,其消耗量相当大,煤炭燃烧带来了一系列严峻的环境问题。从能源供应和环保保护的双重角色考虑,我国政府已经着手计划并才去有效措施发展可再生能源技术。光伏发电具有:无污染、无噪音、安装方便、维护简单、故障率第等优点。光伏是继水力和风力发电之后,全球装机容量第三位的重要可再生能源。浙江丽水发改委发布关于丽水市2021年国民经济和社会发展计划执行情况及2022年国民经济和社会发展计划草案的报告,其中指出,2021年丽水积极推动光伏发电项目建设,全市9个县(市、区)均被纳入国家整县推进分布式光伏开发试点,为全省唯一,全市光伏发电新增并网29.14万千瓦时,同比增长653%

人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,这也使得使用人工智能技术预测光伏发电功率成为可能。

【数据概述】

  1. 数据来源

本次光伏数据取自国家电网公司采集2.0系统中丽水青田县分布式光伏用户发电数据,该数据集共计35040条数据。

  1. 数据维度

数据样本为excel文档类型,主要包括:时间、直接辐射、总辐射、散射辐射、组件温度、环境温度、气压、相对湿度、实际发电功率、可用发电功率、理论发电功率、开机
容量属性。如下图1所示:

图1. 数据集类型

  1. 数据预处理

3.1数据清理

根据真实情况分析,数据清理主要是有以下几步:

(1)去掉所有不完整的数据;

(2)将实际发电功率小于0的数据,统一处理为0;

(3)去掉环境温度大于60摄氏度或者小于-10摄氏度的数据;

(4)通过数据分析,显示有传感器异常值,去掉环境温度为0、36.6、41.9摄氏度的数据,见图2所示;

(5)去除掉其他不符合逻辑或真实情况的异常数据。例如在白天时段辐射轻度很低,但在晚上有很高的数据等情况的异常值。


图2. 环境温度数据折线图

3.2特征提取

数据集中的直射辐射、散射辐射,与总辐射呈线性关系,因此只需使用其中一个,本研究使用直射辐射作为特征。


而图3是相对湿度数据折线图,从图中可以看出,相对湿度数据嘈杂混乱,且存在大量异常值,因此不使用相对湿度数据作为特征。

图3. 相对湿度数据折线图

数据集中的数据具有时间相关性,但在不同月份、不同时间具有不同的规律,不适用于时间序列分析方法。因此为了利用时间数据,将日期与时间单独处理为2个特征使用,计算公式如下:

经过以上分析,最终采用的特征为直射辐射、组件温度、环境温度、气压、日期,与时间。同时,由于数据在不同时期具有不同规律,为了让模型学习到所有规律,对数据进行乱序处理。

3.3数据分段

4是实际发电功率分布图,从图中可以看出,实际发电功率超过40之后,数据基本服从正态分布;图50-40之间的实际发电功率分布图,从图中可以看出,实际发电功率小于40的数据,有效数据基本在3-40之间。因此,将数据依据实际发电功率,划分为小于33-40,与大于403部分。映射到工作时间,可以得到19:00-7:00阶段(stop阶段)、7:00-9:00 16:00-17:00阶段(beginning阶段),和9:00-16:00阶段(stable阶段)3个阶段。



图4. 实际发电功率分布图

图5. 0-40之间的实际发电功率分布图

该数据集一共有35,040条数据,清理后的数据一共31,923条,其中:stop阶段18,631条;beginning阶段3,987条;stable阶段9,305条。

本课题研究将数据的80%划分为训练集,用来训练模型;将20%划分为测试集,用来测试模型效果。

【模型建立】

  1. 算法介绍

鉴于本项目存在大量数据层面的操作,而Python拥有numpy、matplotlib、scikit-learn、pandas等专精于数据科学的工具,且Python也是当前人工智能领域的主流语言。因此本次设计采用Python

3.9版本作为主要编程语言,使用PyCharm作为IDE(集成开发环境),并使用Anaconda作为Python环境管理工具。

本项目属于有监督机器学习任务,该任务有如下几种常见的模型类别:

(1)线性模型:包括线性回归和逻辑回归(LR)等,适用于预测连续数值和二分类问题,特别是当特征与目标之间存在线性关系时。

(2)树模型:包括决策树(DT)、随机森林(RF)和梯度提升树(GBDT)等,用于分类和回归任务,能够捕捉特征之间的非线性关系,并且在解释性和性能之间取得平衡。

(3)支持向量机(SVM):适用于二分类和多分类问题,特别在高维数据上表现出色,可用于文本分类、图像识别等。

4)神经网络(NN):适用于各种任务,包括图像、语音和文本处理,能够处理复杂模式和大规模数据。

由于数据集的数据量不大,且存在数值类型与统计类型等多种形式的特征,因此本项目使用树模型进行研究。

基于贴近课题研究的契合度,选择了XGBoost(eXtreme Gradient Boosting)机器学习方法,即极致梯度提升树,是一种基于GBDT的机器学习算法。XGBoost具有高效、灵活和轻便的特点,在数据挖掘、推荐系统等领域得到广泛的应用。

  1. 模型构建及优化

本项目使用xgboost回归模型,分别对三个阶段的数据集进行训练,其中,最大深度为10;迭代次数为500;学习率为0.1;损失函数为MSE

本项目使用十折交叉验证法训练模型。十折交叉验证(10-fold cross-validation)是一种常用的模型评估方法,用于评估机器学习模型的性能和泛化能力。它可以有效地估计模型在未见过数据上的表现,并帮助防止过拟合。它将原始数据集分成十个子集,通常每个子集具有相似的数据分布。这些子集中的九个将用于训练模型,剩下一个子集将用于测试模型。进行十次循环,每次选择一个子集作为测试集,其他九个子集作为训练集。在每次循环中,使用训练集训练模型,并在测试集上评估模型的性能指标。在十次循环完成后,将每次测试集上的性能指标进行平均或汇总,得到模型在整个数据集上的性能估计。这可以充分利用训练数据,帮助更准确地评估模型在不同数据子集上的表现,减少由于数据分布不均匀引起的评估偏差。并保留性能最好的模型。

  1. 预测结果评估


本研究使用MSER²作为评价指标。MSE中文解释是均放误差,即预测值与真实值偏差的平方和的平均数,取值范围在0-+∞,值的大小要与实际情况相结合的辩证看待。R²(R squared, Coefficient of determination),中文翻译为“决定系数”或者“拟合优度”,反映的是模型拟合数据的准确程度,取值范围一般是0-1之间,越接近1说明模型的准确率越高,表示数据拟合越好。最终效果最好的模型的评估值MSE为49.61R²的值为94.39%。结果如图6、图7所示:

图6. 实际发电功率和预测发电功率值的拟合结果图


图7. 代码运行出评估值的结果

【成效与前景】

电力行业作为国民经济重要的基础行业,关系到国计民生的重要基础产业和公共事业,与社会发展、人民生活密切相关,安全、稳定和充足的电力供应是国民经济健康稳定持续快速发展的重要前提要素。同时,国家对环保的观念和管理不断加强,工信部发布《“十四五”大数据产业发展规划》等举措,以此为契机,国网青田公司收集光伏发电以及天气因素,采用人工智能技术结合光伏发电的天气数据,建立光伏发电的预测模型。

在国家大力推崇的背景下,以“数字化转型”和“大数据产业发展”为手段,不断探索信息技术应用到实际工作中,以课题研究的预测模型为基础,未来将开拓多元化共享平台,为装有光伏发电设备的个人和企业提供技术服务,预测服务等,从而深化各行各业的数据贯通和电力使用情况摸底,给整体电力行业提供准确的分布情况、电力使用情况等数据,加强大数据发挥的作用,同时更鼓励企业及个人安装光伏发电设备,用于电力平衡的同时,更能节约能源,绿色环保。

项目名称:基于‘气象+电力’大数据分析分布光伏出力研究

项目编号:5211L923000A