前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据缺失,如何智能修复?第一名方案源码分享

数据缺失,如何智能修复?第一名方案源码分享

作者头像
机器学习AI算法工程
发布2019-10-28 16:52:22
6830
发布2019-10-28 16:52:22
举报
文章被收录于专栏:机器学习AI算法工程
我们抽取某一海上风电场实际SCADA数据,并人为地去除其中的部分数据,包括但不限于删去某个时间段的全部数据、某台机组在某段时间的数据、某台机组在某段时间的部分字段信息等等,参赛者需要利用剩余数据对删去的数据进行恢复,最终以恢复的准确度为评价基准。

难点:

  1. 缺失数据几乎全部是整块丢失. 预测的时候几乎除了时间,不能从中得到有价值的特征
  2. 每块数据缺失的长度不一致. 缺少数据如果只是缺少一行,和一下缺少1000行,这样的预测难道肯定是不一样的,得到的结果也会差别很大
  3. 需要预测的有68个特征 每个特征有不同的分布趋势,这样每个列肯定是不同的模型和参数,如果人为的逐一去搜索,工作量可想而知.
  4. 如何构建和在线一致的本地测试集 每个缺失块大小不一,每个列缺失的数据多少不一,如果使用随机Split很难模拟到接近的分布.

AI项目体验地址 https://loveai.tech

求解思路:

  1. 难点1:

大量特征即使跨风机也具有很强相关性, 通过关联不同文件的数据构造特征, 下图就是挑选的有代表性的多列

  1. 难点2: 在模型中设置动态参数,根据缺失数据块的大小来分别构造Train数据,具体参数可以参考下面的模型设计
  2. 难点3: 在模型的设计中,把常见的回归,树模型都作为一个嵌套模型,通过参数控制.自动的寻找最优参数(模型)
  3. 难点4:
  • 建立缺失数据字典,对每一个连续的数据块和缺失块,存储起始地址.
  • 在缺失块对应的数据块,前后都可以找到和缺失块一样大小的块来模拟缺失块,这样隐含参数也基本一致.

方案细节

下面3个模型的训练方法基本一致,就是内部嵌入各种模型,通过参数共享来避免过拟合. 3个模型的区别在于,最优参数的选择方法不一致.

  1. 模型1:

模型2:

模型3:

模型的优缺点:

继续改进的空间:

  • 好几个参数没有展开搜索
  • 只使用了线性回归
  • 只使用了相关性来做特征选择
  • 对大缺失块增加更多资源来训练,增加搜索空间
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习AI算法工程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 难点:
  • 求解思路:
  • 方案细节
  • 模型的优缺点:
  • 继续改进的空间:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档