最近参加了kaggle的walmart weekly sales 预测比赛,已经过期但还能提交获得评分。Walmart Recruiting - Store Sales Forecasting

提供的数据特征不复杂,就是商店信息、节假日信息、当地每周的气温、油价、CPI啥的。目标是预测每个商店下每个部门的周销售额。

关于提高预测精度要一步步来,每个部门的销售数据都是有周期性的。最简单的方式就是用去年的同期数据进行预测。效果实际很不错,直接就排进top 20%。

第二个想到的方法,把周日期(week)离散化为年份(year)、当年第几周(week_of_year)2个特征,然后加上当地的温度、油价,建一个回归树模型。用GBDT跑出来得分有所提高,但还不显著。

后来看了第一名的方案Walmart Recruiting - Store Sales Forecasting。基本思路是应用R的forecast包,对每个商店每个部门的销售时序数据应用stl分解,获得周期性数据(seasonal)和趋势性数据(trend),对trend应用arima或ets进行预测,然后加上上一年度的seasonal数据,得到最终预测数据。使用该方案直接就能进入top 5%。but,还有提升空间。由于评分公式对holiday周的权重很大,而美国节日的定义方法并不一样,比如圣诞节是固定的1224,而感恩节是第11月的第四个星期四,所以需要对节日进行对齐。对齐后进入top 2%。最后,对每个部门,建立日期(index)、商店(columns)这样一个矩阵,对该矩阵就行pca处理,减少不同商店带来的噪声信息。

 

walmart weekly sales的更多相关文章

  1. github上所有大于800 star OC框架

    https://github.com/XCGit/awesome-objc-frameworks#awesome-objc-frameworks awesome-objc-frameworks ID ...

  2. FusionChart学习笔记(部分)

    目录 第一阶段    1 一.创建第一个FusionChart    1 (1)导入js文件    1 (2)定义Div Id    1 (3)定义xml格式的数据文件    1 (4)编写js代码  ...

  3. ios开发中用过的一些外部库总结 cocoapods list

    下面几个库是在之前的一个ios app开发中使用过的一些外部库: 1. zbar :2. shakebox :3. processbar :4. tableviewcontroller :新版的sta ...

  4. CI Weekly #10 | 2017 DevOps 趋势预测

    2016 年的最后几个工作日,我们对 flow.ci Android & iOS 项目做了一些优化与修复: iOS 镜像 cocoapods 版本更新: fir iOS上传插件时间问题修复: ...

  5. fir.im Weekly - 关于 iOS10 适配、开发、推送的一切

    "小程序"来了,微信变成名副其实的 Web OS,新一轮的Web App 与Native App争论四起.程序员对新技术永远保持灵敏的嗅觉和旺盛的好奇心,@李锦发整理了微信小程序资 ...

  6. Android Weekly Notes Issue #237

    Android Weekly Issue #237 December 25th, 2016 Android Weekly Issue #237 这是本年的最后一篇issue, 感谢大家. 本期内容包括 ...

  7. Android Weekly Notes Issue #236

    Android Weekly Issue #236 December 18th, 2016 Android Weekly Issue #236 本期内容包括: Google的物联网平台Android ...

  8. Android Weekly Notes Issue #235

    Android Weekly Issue #235 December 11th, 2016 Android Weekly Issue #235 本期内容包括: 开发一个自定义View并发布为开源库的完 ...

  9. Android Weekly Notes Issue #234

    Android Weekly Issue #234 December 4th, 2016 Android Weekly Issue #234 本期内容包括: ConstraintLayout的使用; ...

随机推荐

  1. 【转载】VC GDI 像素转厘米(英寸)

    [转载]http://blog.sina.com.cn/s/blog_638dd78201018663.html 函数原型:int GetDeviceCaps(int nIndex); 常用的参数有( ...

  2. VMware 使用本机代理上网

    灰机使用方法 VMware 安装方法 首先解决主机的配置 1.查询本机 IP 地址,使用 ipconfig /all 2.更改小灰机的设置 3.虚拟机设置 4.Ubuntu 设置

  3. JTAG Communications model

    https://en.wikipedia.org/wiki/Joint_Test_Action_Group In JTAG, devices expose one or more test acces ...

  4. zoj 1649

    #include <iostream> #include <queue> using namespace std; int n,m,s2,e2; int b[205][205] ...

  5. ASIHTTPRequestErrorDomain Code=5

    ASIHttpRequest解析带空格的URL时 出错!!!(已解决) 用的是post请求 URL 地址是: http://111.234.51.56/login_member.pl?time=201 ...

  6. 【linux】linux查看资源任务管理器,使用top命令 + 查看java进程下的线程数量【两种方式】

    ================================ 详解:https://blog.csdn.net/achenyuan/article/details/77867661 ======= ...

  7. git 拉取远程指定分支 pull本地不存在的分支

    默认,git项目只有一个分支,就是master,我们当然可以在本地创建多个分支,并推送到远程git管理平台上,或者将远程git管理平台上的其他分支拉取到自己电脑上. 一.查看本地已有的分支 进入到项目 ...

  8. C# 获取文件的MIME类型

    在C#中获取文件的MIME类型(Content Type)的方法如下 一.使用MimeMapping类 在System.Web程序集中,当前为静态类,就一个获取 // // 摘要: // 映射文档扩展 ...

  9. C# 异步编程Task整理(一)

    一.简介 .Net Framework 4.0新增了一个System.Threading.Tasks命名空间,它包含的类提供了任务的相关操作.使用任务不仅可以获得一个抽象层,还能对底层线程进行很多统一 ...

  10. 配置SSD-caffe测试时出现“Check failed: error == cudaSuccess (10 vs. 0) invalid device ordinal”解决方案

    这是由于GPU数量不匹配造成的,如果训练自己的数据,那么我们只需要将solver.prototxt文件中的device_id项改为自己的GPU块数,一块就是0,两块就是1,以此类推. 但是SSD配置时 ...