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

语言: CN / TW / HK

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

KDD Cup 2022由百度与亚马逊共同主办,其中百度主办的赛题为「风电功率预测」 风电属于可再生且无公害的清洁能源,但同时也具有不稳定、波动性大的特点,而如何使用人工智能技术来提升电网运行的稳定性,为实现全球“碳达峰”和“碳中和”的双碳目标贡献科技力量,是本次赛题的主要目标。自3月16日开放报名以来,Baidu KDD Cup 2022比赛已有近2000名参赛者报名参加,为了助力选手们获得更好的成绩, 百度飞桨(PaddlePaddle)图学习框架(PGL)团队工程师为大家解读赛题,并且开放开源Baseline代码。

01

比赛任务介绍

此次赛题是基于空间的风电动态预测挑战任务。风力发电预测是为了更精准地预估风力,帮助风力发电厂安排不同时间的供应。 由于风力具有不稳定性,导致风电的发电功率变化也很大,这种不稳定性对将风电并入电网系统带来了巨大挑战。 为了保障电力生产及消耗的平衡,当风力发电波动时,需要使用其他能源来平抑风电的波动性对电网造成的冲击。然而,这种替代的电力并不能短时间获取(例如,通常至少需要6个小时才能启动一个燃煤电厂),因此风电预测非常重要,同时也极具挑战性。首先让我们来了解一下本次赛事的一些关键信息。

一、数据集

基于空间的风电动态预测数据集(SDWPF)包含134个发电机超过半年的历史数据信息。当前,较多竞赛将WPF视为时间序列预测问题,而忽略发电机的位置和上下文信息, SDWPF则提供了以下两个维度的信息:

1)空间分布:提供了不同风力发电机在发电场的相对位置,如下图所示。每台风力发电机可以单独产生风力,风电场的输出功率是所有风力发电机的总和。此项信息有利于选手进行空间相关性建模。

2)动态环境:包括天气状况、发电机内部状态等多种信号,方便选手设计多源输入模型,增加预测增益。如下图所示:

二、任务

通过历史输入数据,对每个发电机的未来48小时的发电功率进行预测。每个数据之间间隔10分钟,所以选手需预测未来288步的发电功率。

三、评价指标

MAE(平均绝对误差)和RMSE(均方根误差)

更多详情可访问赛题网站链接:

https://aistudio.baidu.com/aistudio/competition/detail/152/0/introduction

02

赛题解读及开源Baseline

有大量的研究致力于通过数据挖掘技术来解决风能预测问题,相比于传统的时序预测数据,本届Baidu KDD Cup 2022提供的风力发电数据额外提供了各个发电机的空间位置信息,使得选手可以结合时间、空间等多个维度,对未来结果进行预测。而 图神经网络技术能够高效建立时间和空间的关系图,并充分利用两者之间的关联关系提升预测效果。为了方便选手实现基于图神经网络的时空预测模型,飞桨图学习框架(PGL)提供了一版基于时序分解的时空图神经网络模型 ,助力选手获得更好成绩,以下是模型的详情:

一、数据预处理

1)数据划分:SDWPF数据集中提供了134个发电机对应的245天数据作为训练集,未来采样数据作为隐藏测试集。每个数据之间间隔10分钟。为保证训练预测的一致性,需要对训练数据按照时间切分出训练、验证、测试集。

2)异常值处理:数据对nan数据进行补0处理,并对数据进行归一化处理,降低异常值对模型的影响。

3)特征扩展:针对时序预测任务和时间周期强相关的特点,在原始的输入数据基础上,增加了小时、星期等特征,强化模型的时间特征。

4)数据增强:为提升模型的鲁棒性,利用Spatial Shuffle技术对训练数据进行了扩展。

具体可参考:

https://github.com/PaddlePaddle/PGL/blob/main/examples/kddcup2022/wpf_baseline/wpf_dataset.py 

二、时空图构造

利用发电机的时序相关性构建它们之间的边关系。通过统计各个发电机的历史数据,计算不同发电机之间历史发电功率的相关性,以获取发电机的相关性。

三、基于时空图聚合的GNN模型

1)针对每个路口输入的时序信息,进行时序分解,获得历史的功率趋势特征和周期特征。

2)利用SaptialTemporalGATconv对相关性邻居进行信息聚合,从而提升模型效果。

3)利用Transformer Encoder-Decoder对分解后的特征进行编码,并进行多步解码。

通过利用时空GNN模型,在单卡v100上,可以在5~10分钟内完成一遍模型训练,极大提升了模型迭代速率。

四、开源Baseline

代码地址:

https://github.com/PaddlePaddle/PGL/tree/main/examples/kddcup2022/wpf_baseline

预测结果示例

五、经验与建议优化

1)本次任务,需对未来2天风力发电情况进行预测。 而风能随时间变化快,致预测真值方差过大 这加大了模型预测难度。

2)时间、空间构图问题。该任务提供了各个涡轮发电机的物理空间位置,帮助选手构建节点的边关系。 实践上建议参赛选手利用各个节点的历史数据进行对比计算,构建出更具相关性的边关系。

3)训练、验证集划分。 时序任务与时间强相关,如何划分训练验证集,让最新数据尽可能应用至模型训练中 ,这是选手值得思考的问题。

03

进一步了解飞桨PGL

以上官方基线由获得KDD Cup 2021两项冠军的百度飞桨PGL团队提供。 飞桨PGL(Paddle Graph Learning)是一个基于飞桨(PaddlePaddle)的高效易用图学习框架,依托于飞桨核心框架以及自研的高效大规模分布式图引擎,支持十亿节点百亿边的超巨图训练 原生支持异构图MetaPath采样以及Message Passing双模式,预置多种业界主流图学习算法以及自研模型等。同时具备分布式图存储以及一些分布式图学习训练算法,例如,分布式deep walk和分布式graphsage。结合飞桨框架,PGL能够覆盖大部分的图网络应用,包括图表示学习以及图神经网络。

百度作为AI领域的领头羊企业,在图神经网络领域的研究、产业实践、工业落地方面,积累了丰富的经验!在实际业务落地应用上,飞桨PGL已经在搜索、信息流、金融风控、智能地图和商业广告等场景全面落地。此外,百度飞桨PGL团队战绩累累,多次刷新图神经网络权威榜单OGB榜单SOTA,在2020年COLING协办比赛取得TextGraph冠军! 去年KDDCup 2021最大的图学习比赛OGB-LSC(涵盖节点分类、链接预测以及图分类三个经典场景)中,获的两冠一亚的成绩。

欢迎STAR收藏:

https://github.com/PaddlePaddle/PGL

更多交流可通过[email protected]联系我们,感谢支持!

百度自然语言处理(Natural Language Processing,NLP)以『理解语言,拥有智能,改变世界』为使命,研发自然语言处理核心技术,打造领先的技术平台和创新产品,服务全球用户,让复杂的世界更简单。