KDD Cup大赛Baseline&思路开源了!

Posted Datawhale

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了KDD Cup大赛Baseline&思路开源了!相关的知识,希望对你有一定的参考价值。

赛题名称

Baidu KDD CUP 2022

赛题链接

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

赛题背景

1

目标

预测风力涡轮机未来42小时的功率

2

数据

每 15 分钟采样一次数据。

数据包括:

时间信息;

气候信息:风速、风向、温度;

涡轮机信息:涡轮转子速度、发电机温度、轮毂温度;

地理位置信息:涡轮机空间分布矩阵。

3

评价指标

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

赛题解析-数据预处理

1. 数据标签(发电机功率)中发现有负数,似乎不符合逻辑,需要进一步和主办方确认。

2. 对于标签为连续型变量的场景,可以尝试对标签先进行变换,预测获得结果后再重新逆操作回来,例如先取log1p,预测获得结果后再取expm1(注意log操作只能对大于0的数进行)。

3. 时序预测场景需要考虑训练集的时间范围。假设主办方给了半年的数据,可能只用最近一个月的数据来构造训练集,效果比全量数据好。

赛题解析-特征工程

特征工程主要包括四大块。

对于时变的特征,例如赛题里的涡轮机功率,温度等,可以构造的特征包括lag信息,历史窗口内的统计特征,一阶差分等。

时间特征方面,包括星期几、小时等。

空间特征主要是和TurbID相关的信息,可以考虑把target encoding加进来,以及当前TurbID相邻的涡轮机信息。

其他特征例如做特征交叉,gbdt特征等。

赛题解析-模型

模型包括三大类。

树模型可以使用light和xgboost,这里常用的有两种建模方式。第一种是迭代预测,每次往前预测一步,然后把预测结果纳入进来构造特征,不断地往前迭代,达到预测多步的目的。第二种是非迭代预测,非迭代预测中也有两种建模方式:一是对数据扩充N倍(N表示多步预测的预测步长,本赛题N为168),这种方法可以在数据构造时加上一列,表示往前预测多少步;二是训练N个模型,每个模型各自负责往前预测多少步。

深度学习模型可以考虑的包括:LSTM、Dilated cnn、DeepAR、N-BEATS等。

统计模型常见的包括ARIMA以及facebook的prophet。

赛题解析-线下验证

线下验证尽量和测试集的构造方式保持一致。

例如训练集给定1-7天,预测未来42小时,最后24小时用来计算结果。我们可以将1-5天的数据拿来训练,预测未来42小时,最后24小时作为线下验证集。

赛题解析-模型融合

模型融合可以使用stacking以及加权平均、调和平均等方法。

赛题解析-后处理

后处理可以查看一下预测结果是否超出了合理范围;以及使用一些魔法系数等。

baseline

我们的开源项目AutoX提供了本赛题的baseline代码:

https://github.com/4paradigm/AutoX/blob/master/autox/autox_ts/demo/kdd_cup_2022_autox.ipynb

预测结果示例

开源项目地址

https://github.com/4paradigm/AutoX

参赛选手可以关注下面公众号,后台回复“KDDCUP”即可进群。 

以上是关于KDD Cup大赛Baseline&思路开源了!的主要内容,如果未能解决你的问题,请参考以下文章

KDD Cup 2021 时序异常检测总结!

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

2022嵌入式算法大赛题目解析+baseline思路

7次KDD Cup&Kaggle冠军的经验分享:从多领域优化到AutoML框架

2019KDD CUP | 2019国际知识发现和数据挖掘竞赛

[当人工智能遇上安全] 6.基于机器学习的入侵检测和攻击识别——以KDD CUP99数据集为例