本人经过作者同意,公布了:BDCI2018供应链需求预测数据竞赛第一名的解决方案和代码。该方案利用赛题为运用平台积累最近1年多的商品数据预测45天后5周每周(week1~week5)的销量,为供应链提供数据基础,将能够为出海企业建立全球化供应链方案提供关键的技术支持。

赛题介绍

1.赛题名称

供应链需求预测

2.赛题网址:

https://www.datafountain.cn/competitions/313/details

3.赛题背景

主办方:中国计算机学会 & 执御

浙江执御信息技术有限公司是一家专注出海的跨境电商企业,利用移动互联网创新和大数据应用,助力中国制造升级,将中国和全球的优质品牌、设计、产品输送到“一带一路”沿线国家和地区。在电商产业链中,为提升用户物流服务体验,供应链协同将货品提前准备在全球各个市场的本地仓,可有效降低物流时间,极大提升用户体验。不同于国内电商物流情况,出海电商的产品生产和销售地区是全球化的,商品的采购,运输,海关质检等,整个商品准备链路需要更长的时间。在大数据和人工智能技术快速发展的新时代背景下,运用大数据分析和算法技术,精准预测远期的商品销售,为供应链提供数据基础,将能够为出海企业建立全球化供应链方案提供关键的技术支持。

4.赛题任务

供应链需求预测,对原问题做建模问题简化。考虑商品在制造,国际航运,海关清关,商品入仓的供应链过程,实际的产品准备时长不同。这里将问题简化,统一在45天内完成,供应链预测目标市场为沙特阿拉伯。赛题为运用平台积累最近1年多的商品数据预测45天后5周每周(week1~week5)的销量。

具体任务见赛题网址:

https://www.datafountain.cn/competitions/313/details

团队介绍

队名:你们偷塔,我来团

队员:张予琛、罗律、罗宾理、朱丹青、江洪水

  • 张予琛,中南大学研究生在读、电投轮机赛亚军

  • 罗律,中南大学研究生在读、电投轮机赛亚军

  • 罗宾理,中南大学本科在读、2018 KDD CUPTOP1,也创造了最小年龄的该奖项的获得者记录、2018 IJCAI TOP3、工业AI智能制造全球top2、智慧中国杯,凤凰金融量化投资大赛top1、第十届英特尔杯特等奖和最具创意潜力奖、湖南省挑战杯金奖和全国铜奖。

团队成绩:1/1458 (最终排名)

赛题方案

1.赛题理解

此赛题为供应链需求预测,提供了执御平台一部分商品一年多的销售和其他相关日常数据,要求预测部分sku 45天后的五周内销量。首先,这是一个典型的时间序列回归问题。使用传统的时间序列回归方法进行预测应该能够起到一个还不错的效果,可以作为一个Baseline模型。进一步的,可以构建训练集,抽取一些与sku未来销量相关性高的特征来进行机器学习模型的训练,把这个问题看作一个回归问题使用机器学习的方法进行预测。

2.数据分析

在复赛中,总共提供了上百万个sku的2017年3月到2018年3月16的历史数据,要求预测其中十五万个sku在2018年5月1号开始的五周的每周销量。因为要预测的销量的时间单位是周,所以我们在历史数据中新增了一个用于表示当前时间距离2018年3月16日有多少周的列。图1是每周全部sku的总销量图,图中我们可以看出,在15周(也就是2017年11月左右)的时候,总销量出现了异常高峰,明显高于其他时期。我们推测这段时间应该是平台在搞大型促销活动,所以才会导致出现如此的异常销量高峰,在构建训练集和提取特征时应该注意避开这段时期或者进行平滑处理。通过对要进行预测的sku_id的分析,我们发现要求进行销量预测的sku都是在2018年3月有过销量的sku,也就是说此赛题是预测近期活跃sku的未来销量。于是,我们在构建训练集的时候,可以考虑模拟这种抽取近期活跃的sku的方式来构建线下训练集。

要求进行销量预测的时间的2018年5月起的五周,然后这个赛题的目标市场是在沙特阿拉伯。我们注意到,在这段时间内,有沙特阿拉伯的重要节日,开斋节。我们认为,平台在这段时间应该也会进行相应的促销活动,通过对平台活动数据的分析发现果然如此,所以这段时间的销量必然会有个起伏的过程,可以根据平台活动节奏适当对预测销量进行调整。

图1

3.特征工程

我们首先用时间序列加权回归的方法做了一个基础的模型,sku未来的销量肯定与历史销量有关,越是离得近的销量数据越有参考价值。所以我们选取了离2018年3月16日最近的八周的销量,分别赋以11,7,6,5,4,3,2,1的权重系数,然后求得平均值作为线上的预测结果。这个基础模型就已经能够在线上取得不错的分数了,后期我们将这个预测值加入到我们的机器学习模型中作为特征。

其他的特征方面,主要分为商品历史特征、整体活动特征以及时间序列特征。其中商品历史特征主要是商品每周销量/商品销量占品类的比例/商品价格等,在这些特征中主要提分点还是基于销量的特征。由于商品的促销等特征在预测时段的数据并未提供,所以这部分特征我们团队并没有做相关的挖掘,主要还是以历史销量为主。整体活动特征是marketing表中所述全场活动,对整体销量影响极大,这部分特征由于我们数据集构造并没有连续划窗,所以我们并没有直接将其放入特征中,而是对历史销量进行平滑,平滑掉全场大促的活动对模型的偏移。时间序列特征本质是规则,根据衰减情况把商品历史销量直接作为预测值,同时,在这部分特征里对历史销量运用卡尔曼平滑的方法,线上提分明显,并且线上线下都非常稳定。

4.模型选择

模型部分,我们团队一直采用的XGboost单模型,并未做其他的模型融合操作。单模型速度较快,工业应用价值高,并且更能体现特征的价值。而XGboost更是一个应用价值非常高的模型,可以进行分布式实现以及调用GPU进行加速,更有利于现实中的工业应用。

复现方法

1.代码和数据集

代码和数据集可以在百度云下载:

链接:https://pan.baidu.com/s/1yMd_t9MhzFMM0i78iy8nHg

提取码:rrxm

如果被和谐请回复“供应链预测”获取新网址。

备注:

作者曾在github公布过代码,与百度云一致

https://github.com/luoda888/CCF2018-Top2-Demand-Forecast

经过我和作者的沟通,在百度云上增加了github里没有的数据集,如果要复现,建议到百度云下载数据集,需要查看更新请在github下载最新代码

2.复现方法

复现环境:python3.6

将百度云下载的数据集压缩包解压到代码目录(数据在fusai_data目录),使用作者提供的简易执行代码一键运行:

  • python feature-1.py

    运行时间约30分钟即可复现跟比赛成绩相近的结果。

总结

本方案利用采用单模型进行预测,能取得良好的成绩并非依靠模型融合的方法。方法具有良好的可扩展性,可以拓展的场景有音乐流行趋势预测、金融序列预测、以及绝大部分效率预测问题。由于方案的简单以及可扩展性,适合真实场景应用,该方案最终获得综合评分第一名(线上成绩为第二,综合评分第一)。

分享是一种美德-感谢作者团队的开源分享,期待广大的机器学习爱好者开源自己的代码,为广大的初学者提供便利。

请关注和分享↓↓↓ 

机器学习初学者

QQ群:774999266

往期精彩回顾

  • 机器学习简易入门-附推荐学习资料

  • 机器学习初学者公众号下载资源汇总(一)

  • 黄海广博士的github镜像下载(机器学习及深度学习资源)

  • 吴恩达老师的机器学习和深度学习课程笔记打印版

  • 机器学习小抄-(像背托福单词一样理解机器学习)

  • 首发:深度学习入门宝典-《python深度学习》原文代码中文注释版及电子书

  • 科研工作者的神器-zotero论文管理工具

  • 机器学习的数学基础

  • 机器学习必备宝典-《统计学习方法》的python代码实现、电子书及课件

  • 吐血推荐收藏的学位论文排版教程(完整版)

开源-BDCI2018供应链需求预测模型第一名解决方案和代码相关推荐

  1. 魔改nnU-Net夺冠!2021 BraTS 脑肿瘤分割竞赛第一名解决方案

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 转载自:集智书童 Extending nn-UNet for brain tumor segmentatio ...

  2. 教程 | Kaggle网站流量预测任务第一名解决方案:从模型到代码详解时序预测

    https://mp.weixin.qq.com/s/JwRXBNmXBaQM2GK6BDRqMw 选自GitHub 作者:Artur Suilin 机器之心编译 参与:蒋思源.路雪.黄小天 近日,A ...

  3. 幽默度识别第一名解决方案代码及说明

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx 幽默是一种特殊的语言表达方式,在日常生活中扮演着化解尴尬.活跃气氛.促进交流的重要角色. 而幽 ...

  4. Kaggle网站流量预测任务第一名解决方案:从模型到代码详解时序预测

    下面我们将简要介绍 Artur Suilin 如何修正 GRU 以完成网站流量时序预测竞赛. 预测有两个主要的信息源: 局部特征.我们看到一个趋势时,希望它会继续(自回归模型)朝这个趋势发展:看到流量 ...

  5. python预测比赛_快手活跃用户预测竞赛的第一名解决方案

    作者按:由于比赛时间仓促,这份代码中有些地方写的并不规范.更规范的tensorflow RNN构建,可以参考作者的另外一个项目tenosrflow-RNN-toolkit,该项目使用更高程度抽象的bu ...

  6. 中文短文本的实体识别实体链接,第一名解决方案

    向AI转型的程序员都关注了这个号

  7. 网站流量预测任务第一名解决方案:从GRU模型到代码详解时序预测

    向AI转型的程序员都关注了这个号

  8. 开源-BDCI2018面向电信行业存量用户的智能套餐个性化匹配模型Top1解决方案和代码...

    本人经过作者同意,公布了:BDCI2018面向电信行业存量用户的智能套餐个性化匹配模型数据竞赛top1解决方案和代码.该方案利用已有的用户属性(如个人基本信息.用户画像信息等).终端属性(如终端品牌等 ...

  9. 开源-BDCI2018面向电信行业存量用户的智能套餐个性化匹配模型Top1解决方案和代码

    来源 本人经过作者同意,公布了:BDCI2018面向电信行业存量用户的智能套餐个性化匹配模型数据竞赛top1解决方案和代码.该方案利用已有的用户属性(如个人基本信息.用户画像信息等).终端属性(如终端 ...

最新文章

  1. 心音数据库_小V云端数据库 | 2020.9.14—2020.9.18
  2. 高性能mysql 第六章_高性能MySQL 第六章
  3. ABAP实现本地化的资产负债表和损益表
  4. Windbg教程-调试非托管程序的基本命令上
  5. 【人工智能导论】A*算法求解15数码问题 Java
  6. 我要自学网python视频教程_人生苦短,请用Python!学习Python的四大理由
  7. spi flash驱动
  8. python bytes转换为string_Python3 中 bytes 和 string 之间的互相转换
  9. mybatis oracle 大写,解决mybatis用Map返回的字段全变大写的问题
  10. .NET中使用Memcached的相关资源整理
  11. Transact-SQL 示例 - 触发器的基础及应用
  12. http协议、cookie与session介绍
  13. unix, PF_UNIX, AF_UNIX, PF_LOCAL, AF_LOCAL - 用于本地内部进程通讯的套接字。
  14. 《调试软件》作者主页
  15. eclipse语言包安装后如何进行英语中文切换
  16. python:利用opencv实现图片转视频,视频转图片
  17. tiktok说查生日_TikTok对于Nadella的Microsoft来说似乎是危险的舞步
  18. 关于applet小程序在浏览器上运行的备注
  19. elementui el-image组件 点击按钮 预览图片
  20. RAID基础(附RAID10搭建)

热门文章

  1. 二维LIS(CDQ分治)
  2. 【MAVEN】如何在Eclipse中创建MAVEN项目
  3. Vue学习之路---No.7(分享心得,欢迎批评指正)
  4. BZOJ3160:万径人踪灭
  5. 照片处理软件(iSee图片专家) 3.930 中文免费版
  6. phpstudy sqlsrv v8.1_phpStudy
  7. JavaWeb(二)——Http协议
  8. Verilog功能模块——AXI4-Lite协议主机-单次写-使用FIFO
  9. 问题 | Matlab:Fatal Error on startup(致命错误)
  10. HTML+CSS+JavaScript复习笔记持更(十)——CSS3常用属性之定位