商品销量预测方法|学习笔记

简介: 快速学习商品销量预测方法

开发者学堂课程【场景实践 - 基于阿里云PAI机器学习平台使用时间序列分解模型预测商品销量商品销量预测方法】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/523/detail/7067


商品销量预测方法


内容介绍:

一、常见预测方法——因果预测法

二、常见预测方法——时间序列法

三、时间序列分解

四、ARIMA

五、价格弹性时间序列分解模型

六、模型优势


一、常见预测方法——因果预测法

根据事物之间的因果关系来预测事物的发展和变化,通过对预测目标有直接或间接影响因素的分析找出其变化的规律,并根据这种变化规律来确定预测值。

image.png

因果预测法也叫回归法,一般可以分为一元线性回归、多元线性回归和自回归。其中一元线性回归分析一个自变量与因变量之间的相关关系,然后用一元回归方程进行预测。例如根据居民的收入的变化预测某种日常消耗品的需求量。多元线性回归法会分析因变量与若干个自变量之间的相关关系,运用多元回归方程,从若干个自变量的变化去预测因变量的变化。例如依据商品的促销手、促销幅度的变化,预测商品的销售量。自回归利用历史数据,在不同时期的取值之间的依存关系,建立起回归方式进行预测。比如根据消费者目前的食品消费水平,就可以预测出下一期的食品消费水平,其中因变量是预测值Yt,而自变量则是因变量的滞后值即之前的那个值 Yt-1和 Yt-2。


二、常见预测方法——时间序列法

1.时间序列

也叫时间数列、历史复数或动态数列。它是将某种统计指标的数值,按时间先后顺序排到所形成的数列。

2.时间序列预测法

通过编制和分析时间序列,根据时间序列所反映出来的发展过程、方向和趋势,进行类推或延伸,借以预测下一段时间或以后若干年内可能达到的水平。

3.移动平均法

相继移动计算若干时期的算术平均数作为下期预测值Xn =1/n(Xt-1+ Xt-2+ Xt-3 + ...+ Xt-n)

从回归分析法的角度看,时间序列分析法实际上是一种特殊的回归分析法,因为时间序列不考虑事物之间的因果关系或其他相关关系,而且研究对象的时间与时间的相关关系。

对时间序列进行预测的时候有以下几种方法,简单平均法,把N个历史数值作为观察值,求出算术平均数作为下期预测值,这种方法假设是过去,这样今后也会这样,把近期和远期的数据看成是一样的,因此只适用于事物变化不大的趋势。

指数平滑法根据历史数据的上期实际值和预测值进行预测,优点是只需要有上期的实际值和上期的预测值,用指数加减的办法就可以计算下次的预测值,这样可以节省很多数据和处理数据的时间,减少数据的组成量,方法比较简便。缺点就是没有包含远期预期数据可能忽略了很多信息,造成预测不够准确。

移动平均法就是相似移动计算若干个时期的算术平均数作为下期的预测值。公式计算法 Xn =1/n(Xt-1+ Xt-2+ Xt-3 + ...+ Xt-n),xt是当时间为T时的预测值,N是要计算移动平均的周期数,Xt-1+ Xt-2+ Xt-3 + ...+ Xt-n表示前一期前两期一直到前N期的实际值。举一个简单例子,比如计算t=6的预测值,如果要取5个周期的历史数值做移动平均,那么N=5带入公式中就 X5+ X4+ X3+ ...+ X1

季节趋势分析法是根据每年重复出现的周期性季节变动,预测未来的季节性变动趋势,一般使用的是季度或者月度频率法,把各年度的数值按季度或月度求和之后算出平均数。举个例子假设总共有三年的完全数据,每年1月份的季节变动数值都等于将这三年的1月份数值加起来之后除以三,因为总共有三个一月的,这样求得的每年相同月份的季节变动都是相同的。


三、时间序列分解

对于时间序列进行分解能够捕捉到4种模式

长期趋势( T )

●现象在较长时期内受某种根本性因素作用而形成的总的变动趋势

季节变动( S )

●现象在一年内随着季节的变化而发生的有规律的周期性变动

循环变动( C )

●现象以若干年为周期所呈现出的波浪起伏形态的有规律的变动

不规则变动(R )

●一种无规律可循的变动

image.png

长期趋势(trend)的反映数据在一个较长时间段内的发展方向,表现为近似直线的持续向上或者向下或者平稳的一个趋势,它一般是受某种根本性因素作用而形成的,比如产品的生命周期或者社会总体的经济形式。

季节变动(seasonality)反映了现象在一年内随着季节的变化而发生的有规律的周期性变动,比如毛衣在秋天的冬天卖的比较多,春夏卖的比较少。

循环变动(random error)是受各种因素影响而形成的上下起伏不定的波动,注意季节变动和循环变动区别是循环变动没有固定周期,可能是几年。但季节变动是有固定周期的,基本就是一年。

不规则变动(cycle)又称随机变动,是受各种偶然因素影响所形成的。


四、ARIMA

1、定义

自回归移动平均模型(Autoregressive Integrated Moving Average Model)

时间序列预测法。记作 ARIMA(p,d,q),是统计模型(statistic model)中最常见的一种用来进行预测的模型

参数和数学形式

p--采用的时间序列数据本身的滞后数(lags) ,也叫Auto-Regressive项d--时间序列变为平稳时所做的差分次数,也叫 Integrated项

原始序列11,12,13,14,15

差分序列1,1,1,1

差分处理就是新增序列,新序列的值是原始序列的后一项减去前一项,比如原始序列为11-15,共5条记录,可以看出一个增长趋势。差分处理后新增序列就为1,1,1,1,成为了一个平稳序列。

q--移动平均项数,也叫 Moving Average 项

2、基本思想

将预测对象随时间推移而形成的非平稳时间序列转化为平稳时间序列,然后对因变量的滞后值以及随机误差项的现值和滞后值进行回归。此模型一旦被识别后就可以从时间序列的过去值及现在值来预测未来值。

ARIMA 的优点是模型只需要借助内在的变量就可以进行预测,而不需要其他外在变量,比较简单。ARIMA 考虑数据在时间序列上的依存性,又考虑了随机波动的干扰性。对于短期趋势的预测,准确度是比较高的。

ARIMA 的缺点是要求数据是稳定的或者是通过差分后是稳定的,如果经过差分后仍然是不稳定的数据是无法捕捉到规律的,因为股票数据无法使用 ARIMA 进行预测的原因就是股票数据常常受政策和新闻的影响活动。从原理上来看,一方面销量是受很多因素影响是不稳定的,如果使用 ARIMA 进行预测,准确率可能无法保证。另一方面 ARIMA 模型无法预测定价和促销类型对销量造成影响,这样预测的销量无法指导利益策略,提升利润。


五、价格弹性时间序列分解模型

*促销幅度%=(标准价格–定价)/标准价格*100%

设︰需求价格弹性不因时间而波动

1.训练集回归

真实销量 q,促销幅度%,促销类型

2.回归系数

q=a+b*p+c*f

3.训练集回归预测

销量Q

4.训练集预测差值

q-Q= dQ

5.训练集时间序列分解

dQ ~ U,T,C,S,R

6.时间序列系数

U,T,C,S,R

7.测试集时间序列预测

销量 dQ_f

8.测试集回归预测

销量 Q_f

9.最终预测销量

dQ_f +Q_f

image.png

价格弹性时间序列分解模型,也就是将促销幅度、促销手段、时间序列都考虑进来,进行多元线性回归,并将时间序列进行分解的一个模型。

首先定一下促销速度百分比这个因素,它的计算方式是(标准价格–定价)/标准价格*100%。如果数据中没有标准价格,那么也可以用历史的平均价格来代替。举个例子,某个产品的历史价格去算出平均后是100,但定价为95元,那么促销幅度百分比就是5%。按照顺序看一下模型的逻辑和流程。

首先第1步和第2步,将历史数据拆分成训练集和测试集,在训练集中将促销幅度和促销类型作为自变量。将真实的销量q作为因变量进行多元线性回归后能得到回归方程式。

第3步和第4步,根据刚才算出来的回归系数和训练集里面的历史数据进行预测。预测的销量记为 Q,然后计算实际销量q和回归预算的销量 Q 之间的误差,记作 dQ。基本思想是将促销幅度和促销类型对销量造成的影响剥离出来,只留下时间造成的影响即为真实值和回归预测值之间的差。

接下来第5步和第6步,对误差使用时间序列分解模型分解,得到时间序列分解模型的参数与 U,T,C,S,R。其中U代表序列的平均值,在下一个章节中详细介绍如何计算这些参数。到这一步为止都是在训练集中进行的回归预测和时间序列分解,目的是为了得到所有的系数。

第7步和第8步,根据算出来的系数和测试集中的自变量,包括时间T促销幅度和促销类型,分别计算时间序列分解模型和回归模型预测值,将这两个预测值加起来就是最终的预测值。注意模型的建立是基于一个假设,需求价值的弹性不会因时间而波动或者说时间会影响商品的需求价格弹性。


六、模型优势

·洞察价格和促销手段对销量的影响

·根据需求价格弹性,更好地定价

·还原时间对销量的真实影响

·基于产品生命周期更好地决策

·降低缺货概率,减少不必要的库存

·结合商业信息,改变循环变动C

模型的优势以下几点,它能够提供额外信息,这是 ARIMA 所不能提供的。将促销幅度和促销类型作为单独的自变量加入到回归模型中,可以洞察促销对销量的影响。根据商品的弹性,方便企业更好的定价和提升利润,比如高弹性的商品,薄利多销,低弹性的商品少打折甚至提升价格。对数据同时进行回归和时间序列分解可以更好的还原实际情况,如果只对数据进行时间序列分解,商场里面类似全场促销的活动会引起销量波动,使时间序列的参数失真,所以如果能够将促销对销量的影响单独剥离出来,那么就可以找出商品因为时间产生的变化。根据商品的长期趋势可以看出商品属于生命周期的哪个阶段,然后根据信息做一些其他决策,通过计算出的季节变动的规律,可以总结出哪些产品具有比较明显的季节性,这样就可以提前计划好在这个产品的旺季策略性的增加安全库存,以降低缺货的概率。同时适当的促销最大化利润,这样比随机地进行促销更有针对性的效果,在进入淡季之前可以开始减少订货。使淡季时的库存保持在一个最低的标准以降低成本。对于爆款和滞销的款式也是一样的道理,时间是分析方法的缺点是预测的时候循环变动C的值必须手动输入,而无法用模型导出,不过这个问题可以通过忽略循环变动或者假设一个恒定的C值来避开,有些人认为其实是一种优势,因为他们可以利用这一点将知道的商业信息加入到预测模型中,以上是商品销量的预测。

相关文章
|
6月前
|
弹性计算 运维 Shell
基于销售数据预测的智能补货
【4月更文挑战第30天】
83 0
|
6月前
|
搜索推荐 算法
基于用户的协同过滤算法实现商品推荐
基于用户的协同过滤算法实现商品推荐
83 2
|
6月前
|
算法 数据挖掘 大数据
SPSS Modeler决策树分类模型分析商店顾客消费商品数据
SPSS Modeler决策树分类模型分析商店顾客消费商品数据
|
6月前
|
机器学习/深度学习 数据可视化 算法
SPSS Modeler决策树和神经网络模型对淘宝店铺服装销量数据预测可视化|数据分享
SPSS Modeler决策树和神经网络模型对淘宝店铺服装销量数据预测可视化|数据分享
|
6月前
|
机器学习/深度学习 存储 TensorFlow
LSTM模型预测时间序列:根据历史销量数据预测商品未来销量
LSTM模型预测时间序列:根据历史销量数据预测商品未来销量
1123 0
|
机器学习/深度学习 算法
大模型如何实现对股票的未来走势预测?
这是一个很好的问题。目前,有很多方法可以预测股票价格,其中一种是使用机器学习算法来预测未来的股票价格。这些算法从平均和线性回归等简单的算法开始,然后转自动ARIMA和LSTM等高级技术。
653 0
|
机器学习/深度学习 供应链 大数据
商品销量预测介绍|学习笔记
快速学习商品销量预测介绍
693 0
商品销量预测介绍|学习笔记
|
SQL 数据采集 分布式计算
电商热门商品统计
针对常规电商网站进行大数据分析,通过完整大数据处理流程最终对每个区域热门商品进行统计,支持用户决策。
229 0
电商热门商品统计
|
Java Scala 开发者
商品打折的最终解决 | 学习笔记
快速学习商品打折的最终解决
|
供应链 算法
学会这招,你也可以让商品定价准确率提升50%
定价指导,您快速卖出闲置商品的好帮手
394 0
学会这招,你也可以让商品定价准确率提升50%