基于优化随机森林算法的高校餐饮企业营业额预测模型

2021-03-01 05:25石文兵苏树智
通化师范学院学报 2021年2期
关键词:营业额集上餐饮企业

石文兵,苏树智

餐饮企业根据服务经营的业态和规模拥有不同的分类,其经营模式和市场群体差别较大,日常经营活动的特征也不尽相同.

近年来,很多学者对餐饮业的研究主要集中在营销策略、成本控制管理和物料需求分析等层面.朱钫等结合餐饮企业的经营状况,采取强化内部管理和严格控制经营成本的方法实现增加利润的目的[1-2].王群智等[3]从物流和供应管理层面提出了餐饮企业转型升级的发展策略.当前人工智能的发展势态良好,越来越多的餐饮企业开始整合人工智能技术,很好地推动了餐饮企业智能化发展的转型升级.张林泉[4]通过分析大学校园周边餐饮企业样本数据的学生总数和季度营业额的关系,研究了回归分析模型的构建及显著性检验方法.周健等[5]结合BP 神经网络和灰色-马尔科夫链构建了餐饮业短期客流量的预测模型,客流量误差达到±0.05.在深度学习的应用研究领域,有学者构建深度学习预测模型,对餐饮企业外卖订单量和菜品销量进行预测,为企业制定物资采购计划和管理决策提供了参考依据[6-7].类似的研究还有用SVM、XGBoost 等方法构建商品销量的预测模型[8-9].樊亮通过构建整合移动平均自回归模型对陇南市各县区的社会消费品零售总额进行了预测分析[10].黄宏运等用BP 神经网络构建了股票指数预测系统,为短期的股价预测提供借鉴和参考[11].在大型餐饮企业进驻高校的委托经营模式下,进驻高校的餐饮企业的服务对象和经营环境相对稳定,为数据分析与模型构建创造了很好的应用条件,从研究现状来看,基于人工智能技术的相关智能计算方法尚未在进驻高校的餐饮企业营业额的预测中得到较好应用,本研究将采集整合进驻安徽理工大学的高校餐饮企业的历史经营数据,构建基于优化随机森林算法的高校餐饮企业营业额预测模型,为企业经营管理过程中物资采购计划和管理决策的制定提供科学依据,提升智能化管理水平,降低生产成本,提高利润和综合竞争力.

1 营业额预测体系结构

为使高校餐饮企业营业额的预测更具指导和决策意义,本研究主要针对高校餐饮企业的日营业额进行预测,营业额预测体系结构如图1 所示,主要包括数据采集与整合、预测模型构建和预测精度评估三个层次,体系结构中各层次的主要功能如下:

(1)数据采集和整合.经实地调研发现,高校餐饮企业营业额与很多客观因素关系密切,研究过程中采集整合近5 年的历史天气数据、物资进销存管理数据和校园一卡通消费数据,构建特征鲜明的营业额预测分析数据集.

(2)预测模型构建.对数据集进行数值化编码、特征缩放、数据均衡化等预处理,对随机森林算法进行优化,构建营业额预测模型.

(3)预测精度评估.构建的预测模型经训练后,在测试集上进行预测评估,将该模型与传统的Ridge、SVM 和XGBoost 进行对比分析,验证营业额预测模型的有效性.对测试集上各模型的预测误差进行评估,主要采用均方根误差(RMSE)、平均绝对误差(MAE)和平方相关系数(R2)三项评价指标,具体计算方法如公式(1)、公式(2)和公式(3)所示.

其中:n表示样本数量,y(i)、y′(i)、yˉ(i)分别表示样本中营业额的原始值、预测值和平均值.

2 随机森林算法与优化

2.1 随机森林算法

随机森林算法是在传统决策树算法的基础上应用统计学采样原理构建的一种聚合算法,算法包括决策树构建数量和单棵决策树特征数量两个关键参数,随机森林算法既可以用于分类问题,也可以用于回归问题[12-16].在包含m个样本的原数据集上进行m次有放回采样,即得到m个样本的采样数据集,然后从数据集的n个特征中用无放回采样取出f个特征作为输入特征构建决策树,按上述方法重复t次即可构造出t棵决策树,对测试集上的每个样本,综合多棵决策树对测试样本进行计算,用少数服从多数的投票方式(分类问题)或求平均值的方式(回归问题)计算测试集样本的预测值,算法的基本原理如图2所示.

图2 随机森林算法基本原理

2.2 随机森林算法的优化

随机森林算法有两项重要参数,分别是构建决策树的子模型数和(n_estimators)和单颗决策树的最大特征数(max_features),两项参数的引入提升了模型对噪声数据的处理能力,较好地克服了过拟合问题[17-19].为提升随机森林模型在高校餐饮企业营业额预测中的效果,设计了一种二次划分贪心选择网格搜索算法,对随机森林算法中的n_estimators 和max_features 进行参数优化.算法优化的基本思想是先对n_estimators 和max_features 设置初始范围,第一次构建粗粒度划分并进行网格化,网格上的点对应参数n_estimators 和max_features 的值,遍历网格上所有的点并构建随机森林模型,在验证集上计算预测结果的均方根误差,贪心选择预测效果最优的网格点,在当前网格点的基础上进行第二次细粒度划分,按类似的方法二次贪心选择预测效果最优的网格点,用二次划分贪心选择的网格搜索策略完成随机森林算法参数的优化,以下为参数优化执行过程的算法.

算法中的循环变量i、j分别对应网格数据中x轴参数n_estimators 和y轴参数max_features,伪码中1~4 行完成一次划分和二次划分步长的设置,并对网格一次划分的边界进行初始化,5~10 行完成一次划分参数的遍历,用遍历的参数训练模型,同时在验证集上贪心选择一次划分最优参数,11~19 行用类似的方法进行二次划分贪心选择最优参数,返回的ki、kj作 为 参 数n_estimators、max_features 的 最优值.

3 实验

实验主要包括数据整合与预处理、随机森林模型构建与参数优化、营业额预测效果检验三项核心工作,在Python 环境下基于scikit-learn 构建营业额预测模型,运行环境为Windows 10 专 业 版64 位 操 作 系 统,Intel(R)Core(TM)i9-9900K CPU @ 3.60GHz 8 核16 线程处理器,32G 运行内存.

3.1 数据整合与预处理

(1)数据整合.要对进驻高校的餐饮企业进行营业额预测分析,高质量的数据集至关重要,实验过程中整合了安徽理工大学某餐饮企业近5 年的物资进销存管理数据和校园一卡通消费数据,同时在天气后报网(http://www.tianqihoubao.com)用网络爬虫抓取了本地区近5 年的历史天气数据,经数据采集和整理,历史天气数据集中的第i个特征向量可表示为:

weai中的分量依次表示年、月、日、天气状况、最高温度和最低温度.餐饮企业物资进销存管理数据能更好地反映食材的消耗情况,其中物资出库记录与营业额的联系更紧密,为方便数据整合,通过分类汇总的方法计算每天各类物资的消耗金额,涉及的物资分类主要包括:蔬菜、副食、禽蛋、肉食、水产、豆制品、粮油、调料、饮料、水果,物资出库记录数据集中的第i个特征向量表示为:

其中:datei表示数据集中第i个样本对应的日期,vegei表示当天出库的蔬菜类物资的全部金额,nonstaplei、eggi、…、fruiti依此对应上述各分类的出库金额.校园一卡通消费记录能统计出当天的消费总人次和总营业额,经数据汇总得到校园一卡通消费数据集,其中第i个特征向量表示为:

coni中的分量依次表示日期、男生消费总人次、女生消费总人次、是否节假日和日营业额.

将历史天气数据、物资出库记录数据和消费记录数据按日期整合将得到高校餐饮企业营业额预测大数据集,三个数据集中都含有相同的特征分量datei,为方便数值化计算,用特征分量yi、mi、di(年、月、日)替换datei,整合后数据集的输入特征向量dataxi表示为:

数据集的预测目标向量datayi表示为:

(2)数据预处理.样本数据质量的好坏直接影响到预测模型的计算效果,为提升模型在训练和预测中的计算能力,对数据集中的部分特征进行数值化、特征缩放和均衡化预处理.

①One-Hot 编码数值化.数据集输入特征向 量 中yi、mi、di、si、holidaysi分 别 表 示 年、月、日、天气状况和是否为节假日,为离散型数据,不能直接参与模型的计算,将这些特征统一采用One-Hot 编码数值化处理.One-Hot 编码使用0 或1 对多个状态进行编码,将每个状态作为独立的特征,在任意时刻只有一个特征状态取值为1,如 有特 征 向量f=[x,y,z],One-Hot 编码数值化的效果如表1 所示.

表1 One-Hot 编码

②特征缩放.数据分析发现数据集中的禽蛋类(egg)、粮油类(grainoil)、调料类(seasoning)、饮料类(drink)四个特征数据变化较大,对预测模型的收敛会产生很大影响,经数据样本可视化分析,发现上述样本数据近似高斯分布,更适合于标准化缩放处理,特征缩放的计算方法如公式(4)所示.

其中:μ是样本特征的平均值,σ 为样本特征的标准差,x为原始值,x′为特征缩放后的值.

③数据均衡化.营业额是最终的预测结果,只出现在训练集中,实验中数据可视化分析发现营业额分布均衡化程度不高,数据直方图如图3 所示,为进一步提高训练数据质量,用公式x′=log(1+x)对营业额进行均衡化修正,x表示修正前的营业额,x′表示修正后的营业额,Python 中的log1p()函数可完成对应公式的修正计算,expm1()函数可将数据变换为原始值,营业额均衡化后的数据分布如图4 所示,对比发现数据预处理后均衡化程度更高,提高了数据集的质量.

图3 原营业额数据分布直方图

图4 营业额均衡化数据直方图

3.2 预测模型构建与参数优化

数据预处理后,在Python 环境下用sklearn.ensemble 包 中的RandomForestRegressor 构 建营业额预测模型,将数据集样本乱序排列后按6∶2∶2 的比例划分为训练集、验证集和测试集,用本文设计的二次划分贪心选择网格搜索算法对预测模型参数n_estimators、max_features 进行优化,设置一次划分初始化参数lowx=30、highx=390、lowy=1、highy=79、step1x=30、step1y=10,经一次划分网格搜索,在验证集上计算预测均方根误差(RMSE),得到的一次划分网格搜索效果如图5 所示.

图5 随机森林优化一次划分网格搜索

图5 中标注的网格点计算得到的最小均方根误差RMSE=0.049,对应的n_estimators、max_features 参数值分别为150 和41.按类似的方法进行二次划分网格搜索,设置step2x=5,step2y=1,从而得到n_estimators 参数的搜索区间为[120,180],max_features 参数的搜索区间为[31,51],按二次划分重新进行网格搜索,计算各网格点在验证集上的均方根误差,实验得到的效果如图6 所示,图6 中标注的网格点计算得到的最小均方根误差RMSE=0.033,该网格点对应的最优参数n_estimators 和max_features 分别为140 和34,从而得到随机森林模型的最优参数.

图6 随机森林优化二次划分网格搜索

3.3 营业额预测效果对比分析

为检测优化的随机森林算法模型在高校餐饮企业营业额预测中的效果,将该模型与岭回归Ridge、支持向量机SVM 和XGBoost 三种模型在测试集上进行预测对比分析,分别计算RMSE、MAE和R2三项评价指标,得到的实验结果如表2 所示,本文设计的随机森林优化模型在测试集上的预测均方根误差为0.037,平均绝对误差为0.149,平方相关系数为0.963.对比分析发现,本文模型预测效果明显优于其他三种模型,表明该模型能准确反映学习特征参数和预测目标之间的因果关系,能为营业额的精准预测提供决策支持.

表2 营业额预测效果对比分析

4 结论

本文提出的基于优化随机森林算法的高校餐饮企业营业额预测模型,经数据采集和预处理构建了营业额预测样本数据集,按6∶2∶2划分成训练集、验证集和测试集,模型经训练后,在验证集上调用二次划分贪心选择网格搜索算法,得到了最优参数(n_estimators=140,max_features=34),最后在测试集上进行了营业额预测效果对比分析,实验结果验证了该模型的优越性,比其他传统模型的预测误差更低,平方相关系数R2表明本文模型具有更好的回归拟合效果,将该方法应用于进驻高校的餐饮企业营业额的预测中,能提高高校餐饮企业的精细化管理水平和智能决策能力.在本研究成果的基础上优化算法运行效率并提升模型在不同数据集上的通用性是后续进一步深入研究的内容,使得模型具有更高的运行效率和更强的适用性,为其他相关应用领域的科学计算提供参考和技术支持.

猜你喜欢
营业额集上餐饮企业
GCD封闭集上的幂矩阵行列式间的整除性
基于互信息的多级特征选择算法
成本会计在餐饮企业财务管理中的应用
餐饮业自救
论餐饮企业财务管理与风险防控
连锁餐饮企业区位选择
连锁餐饮企业区位选择
彼欧在中国继续保持强劲增长预计2021 年营业额将翻倍至13 亿欧元
师如明灯,清凉温润
几道导数题引发的解题思考