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

    • 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的在线开发环境中。

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

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

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

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

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

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

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

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

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

  4. Maynor手把手教你完成一个SpringBoot+Vue+Element实现的SPA商品管理系统(增删改查)

    Maynor手把手教你完成一个SpringBoot+Vue+Element实现的SPA商品管理系统(增删改查) 前言 完整代码 三连后私信我获取~ 撸了一上午完成的SPA商品管理系统,求三连! B站演 ...

  5. 手把手教你写网站:Python WEB开发技术实战

    摘要:本文详细介绍了Python WEB开发的基础入门.以一个博客站点的开发为例讲解了基于Django框架开发WEB站点的全过程.通过本文的学习可以快速掌握基于Django的Python WEB的开发 ...

  6. stm32l0的停止模式怎么唤醒_手把手教你怎么利用旧电脑搭建NAS组建自己的黑群晖...

    手把手教你怎么利用旧电脑搭建NAS组建自己的黑群晖 Synology 群晖科技(Synology )创立于 2000 年,自始便专注于打造高效能.可靠.功能丰富且绿色环保的 NAS 服务器,是全球少数 ...

  7. python爬取资料怎么样_手把手教你Python爬取新房数据

    原标题:手把手教你Python爬取新房数据 项目背景 新房数据,对于房地产置业者来说是买房的重要参考依据,对于房地产开发商来说,也是分析竞争对手项目的绝佳途径,对于房地产代理来说,是踩盘前的重要准备. ...

  8. CSDN:手把手教你如何利用【百度统计工具】实现CSDN博客【文章访问流量】的数据统计图表可视化

    CSDN:手把手教你如何利用百度统计工具实现CSDN博客文章流量的数据统计的图表可视化 目录 实现结果 1.本博客访问的年龄属性 2.本博客访问的地理位置属性 国内第一大IT社区-CSDN让博主们得到 ...

  9. 【教程】手把手教你如何利用工具(IE9的F12)去分析模拟登陆网站(百度首页)的内部逻辑过程

    声明:本文章转载自crifan的技术人生 [教程]手把手教你如何利用工具(IE9的F12)去分析模拟登陆网站(百度首页)的内部逻辑过程 重要提示: 1.此贴,以后不再更新: 2.想要看更新的内容,请移 ...

最新文章

  1. HDFS Java 客户端使用(Windows开发环境)
  2. 为什么三维重建才是计算机视觉的最终归宿?
  3. 利用BeanUtils在对象间复制属性
  4. 0.0 目录-深度学习第一课《神经网络与深度学习》-Stanford吴恩达教授
  5. 【Compiling Swift source files】编译很慢;
  6. 解决php文件包含的问题;Web_php_include-攻防世界
  7. HawtIO在JBoss EAP上(第二部分)
  8. navicat for mysql 数据库备份与还原
  9. 文献阅读:知识图谱数据管理研究综述
  10. (转)理解MySQL——索引与优化
  11. PAT乙级 1061 判断题
  12. ROS保姆级0基础入门教程⭐ |第一章 ROS的概述与环境搭建(4万字教程,建议收藏)
  13. 指尖初体验之虚拟键盘
  14. Redis 6.0 源码阅读笔记(3) -- 概述 Redis 重要数据结构及其 6 种数据类型
  15. 实习也能这样过!节选
  16. IDEA(2018)导入项目报错解决方案
  17. JDK6中synchronized优化之锁升级
  18. python 电话簿排序
  19. CSDN帐号管理规范
  20. 固态硬盘故障检测_diskgenius检测固态硬盘(ssd固态硬盘坏道修复)

热门文章

  1. 解决三星拍照横屏问题
  2. Python调用,爬虫JS逆向——ajax类型数据,数据加密获取步骤和方法(二)
  3. DXP pcb层:TopSolder和 TopPaste
  4. NERF++: ANALYZING AND IMPROVING NEURAL RADIANCE FIELDS分析和改进神经辐射场
  5. C# 学习笔记 20.网络编程
  6. 解决Adobe Flash Player弹出安全性对话框
  7. 郑州大学2008级数据库原理(科学出版社,范明)知识要点
  8. request对象学习笔记
  9. 2018CVPR文章——用稀疏轮廓生成和编辑原图像
  10. 华为 会议室分配时间最长_华为发布智慧办公战略产品 企业智慧屏系列