ArchSummit北京2016 《基于机器学习对销量预测的研究》 唐新春(1)
2020-03-01 84浏览
- 1.基于机器学习方法对销售 预测的研究 唐新春 百分点信息科技有限公司 数据科学家
- 2.
- 3.
- 4.基于机器学习方法对销售 预测的研究 唐新春 百分点信息科技有限公司 数据科学家
- 5.01 销售预测现状与痛点 02 销售预测四大步骤 03 销售预测基本方法 CONTENTS 04 销售预测效果评估方法与指标 05 某电商网站销售预测案例分享
- 6.销售预测的现状与痛点 销售预测是完善客户需求管理、指导运营、以提高企业利润为最终目的商业问题。 而预测的精确性是销售预测的核心痛点。 销售预测全景图 供货链条 送货时间、送货 地点、是否包邮 等 物流 销售预测的痛点 生成和采购 合理安排生成和 采购的时间节 点,优化库存 库存 商业环境因素众多,变 化极快,难以及时把握 和分析 供应链整体水平低,导 致货物积压严重 市场营销 促销方案 商品减价、商品促 销、组合销售等 财务 管理 财务和会计 实时反馈公司财务报 表,监控公司资金流 动管理 产品定价、商品服务的 单一性,导致企业竞争 力小
- 7.预测的基本思想 预测是通过历史数据或其他外部因素构建模型、学习其变化“模式”,利用该“模式”对未来事 物进行预测的一个过程。 特点:短期预测的精度要远远高于长期预测。 业务理论 数据量 变化模式 假 设 销售预测体系框架
- 8.01 销售预测现状与痛点 02 销售预测四大步骤 03 销售预测基本方法 CONTENTS 04 销售预测效果评估方法与指标 05 某电商网站销售预测案例分享
- 9.预测的基本步骤 需求 开发 探索 完善 确定预测对象、预测目标 和需求; 预测周期:短、中和长期 需求与预测精度的权衡 准确性与可解释性的权衡 预测目标 收集数据、整理指标体系 数据描述与数据探索 数据预处理 算法的选择 模型的训练与预测 过拟合问题的处理 建立建模 收集数据 RMSE、MAPE等定量评价指标 AIC、BIC等模型评价指标 评价指标
- 10.预测目标 预测对象:性质、结构、业务场景等 预测时间:短期预测、中期预测和长期预测等 长期预测 数 据 量 精确性 中期预测 短期预测 少于5天 介于两者之间 大于4周 或1个月 业务目标:准确性和模型可解释性的匹配度 时间 可解释性
- 11.收集数据或理解数据 数据搜集 目标数据(内部数据、 外部数据) 额外数据:天气、经纬 度、节假日、CPI指数等 数据探索 对数据检查和理解:比 如库存量为负值、星期 数大于8等 对结果变量的分析:包 括分布、趋势性、周期 性等 数据预处 理 中心化和标准化 缺失值处理:邻近插补、 多重插补、线性插补等 数据转换:取对数、 Box-Cox变换 对预测变量的分析:包 括变量筛选、多重共线 性、相关性 离群点处理 数据降维和特征选择: PCA、AIC/BIC等
- 12.收集数据或理解数据 数据预处理的缺失值部分 处理缺失值的两大类方法: (1) 直接删除缺失的预测变量 (2) 利用不同的方法对预测变量的缺失值进行插补,插补方法有:均值插补、多重插 补、随机插补、K近邻插补、线性插补等。 注意:一般对于带有时间戳的时序变量,考虑到变量的时效性和经济因素,通常采用 邻近插补法或者线性插补。 时期 变量 时期 变量 2015-05-23 NA 2015-05-23 10.0 2015-05-24 10.0 2015-05-24 10.0 … … 2016-05-09 9.8 2016-05-09 9.8 2016-05-10 NA 2016-05-10 9.8 处理之前 处理之后
- 13.收集数据或理解数据 数据预处理的数据变换部分 一个需要进行数据变换的原因是去除分布的偏度。一个无偏分布是大致对称的分布,这意 味着随机变量落入分布均值两侧的概率大体一致。 数据变换一般有两种方法: (1) 对数据做变换,如取对数、平方根或倒数 (2) Box-Cox变换
- 14.01 销售预测现状与痛点 02 销售预测四大步骤 03 销售预测基本方法 CONTENTS 04 销售预测效果评估方法与指标 05 某电商网站销售预测案例分享
- 15.销售预测的基本方法 主观预测 时间序列 机器学习 专家法 指数平滑法 线性回归 自回归移动模型 决策树 随机森林 xgboost 神经网络 支持向量回归
- 16.专家法 专家预测法: 由专家根据他们的经验和判断能力对待定产品的未来销售进行 判断和预测,通常有三种不同的形式: (1)个别专家意见汇集法 (2)专家小组法 (3)德尔菲法 优点: 简单、快速 缺点: 准确率低、受人的主观影响大 根据过 去经验 销量 时间 销量 时间
- 17.指数平滑法 指数平滑遵循“重近轻远”原则,对全 部历史数据采用逐步衰减的不等加权办法 进行数据处理的一种预测方法。 基本公式: 𝑦𝑡+1 = 𝑎 ∙ 𝑦𝑡 + (1 − 𝑎)𝑦𝑡−1 其中,𝑦𝑡 是时间𝑡的时间值; 𝑎是平滑常数,其取值范围为[0, 1]。 优点:简单、适合趋势预测、模糊预测 缺点: 准确率不高、需要趋势性较好的数据
- 18.自回归移动模型(ARIMA) ARIMA模型是指将非平稳时间序列转化为平稳时间序列,然后将结果变量做自回归(AR) 和自平移(MA)。
- 19.机器学习的实现流程 样本数据 使用机器学习的有监督学习对进行销量变化进行建模, 依据建模结果来预测未来销量值。其实现流程如下: Y 销售量 X 影响销售量 的因素 (X,Y) 训练集 特征筛选 机器学习算法 测试集 预测Y’值 真实Y值 模型参数 模型评估
- 20.特征筛选 特征筛选是一类预测变量变换的方法,通过这种方式,能够用更具有信息量的变量来构建 模型,排除无信息量的变量的噪声干扰,提高模型稳健性。 常用的特征筛选方法: (1) 相关性等统计 [阈值过滤] (2) 信息增益、信息增益率、基尼系数等 [阈值过滤] (3) 向前、向后和逐步选择法,如AIC/BIC准则 [最小值] (4) 模型选择,如随机森林、LASSO等 [模型输出] x1 x5 x3 x4 x4 x2 x6 · · · · x1 x3 x6 x5
- 21.线性回归模型:广义线性模型 线性模型 原理简介: 随机分布 >指数分布、泊松分布等 关系 数值型回归 优点: 线性回归 通过结果变量与预测变量直接建立线性 模型可解释性强 缺点: 只适用于线性规律 >𝑌 = 𝜃0 + 𝜃1 ∗ 𝑋1 + 𝜃2 ∗ 𝑋2 + ⋯ + 𝜃𝑁 ∗ 𝑋𝑁 Y为销量值,X为预测变量,N为预测变量个数,θ为参数 激活函数 >激活函数:sigmod, log函数等 逻辑回归
- 22.决策树(回归树) 妹纸评分:[0,10] 五官端正 是 否 身材 3 不好 好 原理简介: 通过训练数据,形成if-then规则集合 由根节点到叶节点的每一条路径构成规 则 分裂形成规则 5 优点: 否 可拟合非线性规律,计算复杂度较低 缺点: 9 回归树用平方误差最小化准则,节结点 为单元内数值的平均值 是否有钱 是 对结果变量有主要解释作用的特征会先 7 容易出现过拟合
- 23.随机森林 原理简介: 是包含多个回归树的组合器 输出的数值是由个别树输出的数值的平 均而定 优点: 准确度高 训练速度快 容易做出并行算法 可处理大量变量并评估变量重要性 缺点: 在噪声较大的数据上会有过拟合问题
- 24.xgboost
- 25.xgboost
- 26.xgboost 目标函数去掉常数项: 𝑛 𝑂𝑏𝑗 (𝑡) = 𝑖=1 1 𝑔𝑖 𝑓𝑡 𝑥𝑖 + ℎ𝑖 𝑓𝑡2 𝑥𝑖 2 + 𝛺(𝑓𝑡 ) 找到那颗树𝑓𝑡 ,使得目标函数达到最优即可。 原理简介: 是基于传统的GBDT上做了一些优化的开 源工具包,目前有python,R,Java版。 优点: 高速准确 可移植,可以自己定义假设函数 可容错
- 27.神经网络 𝑌 = f(X) (非线性映射) 原理简介: 是利用一系列非线性回归,将预测变量 映射到结果变量的一种方法。 优点: 准确度高 训练速度快 并行处理能力强 缺点: 需要大量的参数 不能观察学习的过程,对结果难以解释
- 28.支持向量回归(SVR) 原理简介: 是通过寻求结构化风险最小来提高学习 泛化能力,实现经验风险和置信范围最 小化,从而达到获得良好统计规律的目 的 优点: 可以解决小样本情况下的机器学习问题 可以解决高维、非线性问题 缺点: 对非线性问题没有通用解决方案,对核函 数的选择非常敏感 SVR最本质与SVM类似,都有一个margin,只不过SVM的margin是把两种类型分 开,而SVR的margin是指里面的数据不会对回归有任何帮助。
- 29.01 销售预测现状与痛点 02 销售预测四大步骤 03 销售预测基本方法 CONTENTS 04 销售预测效果评估方法与指标 05 某电商网站销售预测案例分享
- 30.模型评估方法:k折交叉验证法 K折交叉验证法 – 在k-折交叉验证中,初试数据被划分成k个互不相交的子集或“折”,每个折的大小大致相等。 训练和测试k次。在第i次迭代中,第i折用作测试集,其余的子集都用于训练分类法。 – 准确率估计是k次迭代正确分类数除以初始数据中的样本总数。 S1 测试集 S2 数据 …… Sk 训练集 导出 回归法 评估 精度
- 31.模型评估方法:k折交叉验证法 K折交叉验证法 – 在k-折交叉验证中,初试数据被划分成k个互不相交的子集或“折”,每个折的大小大致相等。 训练和测试k次。在第i次迭代中,第i折用作测试集,其余的子集都用于训练分类法。 – 准确率估计是k次迭代正确分类数除以初始数据中的样本总数。 S1 测试集 S2 数据 …… Sk 训练集 导出 回归法 评估 精度
- 32.模型评估方法:k折交叉验证法 K折交叉验证法 – 在k-折交叉验证中,初试数据被划分成k个互不相交的子集或“折”,每个折的大小大致相等。 训练和测试k次。在第i次迭代中,第i折用作测试集,其余的子集都用于训练分类法。 – 准确率估计是k次迭代正确分类数除以初始数据中的样本总数。 S1 测试集 S2 数据 …… Sk 训练集 导出 回归法 评估 精度
- 33.模型评估指标: RMSE(均方根误差) – RMSE – 与分类模型不同,回归模型是对连续的因变量进行预测,因此判断回归模型的准确率需要考 虑的是预测值与真实值之间差异的大小。 𝑅𝑀𝑆𝐸 = 𝑛 (𝑦 −𝑦 )2 𝑖 𝑖=1 𝑖 𝑛 – 其中,𝑦𝑖 为第i个样本的真实值,𝑦𝑖 为第i个样本的预测值,n为样本量。 – 有时也用𝑀𝑆𝐸 = 𝑛 2 𝑖=1(𝑦𝑖 −𝑦𝑖 ) 𝑛 来评估回归模型的准确率,与RMSE效果相同。
- 34.模型评估指标: AIC & BIC AIC准则是评估统计模型的复杂度和衡量统计 – BIC准则是依贝叶斯理论提出的一种模型选择 模型拟合优度的一种标准: – 𝐴𝐼𝐶 = −2ln 𝐿 + 2𝑝 – 其中L是在相应模型下的最大似然估计值,p 是模型的变量个数。 – 增加变量的数目提高了拟合的优良性,但可 能造成过度拟合的情况。AIC鼓励数据拟合 的优良性但是尽量避免出现过度拟合 (overfitting)的情况。 – AIC值越小,模型越好。AIC准则是寻找可以 最好地解释数据但包含最少自由参数的模型。 准则。 – 𝐵𝐼𝐶 = −2ln 𝐿 + ln(𝑛)𝑝 – 其中L是在相应模型下的最大似然估计值,n 是样本量,p是模型的变量个数。 – BIC值越小,模型越好。 – AIC准则倾向于过拟合,BIC准则倾向于欠拟 合,BIC选出的模型相对于AIC的更为精简。
- 35.01 销售预测现状与痛点 02 销售预测四大步骤 03 销售预测基本方法 CONTENTS 04 销售预测效果评估方法与指标 05 某电商网站销售预测案例分享
- 36.销售预测的企业案例分析 项目背景 某电商平台主营海外代购业务,由于海外代购物流时间长、发货时间慢等因素导致 该电 商平台存在大量库存积压情况,想通过销售预测模型改善安排进货、提高发货速度以及优化 库存。 预测目标 预测某类销量 排行Top20某单 品未来7天的销 量情况 收集数据 应用模型 评价指标 1.收集数据: ~18个月数据,样本 513,指标72 2.数据探索: 与销量的变量分析 3.数据预处理: 缺失值、Box-Cox变 换、stepBIC等 时间序列方法 机器学习算法 评估指标 可视化展示
- 37.收集数据:采集影响商品销量指标维度 1 商品信息(10个) 商品产地 商品税率 商品销量 商品供货 商品库存 商品物流 季节特征(1个) 4 节假日消费等级 商品品牌 2 商品质量(13个) 价格变化(13个) 5 商品换货 商品复购 零售价格 商品退款 用户评价 交易价格 交易税率 商品退货 3 营销推广(14个) 商品优惠 商品抢购 商品促销 首页广告 商品分销 6维度 72指标 商品销量指标体系 用户行为(21个) 浏览行为 购物车行为 咨询行为 下单行为 收藏行为 支付行为 6
- 38.数据探索:节假日与销量关系 节假日变量对销量的影响明显
- 39.数据探索:预测变量之间的多重共线性 结论:订单数、订单金额和订单用户数之间相关性较高!需要过滤多重共线性!
- 40.模型效果:真实值与预测值对比图 xgboost和随机森林的预测效果较佳,线性回归和ARIMA效果较差
- 41.应用模型:xgboost 红色点线:某商品的真实销量 绿色点线: 某商品的预测销量 RMSE(均方根误差):3.68837
- 42.模型评估:RMSE 算法名称 RMSE 性能 ARIMA 5.32 速度较慢,2.5min 线性回归 4.28 速度快,< 1min 决策树 5.02 速度快, < 1 min 随机森林 2.85 速度快, < 1 min xgboost 3.68 速度适中, 1.5min 神经网络 4.99 速度快, < 1 min 支持向量回归 3.27 速度快, < 1 min ◇随机森林:采取的是重抽样,具有自动选择重要特征的功能,无需做特征筛选,在一定程度 上避免了过拟合 ◇xgboost:kaggle比赛上表现卓越的算法之一,从本质上分析是一个集成的决策树,但是可 以让弱回归树集成成强回归树 因此,它们可以在本案例中能够取得的好预测效果 ◇而其他算法:处于数据的局限性或模型的参数未达到最优,会存在一定的过拟合,导致预测 效果相对较差
- 43.模型总结 算法名称 预处理 变量选择 可解释性 准确性 ARIMA 缺失值/变量筛选 stepBIC 低 低 线性回归 缺失值/标准化/变量筛 选 stepBIC 高 低 决策树 缺失值/标准化 信息增益率 高 低 随机森林 缺失值/标准化 模型选择 高 高 xgboost 缺失值/标准化/变量筛 选 stepBIC 低 高 神经网络 缺失值/标准化/变量筛 选 stepBIC 低 低 支持向量回归 缺失值/标准化/变量筛 选 stepBIC 低 高
- 44.基于机器学习的销售预测总结 机器 学习 数据 效果 业务 是场景局限性,机器学习不是万能的; 研究的是相关关系,而不是因果关系。 是核心,无数据或数据质量低,会影响模型预测效果; 是模型选择的先决条件,先数据,后模型。 评估需要参考业务对接、预测精度、模型可解释性和产业链整体能力等因素综合考虑; 不能简单作为企业利润增加的唯一标准。 对建模提供业务理论基础; 算法问题要回归到业务问题。
- 45.基于机器学习的销售预测展望 – 可以尝试使用更复杂的模型来做销售预测,如HMM,深度学习(Long Short-Term Memory网络)等,同时,也需要考虑到模型的可解释性、模型的可落地性和可扩展 性、避免“黑箱”预测; – 可以尝试采用混合的机器学习模型,比如GLM+SVR,ARIMA + NNET等; – 销售预测几乎是商业智能研究的终极问题,要解决终极问题还有一段路要走。
- 46.践行于大数据最前沿