2017天池口碑商家客流量预测

队伍名:卡文尼尔
第一赛季排名:191
第二赛季排名:168
成绩:0.0824
github:https://github.com/liangyaorong/TianChi_IJCAI17_KouBei

这次比赛是抱着学习做特征工程的心态来做的,所以整体思路是模型加少许规则。

一路做下来发现对于时间序列的预测,最有效果的特征还是它的历史数据。model1将星期与假期哑变量作为特征,前三周为训练集,分别对每个商家用Lasso来预测,成绩可以到0.0847。但若是对每个商家分别建模,样本量太少,容易过拟合。因此改用整体建模的方式。

  • 数据预处理
    对缺失值进行填充。将客流量数据以星期为列,重排为数据框,将有零的行去掉后取后三周的平均作为填充值。也就是说填充值是一个字典{周一均值,周二均值,…}。这样对预测一些近期没营业数据,在预测区间内却正常营业的商家时,有很好的效果。
    对浏览数据进行同样处理。
  • 特征工程
    取前三周作为训练集,预测一周,剩下的一周与前一周一致。理论上把预测的第一周也作为训练集重新预测第二周,是最小方差估计。但实际情况却比不上复制。因此两周预测相同。

    主要提取四方面特征:

    • 商家特征。包括自身属性特征与商家客流量、浏览量最近三周的统计特征。
    • 时间特征。包括星期与假期特征,假期分为三类:工作日,小假期,大假期。考虑到训练集均在九月以后,就没有考虑寒暑假。
    • 天气特征。日最高温,日最低温,日前期天气状况,后期天气状况。共四维。天气状况分为四阶段进行因子化:0-优(如:晴,多云);1-良(如:阴,雾,霾);2-差(如:小雨,小雪);3-恶劣(如:中雨,中雪,大雨,大雪,雷阵雨,雨夹雪)。
    • 商家客流量与浏览量的星期滑动特征及其统计特征。如上周一,上上周一,上上上周一(捂脸)数据。
    • 对部分特征进行二次多项式交互。
  • 模型选择
    Extremely Randomized Trees 极端随机树。它与随机森林的不同之处在于,随机森林选择最佳分割点时,以香农熵或gini系数为依据;极端随机树是随机选择分割点。这使得森林里每棵树的差异比随机森林更大,集成时方差更小。GBDT和RF在该数据集上表现不如ET。因此选择ET作为模型。调参就不说了,都是泪啊 T.T

  • 规则调整
    有部分商家近三周的销售数据突降,却又不为零,与前段时间相差甚远(如23号,727号,810号…)。因为训练集取的是前三周,这使得预测不能反映出更前的历史状态,需要进行修改。
    因为官方说预测区间内左右商家正常营业,因此我尝试用更前的“正常”数据对预测进行填充修改。23号商家因为最近的几天出现明显的回升,因此这样的修改还是很有把握的,而727号商家近期无明显回升趋势,因此修改后成绩有所下降。
    这说明在没有明显回升趋势的情况下,该规则不适用。

  • 其他
    试过特征标准化,归一化,PCA降维,k-means特征,均对结果有消极影响。

  • 其他大神的做法
    第三名的drop-out大神的团队用的是knn,根据官方的测评标准SMAPE作为knn的距离,从历史数据中寻找最相似历史片段进行预测填充。
    其他大神的方法暂未开源,因此这里待续。热烈欢迎大家补充

p.s.
现在还是一名新手,之前未用过Hadoop。这次用MapReduce来对数据进行聚合,速度真的好快啊,内存控制得也很好,以后一定好好学Hadoop。MR的代码也放上去了,其实就是一个简单的WordCount,欢迎指出不足的地方。若能获得大家指点一二,是我之幸事!
(MapReduce对user_pay.txt(2.1G)单机聚合时间约3分钟,使用内存控制在1G以内)

天池 IJCAI17《口碑商家客流量预测》回顾相关推荐

  1. [IJCAI-17 口碑商家客流量预测]

    IJCAI-17 口碑商家客流量预测               第 1 赛季截止日期        2017/03/14 赛制介绍 重要时间 2月8日 08:00: 评测启动 3月7日 10:00: ...

  2. 【总结】IJCAI-17 口碑商家客流量预测参赛总结

    说是总结其实更多是教训,成绩不好. 关键词搜进来的想来学习的朋友可能要失望了... 参赛经历 时间: 2017.2.21~ 2017.3.14 比赛链接: IJCAI-17 口碑商家客流量预测 结果: ...

  3. [天池竞赛系列]IJCAI-17 口碑商家客流量预测冠军思路

    题目链接:https://tianchi.aliyun.com/competition/introduction.htm?spm=5176.100066.0.0.773ef42fw2ednG& ...

  4. 机器学习----------口碑商家客流量预测(天池大赛案例)学习心得

    天池大赛: IJCAI-17 口碑商家客流量预测 https://tianchi.aliyun.com/competition/entrance/231591/introduction 大赛第一名: ...

  5. 阿里天池大数据竞赛——口碑商家客流量预测 A2

    阿里天池大赛koubeiyuce1 2017年二月份,天池大数据比赛,口碑商家客流量预测,参赛地址及详情: https://tianchi.shuju.aliyun.com/competition/i ...

  6. 2018“云移杯- 景区口碑评价分值预测

    2018"云移杯- 景区口碑评价分值预测 (初赛第9) github链接:https://github.com/demonSong/DF_CCF_CONTEST 前言 实在太忙,找实习,天池 ...

  7. 交通状态预测 | Python实现基于LSTM的客流量预测方法

    交通状态预测 | Python实现基于LSTM的客流量预测方法 目录 交通状态预测 | Python实现基于LSTM的客流量预测方法 基本介绍 研究回顾 模型结构 程序设计 参考资料 基本介绍 Pyt ...

  8. 基于LSTM-CNN的地铁短时客流量预测

    本文以AFC系统中乘客进出站刷卡记录数据为基础并对进出站客流量进行预测,将神经网络与客流量时间与空间的分布特征相结合,能够有效地揭示轨道交通客流量的变化趋势.更进一步组合LSTM和CNN模型进行较为客 ...

  9. 天池大赛——二手车交易价格预测方案分享(一)

    这个比赛是天池的一个数据挖掘入门赛,要求根据提供的数据预测二手车的交易价格,属于回归问题,此篇主要分享一下特征工程和基础模型方面的思路. 1. 特征基本统计 date_cols = ['regDate ...

最新文章

  1. 苹果向求职者抛出的8大难题
  2. linux中如何查看某一进程的启动时间
  3. C#中将表示颜色的string转换成Color
  4. php 删除数组的空元素,php删除数组空元素的方法_后端开发
  5. 前端学习(1358) :渲染模板默认
  6. 第一轮返工潮,哪些城市疫情传播压力最大
  7. IPSEC是如何穿越NAT的
  8. 服务器之间远程拷贝scp
  9. 计算机操作系统第四版课后全部习题答案
  10. 用计算机弹出古诗,电脑屏保不断变化的诗句
  11. plex插件显示无服务器,Plex插件
  12. NOKOV Seeker2.2动作捕捉软件与ROS的通信
  13. 日语简体形与敬体形 - 新版标日22课
  14. 视频中的I、P、B帧
  15. python工资高还是java-python工资高还是java?python和java薪资对比
  16. 漫步微积分二十二——微分方程和分离变量法
  17. 领域驱动设计(domain driven design)战略篇之一 战略 Bounded Context
  18. 重启电脑数据丢失怎么恢复?这篇指南很受用!
  19. maximo安全组没有添加用户的权限
  20. 记录opencv的 QObject::moveToThread: Current thread(...) is not the object`s thread 错误

热门文章

  1. 注册(创办)公司的手续过程
  2. RPM包管理和YUM仓库构建
  3. 湖畔大学之在湖边 ● 畅谈1号位的技术观
  4. cad打开卡死_cad一点打开文件就卡死么办_cad打开某个文件很卡解决方法-win7之家...
  5. Java使用BigDecimal的setScale方法进行百位向上取整
  6. 谈谈final, finally, finalize
  7. 伪代码---ppt截图----含例题///^///
  8. JAVAWEB NOTE 1
  9. 计算机系统死机是指,解答电脑总是死机什么原因
  10. 《大话西游影评》 转自豆瓣