python 销量预测模型_如何做电商的销量预测模型?

平台前期做过一篇文章,以京东为案例,并回溯了实践中所使用到的需求预测的方法,现将文章作为回答,希望能给问者带来帮助。

关于京东

中国最大的零售平台之一,总用户超3亿,90%的订单可实现“当日或次日”送达,腾讯、沃尔玛和谷歌的战略合作伙伴。从2012年到2018年第一季度销售额逐年增长,覆盖全国99%的地区,共有超过500家仓库。全球电商概况

截止2017年,全球三大电商市场分别为:美国,超4千亿销售额;中国,超6千亿销售额;英国,超1千亿销售额。

未来的零售市场将更加的个性化,接入方式也将从手机或电脑过渡到随时随地的接入,产品和顾客将实现双向信息流。零售业所面临的也不再局限于顾客期望时间、开架式和主题商店、市场创新的竞争,未来的零售将是电子化市场。通过大数据分析更好的了解顾客,将产品和客户更好的链接在一起,打造更快更经济的供应链网络,是实现随时随地订购产品和服务,提供个性化的设计、生产、交付的最佳方案。

基于大数据了解顾客

电商企业在运营中,数据的来源是多方的,通常包括:在线交易数据、屏幕浏览时间、顾客反馈、购物车、网页浏览、社交平台和手机应用使用情况。因此,大数据分析对需求的预测也至关重要。下面我们将逐一介绍每个阶段的发展和应用。传统时序模型

客户需求是符合时间序列的数据,因此常用的方法是建模分析,统计学上常用的时间序列分解法有以下几种:线性模型

1.自回归移动平均模型(ARIMA)

2.AR, MA, ARMA, SARMA

3.VAR非线性模型

1.ARCH

2.GARCH机器学习—数据驱动

线性回归

支持向量回归

高斯过程

基于树的模型

1.回归树

2.随机森林

3.梯度提升深度学习—浓缩大数据

MLP

RNN

LSTM

Seq2seq

我们知道预测永远是错的,因此需要量化预测的准确度,以求得到最为准确的错误预测。常用的度量标准有以下几种:

顾客的需求多种多样,在北美,有这样一句话形容企业所面临的挑战 ,Have the Right Products to the right people in the Right Place at the Right Time,可以理解为在正确的时间和地点为需要的顾客提供所需的产品。现今,电子商务企业所面临的顾客需求有更高的复杂度,从某种程度上讲电子商务是对库存管理能力的考验,库存是需求计划的执行的结果。好的模型通常要满足4各方面的要求:

下面我们来逐一介绍传统时序模型(以arima为代表),机器学习模型(以tree-based model为代表)和深度学习模型:

1.自回归移动平均模型(ARIMA)

自回归移动平均模型是由博克思和詹金斯于20世纪70年代提出的时间序列预测方法。其中ARIMA(p,d,q)称为差分自回归移动平均模型,AR是自回归, p为自回归项;MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所做的差分次数。

ARIMA模型的基本思想是:将预测对象随时间推移而形成的数据序列视为一个随机序列,用一定的数学模型来近似描述这个序列。这个模型一旦被识别后就可以从时间序列的过去值及现在值来预测未来值。请注意,该模型只适用于平稳时间序列。

公式如下:

举例说明—航空公司乘客数据

(1)首先,画出时间序列的趋势图,如下图。可以看到有趋势和周期变化,以及非常数方差。说明原数据是非平稳时间序列。

(2)做log一次平滑,去除非常数方差,如下图。可以看到还有趋势和周期变化。

(3)再做一次差分,去除趋势变化,如下图。此时为有周期变化的平稳时间序列。

求其自相关系数ACF和偏自相关系数PACF,分析自相关图和偏自相关图得出:

(1)周期变化;

(2)自回归模型因子;

(3)移动平均模型因子;

(4)模型特征,如ARIMA(0,0,1);

(5)使用R/Python实现。

ARIMA的局限性在于:

(1)认为时间序列是线性的;

(2)不适用非稳定时间序列;

(3)不能在同一时间处理多个时间序列;

(4)不能表现真实商业环境下的需求。

2.机器学习模型

机器学习的优点在于可支持多变量输入,不用有确定的需求分布式,且一个模型适用于多个时间序列。这其中,特征工程(Feature Engineering)至关重要。举个例子,销售数据包含不同的产品、品牌、颜色、形状和大小等信息,且包含时间点,如周几、几点等,还有地点信息,常为邮政编码。那么对这组数据中的某一个产品进行分析,可以得到以下特征值,如过去七天的平均销售量、过去7天的方差、过去14天的最大销售量、第七天的总销售量、过去一个月90%的销量的分位数等特征,这些信息就构成了一个特征向量,利用这个特征向量我们就可以分析热卖单品。目前的机器学习模型有以下四种:

基于树的学习算法被认为是非监督学习方法中最好的并且是最常用的方法之一。基于树的方法使得模型的精确率很高,很稳定和容易解释。与线性模型不同,基于树的模型能够很好地表达非线性关系,它适合用来解决我们遇到的任何问题(分类和回归问题)。下面我们来一起学习回归树、随即森林、梯度提升,其中随即森林、梯度提升在各种数据科学问题中被广泛使用。

1.回归树

决策树实际上是将空间用超平面进行划分的一种方法,每次分割的时候,都将当前的空间一分为二, 这样使得每一个叶子节点都是在空间中的一个不相交的区域,在进行决策的时候,会根据输入样本每一维feature的值,一步一步往下,最后使得样本落入N个区域中的一个(假设有N个叶子节点)。

2.随机森林

随机森林是一种通用的机器学习方法,能够解决分类和回归任务。它同时可以进行降维、处理缺失值、离群值和其他数据探索。常用算法有:自助法(bagging),独立变量分类,random resample with replacement, random feature selection at split.

3.梯度提升

梯度提升决策树是指每一次建立模型是在之前建立模型的损失函数的梯度下降方向。其核心在于,每一棵树学的是之前所有树结论和的残差,这个残差可理解为与预测值的差值。举个例子:比如预测张三的年龄,张三的真实年龄18岁,第一棵树预测张的年龄12岁,此时残差为18-12=6岁,因此在第二棵树中,我们把张的年龄作为6岁去学习,如果预测成功了,则张的真实年龄就是A树和B树的结果预测值的和,但是如果B预测成了5岁,那么残差就变成了6-5=1岁,那么此时需要构建第三树对1岁做预测,后面同理。常用算法有:提升算法,sequential classifiers, Resample with weights.

机器学习的局限性在于需要人类专家的参与,某些特征非常难捕捉,并非常耗时。

各类方法的比较统计学时间序列模型

易读

非线性问题的模型复杂度较低

较难解决跨性能的多时间序列问题

机器学习

较灵活,可解决各类特征问题

难捕捉特征工程

通过上文的介绍,可见需求预测的重要性。虽然以前没有电商,但也有这样的哲学思想,正所谓“凡事预则立,不预则废。”下面我们将从数据、问题定性、建模、亮点和数值结果五个方面学习京东的实战成果。

京东实战之数据

样本数据为3个表,包含过去2年1000个库存单元的特征、历史销售、促销活动表,可从JD Global Optimization Challenge(GOC)上获取。

用概率和多时间段方法预测每个库存单元每天的销售

京东实战之模型框架

梯度提升机器学习模型、Seq2Seq深度学习模型

京东实践之探索性数据分析

需求数据观测结果

包含季节变量和相关变量的销售数据数据处理

通过采用矩阵因子分解方法填充缺失的数据,预测准确率提高5%-15%建模

长短记忆细胞包含特征和类别嵌入向量。训练机制

捕捉年周期变量

捕捉近期变量

扩大数据范围

更多关于机器学习,人工智能,运筹学的前沿信息可以关注 『运筹OR帷幄』大数据时代的运筹学

你可能感兴趣的:(python,销量预测模型)