排名42/3574--Loss 0.1676
赛题描述
https://tianchi.aliyun.com/competition/information.htm?spm=5176.100067.5678.2.Ei7xDI&raceId=231597
这次比赛分两个小比赛,一个是时间预测,一个是流量预测,我只参加了流量预测,所以以下都只针对流量预测来说。
比赛分为两个阶段,第一阶段给出9月18到10月17的每20分钟时间窗的车流信息、天气、道路拓扑结构,和前序2小时的车流量,预测接下来一周早高峰8-10点和晚高峰17-19点每20分钟的车流量。共有3个收费站,1,3可进可出,2只进不出,所以分为了5个方向都要分别预测。第二阶段是增加了10月18到10月25的信息,和接下来一周6-8,15-17的车流信息,以此来预测在接下来一周的响应时间的车流量。
评价指标是相对误差。
</br>
自己的思路 -- 排名42/3574--Loss 0.1676
暂时未找到前几名的开源,就先写一下我们队自己的思路吧。
还是和@lyq组队,在倒数第二次提交时loss降到了0.1676,因为lyq犯蠢最后一次提交修改的没存到最后,所以提交了和倒数第二次一样的文件,浪费了最后一次前进几名的机会。
吸取了之前口碑竞赛的经验教训,我们一上来就确定了大方向:去掉节假日信息、按照不同分布分情况建模。
根据可视化观察,把车型分成1、2和其余车型这三类。数据清洗的目标是把车流量分别按这三类车型整理成(324n,5)的矩阵,n是天数,5是方向数。 在第一阶段的训练集中,去掉十一假期和前后一天,还剩20天的数据。
我们将车流量分成了三部分:每天不同时段造成的周期性+相对星期几+天气影响。注意因为十一假期调休相对星期几和实际星期几可能不同。周期性就用 sm.tsa.seasonal_decompose
分解时间序列得到。因为数据量少,为了防止过拟合,相对星期几和天气都用简单的线性模型。权重由数据减去了周期性的残差计算得到。
在原来影响车流量的三个因素之外还要再加一个因素:前序时间对车流的影响,这描述了当天的一些突发事件。对于前两小时的影响,我们认为越接近要预测的时段的流量对于流量的影响权重越大。配合离线调优和可视化观察,我们适当增大了前一小时的影响,得到了最终结果。
第28名题解
https://github.com/search?q=KDD2017
KNN,XgBoost,MedianModel, LightGBM, Box-Cox变换