shiji按序列

赛题名称

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

预测结果示例

推荐阅读:

我的2022届互联网校招分享

我的2021总结

浅谈算法岗和开发岗的区别

互联网校招研发薪资汇总

2022届互联网求职现状,金9银10快变成铜9铁10!!

公众号:AI蜗牛车

保持谦逊、保持自律、保持进步

发送【蜗牛】获取一份《手把手AI项目》(AI蜗牛车著)

发送【1222】获取一份不错的leetcode刷题笔记

发送【AI四大名著】获取四本经典AI电子书

KDD Cup风力发电赛题详解-附baseline代码【时间序列相关赛题方案】相关推荐

  1. Linux用户、权限及改变文件所有者及文件所属组多例详解 附python代码

    https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) Linux用户.权 ...

  2. 滚球控制系统详解 —— (附核心代码)

    最近练习了17年的国赛题 -- 滚球控制系统 这里展示一下画圆: 观看完整视频点这里 接下来,我来分享一下从搭整体结构到调试完的过程. 这是我搭完的整体结构 (缩小版) (不管什么题,结构部分还是很重 ...

  3. java小程序详解_微信小程序登录Java后台接口(详解,附示例代码)

    首先看一下官方文档 地址:微信小程序官方文档API登录接口 我们先对官方给的时序图进行简单的分析 1.当小程序调用wx.login()时,会获得一个code(临时登录凭证),然后我们需要用wx.req ...

  4. 数据结构 插入排序(InsertionSort Sort) 详解 附C++代码实现:

    目录 简介: 算法描述: 代码实现: 总结: 简介: 是一种简单直观的排序算法.它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入. 时间复杂度为o(n^2 ...

  5. C# 调用高德地图API获取经纬度以及定位,JS获取定位【万字详解附完整代码】

    最近有个需求,需要用到定位,本来打算用百度地图API定位,但是发现百度地图定位申请AppKey太麻烦了.因为是写的web端,百度地图定位API申请的Appkey需要网址过滤.索性就用高德定位了(有一说 ...

  6. lenet 5 代码 matlab,Lenet 和 Lenet5 结构简单粗暴详解(附完整代码)

    LeNet LeNet 早期用来识别手写体数字的图像的卷积神经网络 组成部分: 卷积层块 全连接层块 138CFD41-65C8-4ED7-9FB6-ACA8D5E98FEF.png image.pn ...

  7. 数据结构-数组-字符串匹配:Knuth-Morris-Pratt算法(详解附完整代码)

    字符串匹配 字符串抽象数据类型 字符串模式匹配 简单的字符串匹配 Knuth-Morris-Pratt算法 背景分析 失配函数 定义 实现方法 函数分析 KMP函数 实现方法 函数分析 失配信息的另一 ...

  8. 旋转排序数组系列题详解

    旋转排序数组系列题详解 文章目录 旋转排序数组系列题详解 一.问题描述:旋转数组的最小数字 二.分析:二分查找 三.代码 四.问题描述:寻找旋转排序数组中的最小值 五.分析:二分搜索 六.代码 七.问 ...

  9. 信号与系统考研复习例题详解_小语种日语日本文学复习考研资料加藤周一《日本文学史序说(上)》笔记和考研真题详解...

    加藤周一<日本文学史序说(上)>笔记和考研真题详解 目录 序章 日本文学的特征 0.1 复习笔记 第一章 <万叶集>的时代 1.1 复习笔记 1.2 考研真题与典型题详解 第二 ...

最新文章

  1. 【Qt】Qt容器总结
  2. 新晋技术Leader每天996,CTO却给他绩效打C,留下一句话...
  3. 文件 单片机_单片机C语言编程中reg52.h头文件的作用
  4. java bean 工厂模式_Spring框架通过工厂创建Bean的三种方式实现
  5. appsetting mysql_给IConfiguration写一个GetAppSetting扩展方法(示例代码)
  6. Linux中b设备是什么,linux-将新设备添加到b??trfs卷中,但是可用...
  7. vue调用const_2020年Vue的这些面试题你会吗?
  8. 虚拟机centos7启动无法识别磁盘_分享VSAN磁盘无法识别的故障解决方法
  9. 搭建携程Apollo分布式配置中心
  10. mysql concat算法_MySQL CONCAT()用法及代码示例
  11. 两个平面的位置关系和判定方程组解_2018年高考数学总复习第九章平面解析几何第2讲两直线的位置关系学案!...
  12. LIMS实验室系统无纸化管理给实验室带来的帮助
  13. python中几种去重的方法
  14. 【机器学习笔记】【随机森林】【回归器】【填充缺失值】
  15. Vue3/ Vue3 组件通讯 -- 子传父 方法流程 总结
  16. Linux中的/proc文件系统详解(C/C++代码实现)
  17. 安全的网络通道——网络准入之二层准入
  18. 使用wireshark抓取手机的rtmp推流包
  19. 发布Android应用程序过程GOOD
  20. PCB画可插器件封装的一些技巧(以LEM传感器LV25-PSP5为例

热门文章

  1. 每日一题系列:美国节日
  2. android 10.0 双屏异显(1)
  3. 计算机基础教学改革申报书,混合教学试点课程改革项目申报书-《计算机文化基础》...
  4. 计算机软考职称年限,计算机软考证书是职称吗
  5. ABAP ASSIGN 的用法
  6. 系统试运行报告是谁写的_费控系统项目实施情况说明
  7. APG优化非负矩阵分解(NeNMF)
  8. mac-取消wps自动订阅
  9. 知乎个人答案获取 然后vscode 的文件夹搜索,因为知乎没有自己的答案搜索
  10. Word中的空白页,怎么也删不掉?如何操作?