KDD CUP竞赛是由ACM 的数据挖掘及知识发现专委会(SIGKDD)主办的数据挖掘研究领域的国际赛事,从1997年开始,每年举办一次,被称为数据挖掘领域的“世界杯”,是该领域水平最高、最有影响力的顶级赛事。今年KDD CUP 共有2个赛题,分别是有百度承办的风电功率预测赛道和亚马逊承办的商品搜索赛道。我们时空大数据小组有幸邀请到了KDD CUP 2022 风电功率预测赛道的冠军团队来分享一下他们的竞赛方案。

Spatial Dynamic Wind Power Forecasting

1. 赛题介绍

1.1. 背景

风电预测(WPF)旨在准确估计风电场在不同时间尺度上的风能供应。风电是一种清洁安全的可再生能源,但不能持续生产,导致高波动性。这种可变性可能对将风力发电并入电网系统提出重大挑战。为了保持发电和消费之间的平衡,风力发电的波动需要从其他可能无法在短时间内获得的电力替代(例如,通常至少需要 6 个小时才能点燃一个燃煤电厂)。因此,WPF被广泛认为是风电并网运行中最关键的问题之一。

本次竞赛提供了龙源电力集团有限公司独特的空间动态风力预测数据集:SDWPF;其中包括风力涡轮机的空间分布,以及时间、天气和涡轮机内部状态等动态背景因素。然而,大多数现有的数据集和竞赛将 WPF 视为时间序列预测问题,没有注意到风力涡轮机的位置和上下文信息。

本次竞赛的特点就是提供了空间分布和动态上下文信息。

空间分布:本次竞赛将提供给定风电场的所有风力涡轮机的相对位置,用于建模风力涡轮机之间的空间相关性。

动态上下文:提供由每个风力涡轮机监控的重要天气情况和涡轮机内部上下文,以促进预测任务。

1.2. 数据概况

竞赛提供的SDWPF 数据集是从风电场的监控和数据采集 (SCADA) 系统收集的。 SCADA 数据每 10 分钟从风电场中的每个风力发电机采样一次,该风电场由 134 台风力发电机组成,共245天数据。数据集包括影响风力发电的关键外部特征,例如风速、风向和外部温度;以及重要的内部特征,例如内部温度、机舱方向和叶片角度,可以指示每个风力涡轮机的运行状态。

每台风力发电机可以单独产生风能,风电场的输出功率是所有风力发电机的总和。数据集中发布了风电场中所有风机的相对位置,以表征风机之间的空间相关性。

1.3. 赛题任务

要求提前48小时进行空间动态风电预测。例如,在上午 6:00 给出。今天,需要有效地预测从早上 6:00 开始的风力发电量。从今天到后天早上 5 点 50 分,给出了风电场和相关风力发电机的一系列历史记录。要求每 10 分钟输出一次预测值。具体来说,在某一时间点,每个风机需要预测一个未来长度为 288 的风电功率时间序列。

评价方式: RMSE(均方根误差)和 MAE(平均绝对误差)的平均值作为评估分数。

线上评测会从特定时间范围内随机抽取n个时间点,该时间点前14天的数据可以获得,来预测该时间点每个风机后两天(288步)的功率。提交源代码至竞赛官网,进行线上分数评测。

当数据存在以下情况时,该时刻的功率值会被过滤,不参与评估:

  • 零值:if Patv < 0, then Patv = 0
  • 缺失值:Nan
  • 未知值:(Patv <=0 and Wspd > 2.5) or (Pab1 > 89°or Pab2 > 89°or Pab3 > 89°)
  • 异常值: (Ndir > 720° or Ndir < -720°) or (Wdir > 180° or Wdir < -180°)

官方提供的评测运行代码demo链接,https://github.com/PaddlePaddle/PaddleSpatial/tree/main/apps/wpf_baseline_gru/kddcup22-sdwpf-evaluation。

2. 数据探索

2.1. 探索不同特征之间的相关性

可以下图可以看出风速与功率成正相关,风速越大功率越大;叶片角度与功率成负相关,叶片角度小时迎风面积大功率越大。

查阅文献可以得知,理论上风速的三次方与功率成正比。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Csnn7B4I-1666256689573)(https://files.mdnice.com/user/35597/ba731869-6b79-410e-8858-87bce6f26f0e.png)]

但是从竞赛的给出的实际数据来看,由于风机人为控制、测量误差等因素,在某些情况下功率产生比理论值有较大差距。相同风速下叶片角度越大功率越低,控制叶片角度等同于控制风机的受风面积。1号风机具有特殊性,从叶片角度数据上自始至终没有控制,角度都很小,但是存在部分高风速低功率的数据。但在评测样例数据中1号风机存在叶片角度控制。

同一风机每天功率变化的相关性很低,风速和功率的变化没有发现较强的周期性。

不同风机的功率变化高度相关,同一时段风机功率的变化几乎相同,但是考虑到风电场的尾流效应,依然可以对风机进行聚类。

2.2. 风场聚类

  • 可视化风场的风机位置,如下图所示,右上角15个风电机与其他风机的间隙可能是一条道路。
  • 通过风速相关性将风电机聚成2类和3类,地址位置和风速有一定关系。
  • 猜测不同位置的地形和地面粗糙度有一定影响,建模时可以考虑相似地形位置的因素。

通过龙源电力、134台风机、风场形状可以检索到风场地点在瓜州县柳沟站(火车站)附近,刚好右上角的那条空隙就是一条铁路,虽然可以推测到风场地点,但是竞赛主办方把线上测评数据的Day字段也给脱敏了,即线上测试的Day跟离线数据没有关系,全都是重新从第一天开始计数的,所以无法将风场当地的历史风速变化规律用起来。

2.3. 异常值与缺失值

统计全量离线数据中的异常值和缺失值,其中不参与测评的四种异常值情况在全量数据中占比29.7%左右。对于缺失值和异常值尝试过均值填补、中位数填补、KNN填补和0值填补,从预测效果上影响都不大,最终采用简单的0值填补,即将风速、有功功率和无功功率小于0的赋值为0,风向、外部温度、机舱内部温度、机舱角度等特征把超出合理范围的值赋值为0。

3. 模型方案

整体方案由四个模块组成,第一部分:多关系图用于时空信息的聚合;第二部分:DMST模块以编码器-解码器形式来聚集空间信息、捕获时间模式;第三部分:ST-Tree模块在空间维度上进行划分,并对每个时间段进行预测,以提高准确性和鲁棒性;第四部分:集成模块以数据驱动的形式,动态融合两个模型的结果。

3.1. 多关系图模块

我们统计了风机间距离与功率相似度的分布,该图显示了空间距离和功率相似性之间的关系,我们发现风力涡轮机之间的空间距离越小,功率相关性越大。然而,当空间距离较大时,一些风力涡轮机的功率相似性也非常强。

所以我们尝试从多个空间距离内构造感知图,而不仅仅单从欧几里德距离来构建感知图。我们从欧几里德距离和风速语义距离两个空间构建感知图。一是计算两个节点之间的欧几里得距离以获得空间距离矩阵,然后将顶部K个最近节点作为每个节点的邻居。二是使用风速变化来计算节点之间的相似度,并构造语义感知图,获得每个节点的语义邻居的top-K最相似节点。

3.2.DMST模块

我们聚合来自空间感知图和语义感知图的1阶邻居的风速信息,将其作为风速空间特征。通过向模型添加嵌入层,用向量表示每个涡轮机ID,作为风机embedding。使用GRU建立Seq2Seq模型,在编码器输入中,我们将风速空间特征与风力涡轮机嵌入和其他风力涡轮机特征(例如,温度、天气、涡轮机内部状态等)作为GRU输入。在解码器输入中,我们使用编码器的hti作为解码器中GRU的初始隐藏状态,然后使用风力涡轮机嵌入和其他已知未来特征(例如,时间和风力涡轮机位置)作为时间戳t加1的模型输入,在前一时间戳t处计算预测功率。

3.3.ST-Tree模块

我们使用LightGBM构建了一个空间分区的时间分阶段树模型。在空间维度上,考虑到风电场的尾流效应和风力涡轮机的位置分布,类似风力条件下的风力涡轮机可能具有类似的状态。这里,我们使用pearson相关系数来计算风机之间的相似性,我们利用K均值基于风速相似性对风电场进行空间聚类,并为每个聚类分区建立单独的树模型。在时间维度上,因为树模型仅支持单输出预测。为每个时间戳构建树模型将导致模型过多,并有模型过度拟合的风险。因此,通过分割时间步长来构建树模型。我们在每个子预测区间建立模型,并在样本特征中添加一列唯一ID特征,以区分不同的时间戳。

3.4.动态集成模块

由于风力涡轮机数据分布不稳定,通过模型学习融合策略可能导致模型过拟合,而简单加权平均融合策略不能应用于分布不一致的风力涡轮机数据。因此,我们采用动态融合方法,根据风电场的当前功率状态选择不同的融合方法,可以有效解决风电场分布不稳定的问题。

动态融合方法的提出主要基于以下几点分析:

  • 不同的模型对不同的时间段具有不同的预测能力。ST-Tree模型的短期预测能力优于DMST模型,而DMST模型的中长期预测能力优于ST-Tree模型。
  • 当风场风力发电功率过大或过小时,DMST的短期预测曲线陡峭,误差相对较大。
  • DMST对风场的中长期预测的功率趋势有较强的预测能力,但由于线上评测数据分布差异较大。当线上风速整体偏高时,DMST的预测是保守的,虽然整体预测趋势准确,但是可能会整体偏低。

具体逻辑如下图伪代码所示

4. 实验结果

竞赛阶段我们尝试了许多模型,例如GRU, AutoFormer, SCINet等时序模型,AGCRN, GWNET, DCRNN, ASTGCN, DST等时空模型。上表描述了在我们队在竞赛的三个阶段线上得分,得分为误差,越小越好。从该表中,我们可以观察到,许多经典预测模型在这个赛题上效果并不好,我们最终提出的集成预测模型在所有三个阶段都优于经典模型,这验证了我们方案的优越性。

此外,我们方案在比赛的最后阶段赢得了第一名,在第二阶段赢得了第二名,第一阶段获得了第三名,唯一一个队伍在三个阶段排名都在TOP3的队伍。这些结果表明,我们方案可以在不同的测试数据集上实现一致的优越性能。

我们也在线下构建了测试数据集,将我们尝试过的多个方案进行比较。比较结果见表2。我们的最优方案跟线上评测的最优方案保持一致。

5. 总结

整个比赛过程中,我们尝试了多种方案,包括传统机器学习模型、CNN base、RNN base、transformer等等,最终我们基于不同的模型效果,提出了一种新的风能功率长序列预测集成模型FDSTT,该集成模型由多关系图构造模块、基于深度多关系图的时空模块、空间分区时间分段树模块和数据驱动集成模块组成。

在多关系图构造模块中,我们基于距离邻居和语义邻居构造多关系图。在深度多关系时空网络(DMST)中,我们使用风速数据通过多关系图进行空间特征提取,并采用基于GRU的Seq2Seq模型来捕捉时间特征。在空间分块时相树模型(ST-Tree)中,基于风速数据的相关性对风电场进行空间聚类,并通过时间相位而不是每个时间戳建立模型。它不仅有效地减少了模型的数量,而且增强了模型的鲁棒性。基于该模型集成策略,我们根据WPF中不同模型的特点,提出了一种数据驱动的集成策略,用于不稳定的数据分布。最后,我们提出的模型FDSTT赢得了2022年KDD CUP决赛阶段的第一名,并且也是唯一一支三个阶段都在前三名的队伍。

更多内容,敬请关注同名微信公众号:时空大数据兴趣小组。

KDD CUP 2022 风能预测赛题冠军方案分享相关推荐

  1. KDD Cup 2021城市大脑赛题解析!报名倒计时3天

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale赛事 KDD Cup 2021,数据挖掘顶会赛题 比赛链接:http://ww ...

  2. KDD Cup 2021城市大脑赛题分析

    Datawhale赛事 KDD Cup 2021,数据挖掘顶会赛题 比赛链接:http://www.yunqiacademy.org/ 比赛类型:交通调度,优化算法 分享内容:比赛介绍 & 比 ...

  3. Baidu KDD Cup 2022 官方赛题解读,内附 Baseline 开源代码

    KDD Cup(国际知识发现和数据挖掘竞赛)是 ACM 协会 SIGKDD 分会主办的数据挖掘研究领域的国际顶级赛事,从1997年开始,每年举办一次,有着数据挖掘领域「世界杯」之称,是该领域水平最高. ...

  4. KDD Cup 2022风力发电baseline—使用因果膨胀卷积进行时序预测

    赛题名称: KDD CUP 2022 赛题链接: https://aistudio.baidu.com/aistudio/competition/detail/152/0/introduction 赛 ...

  5. 【比赛向】东京证卷交易所预测-赛题理解(Kaggle_2022_Structured Data)

    [比赛向]东京证卷交易所预测-赛题理解(Kaggle_2022_Structured Data) 比赛地址:https://www.kaggle.com/competitions/jpx-tokyo- ...

  6. 二等奖方案|2021 CCF BDCI个贷违约预测赛题@Faulty 队解题思路

    今日分享:中原银行「个贷违约预测」赛题二等奖获奖方案 赛题链接:https://www.datafountain.cn/competitions/530 团队简介 获奖团队:Faulty 单人参赛,广 ...

  7. 天猫用户重复购买预测赛题——赛题理解 + 数据探索

    天猫用户重复购买预测赛题--赛题理解 + 数据探索 理论知识 1. 赛题信息 2. 评估指标 AUC 3. 查看数据样例 4. 缺失值查看 5. 查看数据分布 6. 探究影响复购的各种因素 理论知识 ...

  8. 第一次认真的二手车交易价格预测--赛题分析

    二手车交易价格预测--赛题分析 数据比赛步骤 一. 赛题分析 1.1 学习目标 1.2 了解赛题 1.2.1 赛题概况 1.2.2 数据概况 train.csv 1.2.3 预测指标 一般问题评价指标 ...

  9. ICCV 2021 口罩人物身份鉴别全球挑战赛冠军方案分享

    作者丨阿里云多媒体 AI 团队 编辑丨极市平台 导读 今年阿里云多媒体 AI 团队参加了 MFR 口罩人物身份鉴别全球挑战赛,并在总共5个赛道中,一举拿下1个冠军.1个亚军和2个季军.本文为该团队的冠 ...

最新文章

  1. python层次聚类分析_SPSS聚类分析:系统聚类分析
  2. 7个示例科普CPU Cache
  3. UNITY2018 真机开启deepprofiling的操作
  4. 征战蓝桥 —— 2018年第九届 —— C/C++B组第1题——第几天
  5. Django框架之Filters(过滤器)、母版的使用
  6. 设计灵感|见过如此吸睛的,单色调Banner设计么?
  7. theme vscode 护眼_vscode的颜色设置(护眼模式)
  8. 【电脑帮助】解决Wind10系统每次运行软件时都要出现提示框的问题
  9. Hive 内嵌模式安装指导
  10. C# Window Form解决播放amr格式音乐问题
  11. 完全分布式安装Hadoop,Hive,Hbase,Hwi,Zookeeper
  12. Oracle禁止connect / as sysdba方式登录
  13. 解决python安装包无法正常安装问题
  14. bat批处理常用命令
  15. Windows XP SP3 下 High Definition Audio 声卡安装方法
  16. 由四位央行官员为你制作的“数字货币”说明书
  17. 造数常用的Excel表达式
  18. Java 如何判断手机号的运营商,是移动、联通、还是电信?
  19. 有将视频横屏改为竖屏的方法吗?
  20. while True:just do it

热门文章

  1. Python—SJ—实验4—DNA翻译
  2. Soul源码解析(16)-Soul网关熔断插件使用及源码解读
  3. 对口升学考试计算机专业好考吗,2017届对口升学考试计算机专业月考三试题
  4. 云端3d虚拟现实展制作
  5. win10 应用程序exe图标突然变成白色,怎么恢复?
  6. java怎么捕捉游戏窗口_捕捉桌面上的窗口信息
  7. 【1-2】非本人智慧结晶,有疑问请咨询相关技术人员!
  8. 软件企业具体可享受哪些所得税优惠政策?
  9. moviepy音视频剪辑:使用concatenate_videoclips和clips_array将多个视频合成一个顺序播放或同屏播放的视频
  10. 自适应学习系统_如何建立适应性学习系统