开发者学堂课程【场景实践 - 基于机器学习进行收入预测分析:利用阿里云 PAI 进行收入预测挖掘分析】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/526/detail/7091
利用阿里云 PAI 进行收入预测挖掘分析
内容介绍:
一、任务背景
二、解决方案
三、任务与思考
一、任务背景
下面通过阿里云 dataworks 以及机器学习序列组件来完成如下实验,利用 PAI 挖掘分析。
首先来看任务背景。
通信企业 ABC 公司,他的客户分为个人客户和集团客户。为了适应集团客户发展的需要, ABC 公司结合集团客户的具体需求,梳理出针对集团客户的产品,售卖给各个集团客户。
然后集团客户根据客户的业务方向,可以划分为几个大行业。比如金融行业、房地产业、制造业和医疗行业。
而集团产品可以根据业务方向进行拆分。具体可以分为如下几个大类:固网类、宽带互联网类、数据传送类以及其他。
目前,相关集团产品有三年多的销售历史, ABC 公司有三年多的销售记录。
ABC 公司就希望可以根据已有的收入数据进行后续的收入预算。一方面可以更好的掌控收入进度,产生各个行业对企业收入的支撑力度。同时还能针对某些行业进行促销,来保证后续行业收入。
此次实验设计的业务数据主要有集团客户的历史收入数据。主要包括的信息有
月份、客户编码、名称、行业编码、总收入、过往来源收入、宽带互联网收入、数据传送类收入,其他收入。
本次试验的目的分两个部分。
第一个目的,根据提供的客户级别的数据,统计汇总各行业维度的汇总数据。
第二个目的,分析统计出来的行业维度汇总数据。针对某两个行业,比如房地产行业、id行业。通过已有的历史数据使用阿里云继续学习PAI产品,对这两个行业的后续收入数据计算。
二、解决方案
此次任务的解决方案。
第一步开通 dataworks 服务并搭建开发环境。
第二步。实验数据准备。分析实验提供的数据文件以及相关的数据表结构,就可以在建表,然后根据 date works 相关导入将提供的数据文件导入到新建的数据表里面。
下一步是设计数据加工流程。统一各项业务维度的汇总数据通过 word 来实现。根据业务理解,将明细数据进行统一汇总,这是第三步。
下一步通过时间序列算法进行收入预测,将上一步统一汇总数据输入。
比如通过缺失值填充组件、过滤映射组件对数据进行预处理。
然后再通过 x13_auto_arima 组件进行预测。需要根据具体的数据进行参数调整。调整 p dq 这三个参数。然后生成交易数据的预测值。
下一步是分析预测结果,将上一步的预测结果与实际值来进行比较。一般情况下,如果两者的差值在5%以内,是比较成功的预测,如果差距比较大,调整pdq重新预测。
最后一步,离线实验调度部署。完成时间序列预测之后,可以在 dataworks 里面进行调度配置。以便后续周期性法调度任务分享。
这个是最终的效果图。
左侧是通过阿里云机器学习产品实现序列,是收入预测的整体的过程。
右侧是通过时间序列组件进行预测的数据结果与真实的数据进行比较的情况
三、任务与思考
1.任务
完成了对房地产行业, IT 行业的总收入预测,根据已有的数据集统计汇总出金融行业、互联网、制造行业的数据传送类收入,进行后续月份收入预测。然后针对于每个行业挑选几个收入比较高的或者较低的客户,从客户的角度去进行收入预测。
2.思考
针对不同行业的同种类型的收入预测时,各行业预测对应的 p dq 参数是否是一样;或者针对某一行业的某个收入进行测试所捕获的dq值是否可以直接用于本行业其他收入的预测算法中?为什么?