基于MaxCompute方案的TFI门店销量调研

简介:

摘要:TFI拥有全球超过1200家快餐店,是世界知名品牌之一的公司,分别是汉堡王,Sbarro,Popeyes,Usta Donerci和Arby。他们在欧洲和亚洲雇用了2万多人,并在开发新的餐馆方面进行了大量的日常投资。现在,决定何时何地开设新餐馆,主要是基于开发团队的个人判断和经验的主观过程。这个主观数据难以准确地推断出地域和文化。新的餐厅需要大量的时间和资金投入才能开始运作。如果选择餐厅的位置错误,将会导致营业亏损,并在18个月内关闭。现在TFI公布了其在土耳其地区所经营的137家餐厅开张一年以来的销量情况和餐厅的地理位置,所处地区的人口等等一系列进过隐藏处理过后的特征,通过学习这137家餐厅的数据来预测另外100000家餐厅的年度销量情况。

数据信息:
screenshot

利用所提供的数据,建立机器学习的模型,对每一家餐厅未来的年度销量情况进行预测。

一、销量预测架构
1.数据源:数据包括TFI集团旗下的餐厅数据构成的137条训练集和100000条测试集;
2.数据同步至阿里云:使用DataX工具将数据导入到在ODPS建立的表中;
3.流程计算:阿里云建立算法分析流程;
4.分析结果:对三个模型预测结果以及blending后的结果存储于表;
5.数据可视化展示:从数据库中读取结果数据进行可视化展示。

二、分析方法
screenshot
1.本文中的137条训练集和100000测试集来源于真实的TFI集团旗下的餐厅历年的经营情况的数据。
2.获得的数据导入阿里云数加平台,数据表包含有餐厅开张日期、餐厅坐落城市、坐落城市的类型、所在城市的人口统计数据、房产数据、商业数据、收入数据等字段。
3.在数加的算法平台上建立回归预测的算法流程如上图所示。
4.采用数加组件中的缺失值统计,对每条数据缺失比例进行统计,缺失比例离群的判断为离群点,将0值视为缺失值,并将缺失值使用分别用训练集和测试集各字段的均值人工合成填充。
5.将餐厅所在城市按经济层度标准合并为不同层级;餐厅的已经开张时间与销量并没有太大的关系,反而是餐厅开张的时间点很重要,所以这里提取开张的月份,哪一天,哪一个星期来作为特征;将坐落城市类型进行独热向量编码编码处理;对销量进行平衡处理,使用log(x+1)处理,将其数据分布变为近视的正态分布;最后将数值型的特征进行标准化既能加快模型的学习速度,也能将数据放入一个标准分布内,使得数据之间差距尽可能小。
6.将处理完毕的数据分别放入随机森林、L2正则的线性回归、xgboost中进行回归学习,并用网格搜索的方法调整各个模型的超参数使其达到最佳状态。
7.可视化展示,将流程计算的结果,进行可视化展示。

三、年度销量预测结果展示
将预处理后的数据分别放入随机森林、L2正则的线性回归、xgboost中进行回归学习,并用网格搜索的方法调整各个模型的超参数使其达到最佳状态。
调节L2正则的线性回归中惩罚项参数‘alpha’。

screenshot

screenshot

当alpha取值范围在0.001到100时,模型在验证集上的最小均方误差不断减小,在40以后基本维持不变;

screenshot

当alpha取值范围在20到60范围时,模型的最小均方误差持续减小,在60时达到最小,故L2正则的线性回归的正则化惩罚项的取值设置为60;

2.调节随机森林的的‘决策树’颗数,‘决策树’最大深度,‘叶子节点’最小个数等参数。

screenshot

决策树的颗数范围在10到70时,模型在验证集上的最小均方误差变化如上图;

screenshot

screenshot

决策树的颗数范围在1到20时,模型在验证集上最小均方模型变化如上图,在取值为10时,模型有最小均方误差,故将随机森林的决策树颗数设置为10颗;

screenshot

screenshot

决策树的最大深度在3-13时时,最小均方误差均维持不变,由此将决策树最大深度设置为3;

screenshot

screenshot

决策树的叶子节点最小个数取值范围在20到200时,随机森林的最小均方误差变化如上图所示

screenshot

screenshot

决策树的叶子节点最小个数取值范围在2到40时,随机森林的最小均方误差维持不变,故将决策树的叶子节点最小个数取值设置为2;

经过类似的调参过程,分别找到各模型的最优超参数,让其达到最好状态,并用其在测试集进行预测,预测结果可视化如下:

L2正则的线性回归在验证集上年度销量的预测结果

screenshot
screenshot

                                            MaxCompute最佳实践
相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
9月前
|
存储 SQL 关系型数据库
大数据量下数据库分页查询优化方案汇总
当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询。对于数据库分页查询,也有很多种方法和优化的点。下面简单说一下我知道的一些方法。
191 2
|
5月前
|
分布式计算 大数据 Hadoop
开源大数据方案有哪些
开源大数据方案有哪些
105 0
|
8月前
|
并行计算 固态存储 Ubuntu
基因组大数据计算: CPU和GPU加速方案深度评测
基因组大数据计算: CPU和GPU加速方案深度评测
153 0
基因组大数据计算: CPU和GPU加速方案深度评测
|
5月前
|
存储 SQL 数据挖掘
Paimon+StarRocks 湖仓一体数据分析方案
Paimon+StarRocks 湖仓一体数据分析方案
562 0
|
6月前
|
分布式计算 资源调度 Kubernetes
大数据问题排查系列 - SPARK STANDALONE HA 模式的一个缺陷点与应对方案
大数据问题排查系列 - SPARK STANDALONE HA 模式的一个缺陷点与应对方案
|
6月前
|
SQL 分布式计算 资源调度
大数据线上问题排查系列 - 同样的HQL,在CDH与TDH平台执行效率差异巨大的根本原因与业务侧应对方案
大数据线上问题排查系列 - 同样的HQL,在CDH与TDH平台执行效率差异巨大的根本原因与业务侧应对方案
|
7月前
|
canal SQL 弹性计算
实时数据及离线数据上云方案
本实验通过使用CANAL、DataHub、DataWorks、MaxCompute服务,实现数据上云,解决了数据孤岛问题,同时把数据迁移到云计算平台,对后续数据的计算和应用提供了第一步开山之路。
150 0
|
8月前
|
存储 数据挖掘 Java
Paimon+StarRocks 湖仓一体数据分析方案
阿里云高级开发工程师曾庆栋(曦乐)在 Streaming Lakehouse Meetup 的分享。
433 0
Paimon+StarRocks 湖仓一体数据分析方案
|
10月前
|
机器学习/深度学习 JSON 自然语言处理
全国大数据与计算智能挑战赛:面向低资源的命名实体识别基线方案,排名13/64
全国大数据与计算智能挑战赛:面向低资源的命名实体识别baseline,排名13/64。第一名:0.68962791,基线:0.67902593 ,感兴趣小伙伴可以刷刷榜。 国防科技大学系统工程学院(大数据与决策实验室)
全国大数据与计算智能挑战赛:面向低资源的命名实体识别基线方案,排名13/64
|
11月前
|
消息中间件 SQL 存储
《Apache Flink 案例集(2022版)》——1.数据集成——37手游-基于 Flink CDC + Hudi 湖仓一体方案实践
《Apache Flink 案例集(2022版)》——1.数据集成——37手游-基于 Flink CDC + Hudi 湖仓一体方案实践
335 0

热门文章

最新文章