566. Playground Series - Season 3, Episode 19 | playground-series-s3e19
这是我第一次在Playground/Featured系列赛中获得个位数排名。
非常感谢Kaggle组织Playground系列赛事,并采纳了@ravi20076关于增加挑战多样性的建议,同时也感谢队友@onurkoc83和@nivedithavudayagiri的出色合作!
在本文中,我将详细介绍我在S3E19比赛中的解决方案。
我使用了这个数据集对2020年3月至12月的数据进行了平滑处理(而不仅仅是3月至5月)[我也尝试过使用2020年1月至12月的数据,但这导致了验证分数下降],以消除整年的异常趋势。
处理后的数据如下所示(没有出现任何偏差):

添加了以下额外特征:
(a) 标准日期特征:年、月、星期几等
(b) 节假日特征(参考:@nivedithavudayagiri)
(c) 季节性特征:如month_sin、month_cos
我没有使用交叉验证。训练集为2017-2020年平滑后的数据,验证集为2021年的数据。验证指标不是整个2021年的数据,而是仅计算2021年4月至12月的SMAPE(这个讨论提示评估将基于4月至12月的数据)。
使用了后处理:将最终预测结果乘以一个系数(参考:@paddykb的方法)。
在比赛期间,我发布了两个使用不同预测模型的公开笔记本:
(1) Prophet基线模型与后处理
验证分数:9.39
(5) CatBoost模型(平滑+后处理) [版本35]
验证分数:8.50
这两个笔记本的预测结果都被用作候选,与其他提交结果融合形成最终提交:
(2) EDA+集成ML管道+RNN by @tetsutani
(3) Gammy Sales [需注意!] by @paddykb
(4) EDA与建模提交 by @oscarm524
经过多次实验,最佳的融合子集是(2)、(3)和(5)。这得到了公开榜分数5.42826和私有榜分数6.01720,最终排名第9位。
注:如果选择公开榜分数最高的提交而非最佳CV分数,我本可以获得第6名。哈哈
感谢阅读!