菜鸟-需求预测与分仓规划
Another url: https://bulihanjie.github.io/2016/09/27/菜鸟-需求预测与分仓规划/
题目描述:
基本流程:
和其他机器学习比赛的思路大致是一样的:数据按照分仓和全国分开处理,划分时间窗口提取特征,跑模型,模型融合等,可能这比赛中可以添加规则来提高成绩。
在这里,我主要讲的是比赛中的尝试,与以前不一样的是改变模型求解的损失函数使得更加符合本题。
损失函数分析:
在赛题中,成本的计算受两个参数控制:补多成本和补少成本。当预测库存比实际库存少时,成本总和加上补少成本×库存之差;当预测库存比实际库存多时,成本总和加上补多成本×库存之差。因此补少成本和补多成本对于目标函数有着重大的影响,而如果直接调用模型进行训练,由于训练的损失函数不同,导致总的成本过高。
举个例子:
补多 | 补少 | 实际成本 |
---|---|---|
4 | 3 | 1 |
1 | 2 | 1 |
3 | 4 | 1 |
3 | 5 | 1 |
2 | 1 | 50 |
如果忽略了补多成本和补少成本,可能全部预测为10(均值),得到的总成本为139。当预测为1的时候,总成本为49,所以能得到更好的结果。
思路方案:
GBDT中,对于每个树节点的样本集合,其预测值为样本观察值的均值(如果有权重则是加权平均),如果考虑补多成本以及补少成本,可以有以下一个结论:
样本集合的最优