面试了某公司的需求预测算法岗位,在这里做一个总结。
虽然我的经历也是乏善可陈,但是还是勉强去试一试水。
之前在一家生鲜电商的算法经历,
问:肉类课组的优化到底是什么方面。
我:扩大生鲜自营品牌的占有率,预测+组合优化计算原料
问:前置仓选品策略是什么?
就是类似推荐算法的思想,把商品在门店的周转率组合成矩阵,然后进行矩阵分解,每个店的特征可以用一个k维的向量来表示;然后两个向量的余弦相似度就可以表示门店的相似度了,然后推荐商品池里不在当前门店的商品。周转率可以表示为商品价值/ 周转天数,所以周转率越高,偏好程度越高。
问:在现在公司的预测算法用了哪些?
深度学习+机器学习的组合算法。深度学习主要是TFT,有一个类似LSTM的短期的时序模块和一个attention的长期时序模块。机器学习主要是GBDT的方法,把特征输入到模型里通过回归算法得到预测值。回答是用了lightgbm的框架,但是没有深入再问。
深度学习的样本用了多少?每天是几千万的样本,如果训练的话,用多少样本?
销量为0的样本占比很高,需要删除90%的样本。但是时间序列删除样本会导致序列中断。
1.销量还原,减少0样本数量。
2.深度学习时序模型,不用太多样本,用最近的样本,只选取最近2个月的。
深度学习和机器学习怎么融合?
1.观察预测值是否异常(和销量,自己同期预测值相比是否稳定)
2.取预测值加权平均,或者投票决定。
销量仿真系统是什么情况?
对模型的优化上线之前,需要经过仿真系统测试一下,看看仿真系统上的表现怎么样,如果业务指标不好就不上线。仿真系统会假设不存在的情况(比如未来天气预报没有雨,但仿真系统有雨)。但是仿真系统生成序列的具体算法没有问。
概率分布拟合库存是什么做法?按统计方法,用假设检验的方法检查是否符合某种分布。因为传统的安全库存公式都是按照正态分布来预估的,但是某些商品更符合其他分布(泊松、均匀分布)可以更贴近的方式去拟合。
是拟合销量分布还是销量与预测值的残差分布?我这里拟合了残差,因为最后还是用残差的分位数来算安全库存。
我们这里没有预测和补货两个系统,只有预测系统。因为最后的补货数值都是从预测端出来。可能还需要一个补货系统?
销量的联合预测?计算两种商品的共现频率,类似于jaccard index,划分一个阈值,高于阈值的商品使用联合预测方法。怎么做联合预测?没有反应过来,要仔细研究补充。
反问环节:业务指标和算法指标怎么看?如果有业务方的紧急需求,怎么响应?看起来公司对业务方还是有相对的独立性的,不是被牵着鼻子走。