清华大学大数据能力提升项目学生成果:基于 Transformer 的光伏功率预测

清华大学大数据项目成果:基于 Transformer 的光伏功率预测,为电网安全提供保障。

原文标题:大数据能力提升项目|学生成果展系列之四

原文作者:数据派THU

冷月清谈:

清华大学大数据能力提升项目旨在培养具备大数据思维和应用能力的交叉型人才。本文介绍了能源与动力工程系吴家豪同学在项目中的代表性成果:基于 Autoformer、Informer 和 Transformer 三种模型,对光伏发电功率进行短期预测。该研究针对光伏发电功率的波动性问题,开发了不同成本下的预测方案,实现了对未来 4 小时和 24 小时的功率预测。研究结果表明,Informer 和 Transformer 模型的整体表现优于 Autoformer,并为不同预测时长提供了相应的模型建议。这项研究不仅填补了时序 Transformer 在光伏功率预测领域的空白,也为电站异常监测和电网功率调控提供了有价值的参考。

怜星夜思:

1、Transformer 模型在光伏功率预测中的优势是什么?除了文中提到的 Autoformer 和 Informer,还有其他更适合光伏预测的 Transformer 变体吗?
2、文章中提到了不同成本的预测方案(零成本、低成本、高成本),在实际应用中,如何权衡预测精度和成本?有没有可能通过算法优化来降低高成本方案的成本?
3、这项研究的数据来自湖北某光伏电站,那么这个模型是否具有通用性?如果要将该模型应用到其他地区的光伏电站,需要做哪些调整?

原文内容

图片


导读



为了发挥清华大学多学科优势,搭建跨学科交叉融合平台,创新跨学科交叉培养模式,培养具有大数据思维和应用创新的“π”型人才,由清华大学研究生院、清华大学大数据研究中心及相关院系共同设计组织的“清华大学大数据能力提升项目”开始实施并深受校内师生的认可。项目通过整合建设课程模块,形成了大数据思维与技能、跨界学习、实操应用相结合的大数据课程体系和线上线下混合式教学模式,显著提升了学生大数据分析能力和创新应用能力。


回首2025年,清华大学大数据能力提升项目取得了丰硕的成果,同学们将课程中学到的数据思维和技能成功地应用在本专业的学习和科研中,在看到数据科学魅力的同时,也将自己打造成为了交叉复合型的创新型人才。下面让我们通过来自3个院系的4位同学代表一起领略他们的风采吧!



代表性成果




基于 Transformer 系列模型的短期光伏功率预测


能源与动力工程系 吴家豪


本工作在大数据实践课中完成,并发表在 Solar Compass 期刊,目前被引用十余次。


[摘要]  为了解决光伏发电功率波动带来的安全隐患,需要提前对其进行预知,及早采取应对措施。本文基于 Autoformer 、Informer 和 Transformer 三个模型,开发了零成本预测、低成本预测和高成本预测三种预测方法,对湖北某光伏电站的某方阵实现了 4h 和 24h 两种预测时长下的功率预测。结果表明, 部分模型与配置下的结果达到项目指标,且 Informer 和 Transformer 的整体表现优于 Autoformer。经过对三个模型和不同预测间隔的对比,综合指标达成情况和工业实际需求,本文对 4h 和24h预测都给出了相应的建议模型与配置。


[背景] 光伏发电是可再生能源利用方式之一。光伏发电功率具有波动性和间歇性,接入电网后会可能会产生安全稳定问题。为了解决功率波动带来的安全隐患,需要提前预知光伏发电能力,及早采取应对措施。因此开展多种时间尺度的光伏发电功率预测,对电站异常监测和电网功率调控具有十分重要的意义。


[现状]  功率预测方法很多,大体上可以分为物理模型、传统时序与机器学习模型以及深度学习模型。一方面,Transformer 系列模型在时间序列任务上正迅速发展,属于前沿技术。另一方面,光伏功率预测文献中较多的是 RNN 或 Attention-RNN 模型,几乎没有 Transformer 结构模型。因此,将时序 Transformer 应用于光伏的这一研究空缺有待填补。


[目标]  建立光伏功率预测模型,开发不同成本下的预测方案,实现对未来 4 小时和 24 小时的滚动预测。


[技术路线]  使用 Autoformer 、Informer 和 Transformer 三个模型,对方阵级功率进行 4 小时和 24 小时的预测,并开发出三套预测方法,即不使用未来天气的零成本预测,使用不含辐照的未来天气的低成本预测,以及使用含辐照数据的未来天气的高成本预测。


[数据信息]  本任务的数据来自湖北某 110MW  光伏电站。在时间上,数据跨度为 2021 年全年,每天的采集时间为 4 点到 20 点,采集间隔为 5 分钟,即每天采集193 个时刻的数据。在空间上,如图 1 所示,电站具有层次结构:光伏电站有 86 个方阵,每个方阵有 38 或 50 个逆变器,每个逆变器有 5 或 6 个组串,原始的运行数据为组串级别的数据。在内容上,数据包括运行数据和环境检测仪数据,前者包括电流、电压以及功率, 后者为 7 维的天气数据,包括风速、风向、温度、辐照强度、辐照量、水平辐照强度、水平辐照量。

图片 

光伏电站空间层次结构


[数据处理]  由于原始数据是以单日进行存储的,且每日只有 4 点到 20 点,因此对其进行了夜间数据填充和连续化处理。由于原始数据是按组串进行存储的,所以为了进行方阵级别的功率预测,对方阵中的所有有效组串数据进行了平均,转换成了方阵级别的功率。


[模型与配置]  使用 Autoformer、Informer 和 Transformer 模型。对方阵级功率进行 4 小时和 24 小时的预测,并开发出三套预测方法,即不使用未来天气的零成本预测,使用不含辐照的未来天气的低成本预测, 以及使用含辐照数据的未来天气的高成本预测。对于零成本预测,decoder  输入为零。对于低成本预测,decoder  输入为未来的温度等免费数据,并且为提升其性能,我们额外设计输入了一维日夜编码以增强其日夜差距信息。对于高成本预测,则使用昂贵的辐照数据。模型的预测序列长度等于预测时长除以预测间隔,其中预测时长有两种,即 4 小时和 24 小时,并分别设置了三种预测间隔。

图片 

(a) Transformer

图片

(b) Informer


(c) Autoformer

模型示意图

图片 

数据流示意图


[结果]  表中 A 、I、T 分别代表 Autoformer 、Informer 和 Transformer,红框表示为三个模型中最好。由表可知,Autoformer  会预测出不合理的负值功率,且过多地预测了波动性,而 Transformer 则预测光滑。整体上,Informer 和 Transformer 的效果优于 Autoformer。通过对比不同成本的预测方法可知,性能效果一般有:零成本<低成本<(无日夜编码)<低成本<高成本,其原因在于:①低成本预测使用了未来天气,所以效果一般好于零成本;②日夜编码增强了数据信息,会使模型效果更好;③高成本预测使用了和功率最相关的辐照数据,所以效果最好。最后,在定量指标上,给出了不同模型在不同配置和预测时长下的预测误差,发现 Transformer 的整体表现最好。
图片

模型性能对比


[结论]  综合指标达成情况和工业实际需求, 对于 4  小时预测,最终建议使用15min 预测间隔下的 Transformer 模型,对于 24 小时预测,我们最终建议使用 60min预测间隔下的 Transformer 模型。


编辑:文婧

校对:龚力






欢迎大家扫码加入粉丝群






关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。




新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU



别忘了,Transformer最初可是NLP领域的明星!我觉得可以借鉴NLP中的一些思想,把能源数据看作是一种“语言”,Transformer可以学习这种“语言”的规律,从而更好地理解和预测能源系统的行为。比如,可以将电力负荷数据看作是一种特殊的“语句”,Transformer可以学习不同“语句”之间的关系,从而预测未来的负荷变化趋势。关键是要找到合适的表示方法。

谢邀,人在实验室,刚下光伏板。我个人觉得 Transformer 在这块的优势在于 Attention 机制,能让模型更关注对功率影响大的因素,比如辐照强度。至于其他的变体,我最近在看一篇关于用 Transformer 做风电预测的文章,里面提到了一个叫做 TimesNet 的模型,将时间序列分解成多个频率分量,再用不同的卷积核提取特征,感觉思路挺新颖的,或许可以借鉴一下。

问题:这项研究的数据来自湖北某光伏电站,那么这个模型是否具有通用性?如果要将该模型应用到其他地区的光伏电站,需要做哪些调整?

模型的通用性取决于多个因素,包括数据的代表性、模型的泛化能力以及不同地区光伏电站的差异。

一般来说,如果湖北的光伏电站在气候、地理位置、设备类型等方面具有代表性,那么该模型具有一定的通用性。但是,如果要将该模型应用到其他地区的光伏电站,仍然需要进行一些调整,以适应当地的特点。

以下是一些需要调整的方面:

1. 数据收集: 收集目标地区的光伏电站的完整数据,包括历史功率数据、气象数据、设备参数等。
2. 数据预处理: 对新的数据进行预处理,包括缺失值处理、异常值处理、数据标准化等。
3. 特征工程: 根据目标地区的特点,选择合适的特征,例如地理位置、海拔高度、日照时长等。可能需要增加或删除一些特征。
4. 模型微调: 使用目标地区的数据对模型进行微调,以提高模型的预测精度。
5. 模型验证: 使用目标地区的数据对模型进行验证,评估模型的性能。如果效果不佳,可能需要重新训练模型或调整模型结构。

此外,还需要考虑不同地区光伏电站的设备差异。例如,不同类型光伏板的功率特性可能不同,需要根据实际情况进行调整。

问题:文章中提到了不同成本的预测方案(零成本、低成本、高成本),在实际应用中,如何权衡预测精度和成本?有没有可能通过算法优化来降低高成本方案的成本?

在实际应用中,精度和成本的权衡需要根据具体的应用场景和需求来决定。例如,对于对电网安全影响较大的关键预测,可能需要牺牲一定的成本来追求更高的精度;而对于一些辅助性的预测,则可以适当降低精度要求,以降低成本。

以下是一些权衡精度和成本的建议:

1. 成本效益分析: 对不同成本方案的预测精度进行评估,计算出每个方案的成本效益比,选择性价比最高的方案。
2. 动态成本调整: 根据实际情况,动态调整不同成本方案的使用比例。例如,在天气变化剧烈时,可以增加高成本方案的使用比例,以提高预测精度;而在天气稳定时,则可以降低高成本方案的使用比例,以降低成本。
3. 分时段预测: 针对不同时段的光伏发电特点,采用不同的预测方案。例如,在白天光照充足时,可以使用低成本方案;而在夜间或阴天,则可以使用高成本方案。

关于通过算法优化来降低高成本方案的成本,可以考虑以下几个方向:

1. 数据降维: 对输入数据进行降维处理,减少模型的计算量,同时尽可能保留关键信息。
2. 模型剪枝: 对训练好的模型进行剪枝,去除冗余的连接和参数,降低模型的复杂度。
3. 知识蒸馏: 使用高成本方案作为教师模型,训练一个低成本的 student 模型,使其能够尽可能地学习到教师模型的知识。

我觉得通用性这事儿不能一概而论。光伏这玩意儿太依赖当地的气候条件了,湖北的模型拿到新疆去,肯定得水土不服。如果要推广到其他地区,我觉得重头戏在于数据,必须用当地的历史数据进行训练,最好能把当地的气象数据也融合进去,这样才能保证模型的准确性。

另外,不同地区的光伏电站设备可能不一样,也需要根据实际情况进行调整。

问题:Transformer 模型在光伏功率预测中的优势是什么?除了文中提到的 Autoformer 和 Informer,还有其他更适合光伏预测的 Transformer 变体吗?

Transformer 的优势在于其强大的时间序列建模能力,能够捕捉长期依赖关系,这对于预测具有复杂波动性的光伏功率至关重要。相比之下,传统的 RNN 模型在处理长序列时容易出现梯度消失问题。文中提到的 Autoformer 和 Informer 是 Transformer 的两种变体,Autoformer 在处理长序列时可能效果不佳,Informer 则通过 ProbSparse Attention 机制提高了效率。

至于其他更适合光伏预测的 Transformer 变体,可以考虑以下几个方向:

1. Sparse Transformer: 进一步减少计算复杂度,例如 Longformer、Reformer 等,适用于处理更长时间跨度的数据。
2. Transformer-XL: 允许模型处理超出固定长度的序列,可以更好地捕捉光伏功率的长期趋势。
3. 定制化 Transformer: 针对光伏数据的特点,可以设计特定的 attention 机制或 loss 函数,例如结合物理模型的先验知识。

此外,也可以考虑将 Transformer 与其他模型结合,例如 CNN 或 LSTM,利用不同模型的优势。

Transformer 在光伏预测的优势,我理解是它能更好地抓住光伏功率的那些“小脾气”,毕竟光伏这玩意儿受天气影响太大了,Transformer 这种能看到更远“记忆”的模型,自然更靠谱。除了 Autoformer 和 Informer,我觉得可以试试 Performer,这玩意儿号称能线性复杂度逼近 Attention,算力要求低,说不定更适合跑在资源有限的电站里。

我在做类似的项目,深知其中的坑。我觉得迁移到其他地区,最关键的是要考虑以下几点:

* 气候类型: 不同的气候类型(例如,热带、亚热带、温带)对光伏发电的影响不同。
* 地理位置: 海拔、经纬度等地理因素会影响太阳辐射量。
* 电网结构: 不同地区的电网结构不同,对光伏功率预测的精度要求也不同。

建议采用迁移学习的方法,先用湖北的数据训练一个基础模型,然后再用目标地区的数据进行微调。另外,一定要进行充分的测试和验证,确保模型的性能。

我在电网公司工作,对这个深有体会。实际上,我们更看重的是预测的可靠性,而不是单纯的精度。举个例子,如果高成本方案的精度是 95%,但偶尔会出错,而低成本方案的精度是 90%,但一直很稳定,我们可能更倾向于选择低成本方案。

算法优化方面,我觉得可以考虑用主动学习,只在高价值的数据上进行标注和训练,这样可以减少对昂贵辐照数据的依赖。