使用时间序列分解模型预测商品销量

    • 1.1实验目的
    • 1.2实验概述
    • 1.3 实验目标
    • 1.4 实验工具
    • 1.5 实验准备
    • 实验资源
  • ============== 这是一条分割线 ==============
  • 必看:想要直接开始操作点击这里

发布本博客皆是为了做笔记,也分享经验。方便日后查看。无任何其他目的

1.1实验目的

使用时间预测分解模型预测商品销量

1.2实验概述

本实验对某零售商的一款产品的销量进行了预测及分析。选取线性回归模型,选取了该产品的促销幅度、促销手段对实际销量进行回归;另一部分为时间序列分解建模,对线性回归模型的误差进行时间序列分解。

1.3 实验目标

1.掌握商品销量预测的基本概念。
2.了解常见的预测方法和价格弹性时间序列分解模型的优缺点和所适用的场景。
3.使用阿里云的相关产品来构建和部署销量预测的模型。
4.学会根据模型的结果进行商品定价与促销决策。

1.4 实验工具

1.MaxCompute
2.DataIDE
3.PAI

1.5 实验准备

正确运营策略的制定取决于相关市场情况的准确预测
企业营销的最终目的是为了获取利润,而要实现这个目标就需要在产品的定位、定价、分销渠道、促销方式、库存运输、生产计划和原料采购等方面都做出准确的预测,才能制定相应的策略,这些预测都是环环相扣并且互相依赖的,而他们的基础就是商品销量预测。

定价策略的好坏会影响到利润的高低
Profit = Price * Quantity – Cost(total)
(利润 = 价格 * 销量 - 总成本)
其中:价格Price的变动会引起销量Quantity的变化。

需求价格弹性(Price elasticity of demand)
简称为价格弹性或需求弹性,是指需求量对价格变动的反应程度,是需求量变化的百分比除以价格变化的百分比。

假设Q为某个商品的需求,P为该商品的价格,则计算需求的价格弹性Ed:
其中:Ed代表需求价格弹性系数,Q表示需求量,ΔQ是需求量的变化量,P表示价格,ΔP是价格的变化量。

时间序列的变化,受到长期趋势、季节变动、循环变动和不规则变动这四个因素的影响
长期趋势(Trend)反映了数据在一个较长时间段内的发展方向,表现为近似直线的持续向上或持续向下或平稳的趋势。长期趋势一般是受某种根本性因素作用而形成的,比如产品的生命周期或者社会总体的经济形势。
季节变动(Seasonality)反映了现象在一年内随着季节的变化而发生的有规律的周期性变动。比如毛衣在秋天和冬天卖的比较多,春夏卖的比较少。
循环变动(Cycle)是受各种因素影响而形成的上下起伏不定的波动。注意,季节变动和循环变动的区别是循环变动没有固定周期,可能是几年。但季节变动是有固定周期的,基本就是一年。
不规则变动(Random)又称随机变动,它是受各种偶然因素影响所形成的。

具体的操作可以分为下面几步:
1.数据预处理
历史数据拆分成训练集和测试集,在训练集中,将促销幅度和促销类型作为自变量,将真实的销量(小写q)作为因变量进行多元线性回归后,就能得到回归方程式的系数。

2.线性回归模型
根据刚才算出来的回归系数和训练集里面的历史数据进行预测,得到一个预测的销量,记为大写的Q,然后计算实际销量小q和回归预测出来的销量大Q之间的误差(记做dQ),基本思想是将促销幅度和促销类型对销量造成的影响剥离出来,只留下时间造成的影响,即为真实值和回归预测值之间的差。

3.时间序列分解模型
对这个误差使用时间序列分解模型分解,得到时间序列分解模型的参数UTSCR。
时间序列 可以表示为五个因素的函数 ,其中 U代表了序列的平均值。时间序列分解的方法有很多,较常用的模型有加法模型和乘法模型,这两个模型分别适用于不同的情形。
加法模型
假定TSCR对现象的影响是相互独立的,每个成分均以绝对量表示。
4.乘法模型
假定四个因素的影响是相互作用的,以序列平均值的绝对量为基础,其余成分均以比率表示。
大多数的情况下乘法模型都是更符合现实和更准确的,因此本次实验采用乘法模型。

乘法模型的分解步骤如下
a) 计算序列的平均值U
然后将序列中所有个体的值除以U来移除平均值: 。
这样就创建了一个值在1左右的新序列Y(如果序列平均值的绝对值小于0.0000001,则不进行除法运算)。

b) 计算移动平均值 M
计算 的 L 步移动平均,其中L是季节变动 S 的周期长度(例如,数据是一个聚合到季度的序列,那么这个序列的季节变动周期就是4, L=4。如果是聚合到月度的序列,季节变动的周期就是12,L=12)
M的公式是
由于移动平均M算的是一年的平均值,季节性因素被移除。

c) 计算长期趋势T
具体对移动平均 进行线性回归得到: (其中a是截距,b是斜率, 是线性拟合的残差)。
长期趋势T就是这个等式的线性部分:
得到长期趋势的系数a和b。

d) 计算循环变动C
循环变动等于移动平均 除以长期趋势 :
预测时循环变动C的值可以根据商业知识手动输入,也可以输入一个固定的值。
在实验中,我们计算了C序列之后,会取它的平均值作为预测用的C值。

e) 计算季节变动S
季节变动K等于 Y序列 除以 移动平均

(注意,K序列是由季节变动和随机变动组成的)
为了计算真正的季节变动S,取时间t所属“季节”的K序列平均值
例: 假设一共有3年数据的月度数据,那么 L=12 , , ,依次类推,到 。

f) 计算不规则变动R
将K序列除以S序列:
由于预测时假设R值为1,所以R序列不计算也是可以的。

g) 时间序列预测
得到所有的参数之后,就可以预测时间为t时的值:

其中:
长期趋势
季节变动
循环变动 取训练集 的平均值
不规则变动 则设为1

5.销量预测与准确率评估
根据上面算出来的系数和测试集中的自变量(包括时间t,促销幅度和促销类型),分别计算时间序列分解模型和回归模型的预测值,将这两个预测值加起来就是我们最终的预测值。

实验资源

本实验需要使用阿里云的MaxCompute与PAI机器学习平台,具体步骤如下:
【注】本实验均在Google Chrome浏览器下测试运行,为了达到最大兼容,推荐使用Windows7以上的操作系统以及Chrome浏览器进行实验。

其他的预测方法不再补充,下面直接上操作流程。

============== 这是一条分割线 ==============

必看:想要直接开始操作点击这里

本实验所用的开发工具为阿里云大数据开发套件(没有阿里云账号的需要先注册,注册后需要实名认证),实验时使用阿里的开发工具会收费,所以可以选择按需收费,本实验计算的数据量非常小,费用可以忽略不计。

登录阿里云
登录后点击右上角控制台进入控制台的界面如下:

点击确定

点击左上角“产品与服务”菜单,进入产品清单,选择“大数据(数加)”下的DataWorks 产品,进入DataWorks开发环境,或直接在左侧菜单中直接选择DataWorks同样可进入DataWorks开发环境,如下图:

进入DataWorks操作界面,这里没有实名认证的需要实名认证,认证完成的需要创建一个AccessKey,按步骤来即可。

创建完成后选择付费方式(个人使用推荐按需付费)

选择好按需付费方式。进入工作空间的创建(输入工作空间名字即可,其他默认)

点击DataWorks,进入到MaxCompute控制台界面。(注意开通的区域选择和资源开通资源保持一致,例如前面你选择华东2,这里也要选择华东2)

点击全部工作空间

可以看到之前创建了一个MaxCompute的项目目录,点击进入(选中项目空间(蓝色空间字符串))即可进入到MaxCompute的在线开发环境中。

**本章内容到处结束,后续内容持续更新。有问题请在评论区说明欢迎业内大佬指出不足。

下一章讲解数据预处理**

阿里云ACA 使用时间序列分解模型预测商品销量(一)相关推荐

  1. 阿里云ACA 使用时间序列分解模型预测商品销量(三)

    本文接上一篇使用时间序列分解模型预测商品销量---计算回归的差值dQ 发表本博客的目的在于记录笔记,分享经验,无其他任何目的 计算回归的差值dQ 使用线性回归方程预测出来的是与时间无关因素对产品销量的 ...

  2. 使用时间序列分解模型预测商品销量(手把手教你如何利用阿里云大数据开发套件进行商品销量的预测)

    使用时间序列分解模型预测商品销量 1.1实验目的 1.2实验概述 1.3 实验目标 1.4 实验工具 1.5 实验准备 实验资源 ============== 这是一条分割线 ============ ...

  3. 使用时间序列分解模型预测商品销量

    阿里云大学课程:使用时间序列分解模型预测商品销量 课程介绍: 商品销量预测是企业制定运营策略的一个重要依据,在激烈的竞争环境中,企业如何预测零售商品的销量并根据销量制定运营策略? 本课程帮助学员了解销 ...

  4. 第六十三期:微软与阿里云合作推出“开放应用模型(OAM)”

    投递人 itseeker 英文原文:Announcing the Open Application Model (OAM) 原文标题:微软与阿里云合作推出"开放应用模型(OAM)" ...

  5. python进行数据预测_手把手教你用Python进行时间序列分解和预测

    原标题:手把手教你用Python进行时间序列分解和预测 作者:Mohit Sharma 翻译:数据派THU-王闯(Chuck) 预测是一件复杂的事情,在这方面做得好的企业会在同行业中出类拔萃.时间序列 ...

  6. 深度学习多变量时间序列预测:LSTM算法构建时间序列多变量模型预测交通流量+代码实战

    深度学习多变量时间序列预测:LSTM算法构建时间序列多变量模型预测交通流量+代码实战 LSTM(Long Short Term Memory Network)长短时记忆网络,是一种改进之后的循环神经网 ...

  7. 深度学习多变量时间序列预测:Bi-LSTM算法构建时间序列多变量模型预测交通流量+代码实战

    深度学习多变量时间序列预测:Bi-LSTM算法构建时间序列多变量模型预测交通流量+代码实战 人类并不是每时每刻都从一片空白的大脑开始他们的思考.在你阅读这篇文章时候,你都是基于自己已经拥有的对先前所见 ...

  8. 深度学习多变量时间序列预测:Encoder-Decoder LSTM算法构建时间序列多变量模型预测交通流量+代码实战

    深度学习多变量时间序列预测:Encoder-Decoder LSTM算法构建时间序列多变量模型预测交通流量+代码实战 LSTM是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要 ...

  9. 深度学习多变量时间序列预测:卷积神经网络(CNN)算法构建时间序列多变量模型预测交通流量+代码实战

    深度学习多变量时间序列预测:卷积神经网络(CNN)算法构建时间序列多变量模型预测交通流量+代码实战 卷积神经网络,听起来像是计算机科学.生物学和数学的诡异组合,但它们已经成为计算机视觉领域中最具影响力 ...

最新文章

  1. 【Python培训基础知识】Python生成器函数
  2. 12Singleton(单例)模式
  3. int 做除法运算数据丢失【BigDecimal 重现数字】
  4. python资料百度网盘-python自动保存百度盘资源到百度盘中的实例代码
  5. html表格全屏显示,tableView滑动全屏显示
  6. 吴恩达深度学习——2.3 logistic回归损失函数
  7. Redkale 让你重新认识Java
  8. 设计一个通用的Http Rest Client包装器
  9. 从浏览器输入地址到渲染出网页这个过程发生了什么?
  10. 使cmd窗口不自动关闭
  11. SynchronizationContext笔记
  12. python基础版课件_Python入门基础ppt课件.ppt
  13. comsol学习之模拟杯中水对流-二维轴对称流体传热
  14. 【Python数据分析学习实例】篮球运动位置分析
  15. 返回一个月中最大的天数(适用于2000年到2099年之间)
  16. 马云:不要买房了,未来房子如葱!10年后最便宜的是房子车子,而最贵的是…...
  17. 中国科学院自动化所2020年考博经验分享
  18. python 数字转换成汉字,Python实现把数字转换成中文
  19. 房价这么高,为什么租金却高不起来?
  20. 2020年腾讯,阿里,美团等Android高频面试题及答案,2021Android者未来的出路在哪里

热门文章

  1. java实现定位打卡功能
  2. 【模型训练】YOLOv7飞鸟检测
  3. 测试工具基础------Selenium常用定位方法
  4. 【论文精读】Improving Extreme Low-Light Image Denoising via Residual Learning
  5. 计算机完成双系统无法启动怎么办,电脑安装双系统后只有一个系统引导修复教程...
  6. java怎么抛出多个相同的异常_java中,方法上如果可能抛出多个异常,多个异常可以使用【】(中文填写)隔开...
  7. c type 笔记本 芯片方案_开发USB Type-C的注意事项及各芯片厂商的方案解读
  8. 欢迎加入QQandroid群,群号【60591330】
  9. mili u盘 android手机,苹果安卓都能用 MiLi多合一优盘
  10. C++推箱子游戏(一)