开发者学堂课程【场景实践 - 基于阿里云PAI机器学习平台使用时间序列分解模型预测商品销量:阿里云相关产品介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/523/detail/7069
阿里云相关产品介绍
内容介绍:
一、三个产品
二、销量预测的挑战
三、MaxCompute
四、大数据开发套件
五、机器学习PAI
六、SQL 脚本
一、三个产品
在实验中会用到三个产品,分别是大数据计算服务,max compute 提供计算能力,大数据开发套件 dateid 提供了开发环境和调度运维的服务。第三个产品是机器学习平台 PAI,它提供了一整套机器学习的算法服务。
二、销量预测的挑战
1.海量计算
海量商品交易数据,可能还要下钻到更细的维度,计算量和成本比较可观。
2.数据挖掘
需要一定的数据开发能力,能够实现数据清洗,特征处理,调节参数,回归和预测等。
3.部署调度
由于长期预测的精度不够,所以必须周期性地根据新的数据重跑模型,最好能自动化调度和监控报警。
4.数据仓库
不同的业务数据可能存放在不同的系统中,不能互相连通,没法及时更新,形成了数据孤岛。
第一,对于现代企业来说几十种商品算少的,几万种是正常的,动辄上百GB的海量商品交易数据可能要下降到各期的维度分别计算,比如按城市甚至按门店,计算量是非常可观的,可能跑一次模型就需要好几天。
第二,对于大部分的中小企业来说招聘或者培养具有一定开发能力,能够进行预测分析的算法是也是需要投入成本的,而且现在是供小于求,人才有缺口。
第三,由于长期预算的精度不足,预测模型需要时常更新,如果没有一个可靠的自动调度和监控报警系统,在运维上也需要花不少精力。
第四,需要一个集成的数据仓库,目前很多公司的业务数据都存在于各个系统中,使用起来极其麻烦,效率低,而且成本也很高。
三、MaxCompute
大数据计算服务( MaxCompute ,原 ODPS)
阿里云自主研发
提供海量数据的实时性要求不高的分布式处理能力,适用于商业智能、数据分析、数据挖掘等领域。
大规模计算存储
适用于100GB 以上.规模的存储及计算需求,最大可达EB级别
多种计算模型
支持 SQL、MapReduce、Graph 等计算类型及MPI迭代类算法。
强数据安全
稳定支撑阿里全部离线分析业务7年以上,提供多层沙箱防护及监控
低成本
MaxCompute 适用于对实时性要求不高的数据处理与企业自建私有云相比, MaxCompute 的计算存储更高效,可以降低20%-30%的采购成本
MaxCompute 适用于对实时性要求不高的数据处理,不适用于对实时性要求不断的进行处理,如果是像天猫双11那样的实时销量计算就需要用到其他产品,比如阿里的流计算。对我们要做的商品完全可以离线完成,不需要实时更新数据。
MaxCompute 使用的是自动分布式计算,对于数据分析和数据挖掘来说,能够节省大量的等待时间。MaxCompute 还有其他优点,比如他同时支持持 SQL、MapReduce、Graph、MPI,阿里内部和外部都已经经历了比较长时间的考验,数据安全、容灾能力都是非常好的,另外它的计算存储成本也比自建私有云低20~30%左右。
四、大数据开发套件
1.大数据开发套件( DataIDE )
基于 maxcompute 的服务,是阿里云推出的大数据领域平台级产品。提供全面托管的工作流服务, 一站式开发管理的界面,可对数据进行数据传输、数据转换等相关操作,从不同的数据存储引入数据,对数据进行转化处理.最后将数据提取到其他数据系统,完成整个数据的分析流程。
(1)可视化开发
拖拽式工作流开发、在线代码编辑调试,多人协作支持
(2)丰富任务类型
支持数据集成、ODPS SQL.、ODPS MR、机器学习、Shell 多种任务类型
(3)强大的调度
百万级任务并发支持,支持小时、天周、月多种调度周期
(4)任务监控报警
监控任务运行状态。出错可及时报警,避免业务故障
大数据开发套件( DataIDE )是一个集成的数据开发环境,能够对单独的任务或者任务流进行全面托管,这是从不同的数据源导入和同步数据,然后进行一些数据转换。最后可以将数据提取到其他系统。
它有几个特点,一个是界面比较可视化,很多操作都只是要点几下按钮,做一些参数就可以完成。支持多人协作、在线编辑和调试代码。第二,它支持的类型很全,包括数据集成、ODPS SQL.、ODPS MR、机器学习、Shell多种任务类型。ODPS SQL.和一般SQL在语法和功能上有一些区别。ODPS SQL.可以查官方文档。第三可以设置自动调度。调度周期长度支持小时、天、周、月等。DataIDE的运维系统还可以监控任务的运行状态,出错时会及时报警,避免损失,非常自动化。
2.调度和依赖
建立工作流任务后,根据需求,可以选择手动调度和周期性调度。周期性调度支持分钟、小时、天、周和月多种调度周期配置。根据模型的预测准确度,可以自由调整调度周期。每当有新的销售数据进入原始数据表设置好依赖关系后, DatalDE 便会在设定的更新时间检查数据是否已完成更新,然后自动生成新的实例,重跑模型,不再需要人力成本去手动更新。
另外由于模型城堡肯定是要基于数据的更新,所以如果将数据更新任务设置为模型任务的上游任务,然后再跨周期依赖中选择等待自定义任务上一个周期结束,才能继续进行。这样的数据更新,重新预测整个流程就可以做到自动化。
五、机器学习 PAI
1.阿里云机器学习 PAI ( Platform of Artificial Intelligence )
一站式的机器学习平台,包含数据预处理、特征工程、常规机器学习算法、深度学习框架这一整套机器学习相关服务。
PAI 提供了100多种算法组件,包括数据预处理、特征工程、统计分析、机器学习、深度学习、时间系列、文本分析、网络分析金融板块,配合 SQL 的组件完全能够满足商品销量的回归预测以及时间序列分解的算法要求。PAI 的上手比较简单,刚才提到的组件其实是对底层的分布式算法进行了分装,这样理解了组建的功能,主要是组件的输入和输出,通过简单的拖、拉、拽和参数配置就可以实现很复杂的算法过程,大量减少编程量,再加上现在地面的计算费用,对机器学习的门槛降低是一个非常大的好处。配合大数据开发套件的任务调度可以让机器学习训练结果和业务可以无缝连接,做到一站式的体验。
算法丰富
100余种算法组件,覆盖回归、分类聚类、文本分析等算法。
深度学习( GPU )
支持业内主流深度学习框架以及GPU分布式计算。
可视化操作界面
通过拖拉拽的方式拖动算法组件拼接实现业务逻辑。
一站式服务
提供完整的数据挖掘链路,做到一站式体验。
2.缺失值填充.
如果商品在某个周期的聚合销量为0 ,就会导致时间序列中出现空缺值。对于存在缺失值的字段,可以使用缺失值填充组件进行自动填充。可以对序列里面的缺失值或者空白值。或者任意一种自定义的值。自动替换成最小值或最大值或者平均值或者自定义值。
3.拆分
在进行销量预测时,对于历史的销售数据可以使用拆分组件,设定好规则,将数据划分为训练集与测试集。由于对数据需要进行训练和预测。可以利用差分对原始数据进行拆分成两个数据集。
4.线性回归
对于线性回归模型的部分,PAI 提供了从训练模型到预测以及评估的一站式组件工具,无需编程,仅通过简单的拖拉拽,让数据挖掘的创建过程像搭积木一样简单。
六、SQL脚本
对于一些数值运算、聚合运算,可通过 SQL 脚本编辑器根据需求灵活、自由地进行编程( MaxCompute 内置函数甚至自定义的函数)以实现算法之间的过渡。
例如,考虑到需求价格弹性对商品销量的影响在建立回归模型时使用的变量应该为促销的幅度百分比。通过 SQL 脚本工具,可以对原始数据中的绝对价格进行处理,以得到所需要的数据。
机器学习派总体非常简单,也容易上手。把繁杂的编程调试过程大大简化。而且流程可视化对于理清思路也有很大的帮助。