石文兵,蘇樹智
餐飲企業(yè)根據(jù)服務(wù)經(jīng)營(yíng)的業(yè)態(tài)和規(guī)模擁有不同的分類,其經(jīng)營(yíng)模式和市場(chǎng)群體差別較大,日常經(jīng)營(yíng)活動(dòng)的特征也不盡相同.
近年來,很多學(xué)者對(duì)餐飲業(yè)的研究主要集中在營(yíng)銷策略、成本控制管理和物料需求分析等層面.朱鈁等結(jié)合餐飲企業(yè)的經(jīng)營(yíng)狀況,采取強(qiáng)化內(nèi)部管理和嚴(yán)格控制經(jīng)營(yíng)成本的方法實(shí)現(xiàn)增加利潤(rùn)的目的[1-2].王群智等[3]從物流和供應(yīng)管理層面提出了餐飲企業(yè)轉(zhuǎn)型升級(jí)的發(fā)展策略.當(dāng)前人工智能的發(fā)展勢(shì)態(tài)良好,越來越多的餐飲企業(yè)開始整合人工智能技術(shù),很好地推動(dòng)了餐飲企業(yè)智能化發(fā)展的轉(zhuǎn)型升級(jí).張林泉[4]通過分析大學(xué)校園周邊餐飲企業(yè)樣本數(shù)據(jù)的學(xué)生總數(shù)和季度營(yíng)業(yè)額的關(guān)系,研究了回歸分析模型的構(gòu)建及顯著性檢驗(yàn)方法.周健等[5]結(jié)合BP 神經(jīng)網(wǎng)絡(luò)和灰色-馬爾科夫鏈構(gòu)建了餐飲業(yè)短期客流量的預(yù)測(cè)模型,客流量誤差達(dá)到±0.05.在深度學(xué)習(xí)的應(yīng)用研究領(lǐng)域,有學(xué)者構(gòu)建深度學(xué)習(xí)預(yù)測(cè)模型,對(duì)餐飲企業(yè)外賣訂單量和菜品銷量進(jìn)行預(yù)測(cè),為企業(yè)制定物資采購(gòu)計(jì)劃和管理決策提供了參考依據(jù)[6-7].類似的研究還有用SVM、XGBoost 等方法構(gòu)建商品銷量的預(yù)測(cè)模型[8-9].樊亮通過構(gòu)建整合移動(dòng)平均自回歸模型對(duì)隴南市各縣區(qū)的社會(huì)消費(fèi)品零售總額進(jìn)行了預(yù)測(cè)分析[10].黃宏運(yùn)等用BP 神經(jīng)網(wǎng)絡(luò)構(gòu)建了股票指數(shù)預(yù)測(cè)系統(tǒng),為短期的股價(jià)預(yù)測(cè)提供借鑒和參考[11].在大型餐飲企業(yè)進(jìn)駐高校的委托經(jīng)營(yíng)模式下,進(jìn)駐高校的餐飲企業(yè)的服務(wù)對(duì)象和經(jīng)營(yíng)環(huán)境相對(duì)穩(wěn)定,為數(shù)據(jù)分析與模型構(gòu)建創(chuàng)造了很好的應(yīng)用條件,從研究現(xiàn)狀來看,基于人工智能技術(shù)的相關(guān)智能計(jì)算方法尚未在進(jìn)駐高校的餐飲企業(yè)營(yíng)業(yè)額的預(yù)測(cè)中得到較好應(yīng)用,本研究將采集整合進(jìn)駐安徽理工大學(xué)的高校餐飲企業(yè)的歷史經(jīng)營(yíng)數(shù)據(jù),構(gòu)建基于優(yōu)化隨機(jī)森林算法的高校餐飲企業(yè)營(yíng)業(yè)額預(yù)測(cè)模型,為企業(yè)經(jīng)營(yíng)管理過程中物資采購(gòu)計(jì)劃和管理決策的制定提供科學(xué)依據(jù),提升智能化管理水平,降低生產(chǎn)成本,提高利潤(rùn)和綜合競(jìng)爭(zhēng)力.
為使高校餐飲企業(yè)營(yíng)業(yè)額的預(yù)測(cè)更具指導(dǎo)和決策意義,本研究主要針對(duì)高校餐飲企業(yè)的日營(yíng)業(yè)額進(jìn)行預(yù)測(cè),營(yíng)業(yè)額預(yù)測(cè)體系結(jié)構(gòu)如圖1 所示,主要包括數(shù)據(jù)采集與整合、預(yù)測(cè)模型構(gòu)建和預(yù)測(cè)精度評(píng)估三個(gè)層次,體系結(jié)構(gòu)中各層次的主要功能如下:
(1)數(shù)據(jù)采集和整合.經(jīng)實(shí)地調(diào)研發(fā)現(xiàn),高校餐飲企業(yè)營(yíng)業(yè)額與很多客觀因素關(guān)系密切,研究過程中采集整合近5 年的歷史天氣數(shù)據(jù)、物資進(jìn)銷存管理數(shù)據(jù)和校園一卡通消費(fèi)數(shù)據(jù),構(gòu)建特征鮮明的營(yíng)業(yè)額預(yù)測(cè)分析數(shù)據(jù)集.
(2)預(yù)測(cè)模型構(gòu)建.對(duì)數(shù)據(jù)集進(jìn)行數(shù)值化編碼、特征縮放、數(shù)據(jù)均衡化等預(yù)處理,對(duì)隨機(jī)森林算法進(jìn)行優(yōu)化,構(gòu)建營(yíng)業(yè)額預(yù)測(cè)模型.
(3)預(yù)測(cè)精度評(píng)估.構(gòu)建的預(yù)測(cè)模型經(jīng)訓(xùn)練后,在測(cè)試集上進(jìn)行預(yù)測(cè)評(píng)估,將該模型與傳統(tǒng)的Ridge、SVM 和XGBoost 進(jìn)行對(duì)比分析,驗(yàn)證營(yíng)業(yè)額預(yù)測(cè)模型的有效性.對(duì)測(cè)試集上各模型的預(yù)測(cè)誤差進(jìn)行評(píng)估,主要采用均方根誤差(RMSE)、平均絕對(duì)誤差(MAE)和平方相關(guān)系數(shù)(R2)三項(xiàng)評(píng)價(jià)指標(biāo),具體計(jì)算方法如公式(1)、公式(2)和公式(3)所示.
其中:n表示樣本數(shù)量,y(i)、y′(i)、yˉ(i)分別表示樣本中營(yíng)業(yè)額的原始值、預(yù)測(cè)值和平均值.
隨機(jī)森林算法是在傳統(tǒng)決策樹算法的基礎(chǔ)上應(yīng)用統(tǒng)計(jì)學(xué)采樣原理構(gòu)建的一種聚合算法,算法包括決策樹構(gòu)建數(shù)量和單棵決策樹特征數(shù)量?jī)蓚€(gè)關(guān)鍵參數(shù),隨機(jī)森林算法既可以用于分類問題,也可以用于回歸問題[12-16].在包含m個(gè)樣本的原數(shù)據(jù)集上進(jìn)行m次有放回采樣,即得到m個(gè)樣本的采樣數(shù)據(jù)集,然后從數(shù)據(jù)集的n個(gè)特征中用無放回采樣取出f個(gè)特征作為輸入特征構(gòu)建決策樹,按上述方法重復(fù)t次即可構(gòu)造出t棵決策樹,對(duì)測(cè)試集上的每個(gè)樣本,綜合多棵決策樹對(duì)測(cè)試樣本進(jìn)行計(jì)算,用少數(shù)服從多數(shù)的投票方式(分類問題)或求平均值的方式(回歸問題)計(jì)算測(cè)試集樣本的預(yù)測(cè)值,算法的基本原理如圖2所示.
圖2 隨機(jī)森林算法基本原理
隨機(jī)森林算法有兩項(xiàng)重要參數(shù),分別是構(gòu)建決策樹的子模型數(shù)和(n_estimators)和單顆決策樹的最大特征數(shù)(max_features),兩項(xiàng)參數(shù)的引入提升了模型對(duì)噪聲數(shù)據(jù)的處理能力,較好地克服了過擬合問題[17-19].為提升隨機(jī)森林模型在高校餐飲企業(yè)營(yíng)業(yè)額預(yù)測(cè)中的效果,設(shè)計(jì)了一種二次劃分貪心選擇網(wǎng)格搜索算法,對(duì)隨機(jī)森林算法中的n_estimators 和max_features 進(jìn)行參數(shù)優(yōu)化.算法優(yōu)化的基本思想是先對(duì)n_estimators 和max_features 設(shè)置初始范圍,第一次構(gòu)建粗粒度劃分并進(jìn)行網(wǎng)格化,網(wǎng)格上的點(diǎn)對(duì)應(yīng)參數(shù)n_estimators 和max_features 的值,遍歷網(wǎng)格上所有的點(diǎn)并構(gòu)建隨機(jī)森林模型,在驗(yàn)證集上計(jì)算預(yù)測(cè)結(jié)果的均方根誤差,貪心選擇預(yù)測(cè)效果最優(yōu)的網(wǎng)格點(diǎn),在當(dāng)前網(wǎng)格點(diǎn)的基礎(chǔ)上進(jìn)行第二次細(xì)粒度劃分,按類似的方法二次貪心選擇預(yù)測(cè)效果最優(yōu)的網(wǎng)格點(diǎn),用二次劃分貪心選擇的網(wǎng)格搜索策略完成隨機(jī)森林算法參數(shù)的優(yōu)化,以下為參數(shù)優(yōu)化執(zhí)行過程的算法.
算法中的循環(huán)變量i、j分別對(duì)應(yīng)網(wǎng)格數(shù)據(jù)中x軸參數(shù)n_estimators 和y軸參數(shù)max_features,偽碼中1~4 行完成一次劃分和二次劃分步長(zhǎng)的設(shè)置,并對(duì)網(wǎng)格一次劃分的邊界進(jìn)行初始化,5~10 行完成一次劃分參數(shù)的遍歷,用遍歷的參數(shù)訓(xùn)練模型,同時(shí)在驗(yàn)證集上貪心選擇一次劃分最優(yōu)參數(shù),11~19 行用類似的方法進(jìn)行二次劃分貪心選擇最優(yōu)參數(shù),返回的ki、kj作 為 參 數(shù)n_estimators、max_features 的 最優(yōu)值.
實(shí)驗(yàn)主要包括數(shù)據(jù)整合與預(yù)處理、隨機(jī)森林模型構(gòu)建與參數(shù)優(yōu)化、營(yíng)業(yè)額預(yù)測(cè)效果檢驗(yàn)三項(xiàng)核心工作,在Python 環(huán)境下基于scikit-learn 構(gòu)建營(yíng)業(yè)額預(yù)測(cè)模型,運(yùn)行環(huán)境為Windows 10 專 業(yè) 版64 位 操 作 系 統(tǒng),Intel(R)Core(TM)i9-9900K CPU @ 3.60GHz 8 核16 線程處理器,32G 運(yùn)行內(nèi)存.
(1)數(shù)據(jù)整合.要對(duì)進(jìn)駐高校的餐飲企業(yè)進(jìn)行營(yíng)業(yè)額預(yù)測(cè)分析,高質(zhì)量的數(shù)據(jù)集至關(guān)重要,實(shí)驗(yàn)過程中整合了安徽理工大學(xué)某餐飲企業(yè)近5 年的物資進(jìn)銷存管理數(shù)據(jù)和校園一卡通消費(fèi)數(shù)據(jù),同時(shí)在天氣后報(bào)網(wǎng)(http://www.tianqihoubao.com)用網(wǎng)絡(luò)爬蟲抓取了本地區(qū)近5 年的歷史天氣數(shù)據(jù),經(jīng)數(shù)據(jù)采集和整理,歷史天氣數(shù)據(jù)集中的第i個(gè)特征向量可表示為:
weai中的分量依次表示年、月、日、天氣狀況、最高溫度和最低溫度.餐飲企業(yè)物資進(jìn)銷存管理數(shù)據(jù)能更好地反映食材的消耗情況,其中物資出庫記錄與營(yíng)業(yè)額的聯(lián)系更緊密,為方便數(shù)據(jù)整合,通過分類匯總的方法計(jì)算每天各類物資的消耗金額,涉及的物資分類主要包括:蔬菜、副食、禽蛋、肉食、水產(chǎn)、豆制品、糧油、調(diào)料、飲料、水果,物資出庫記錄數(shù)據(jù)集中的第i個(gè)特征向量表示為:
其中:datei表示數(shù)據(jù)集中第i個(gè)樣本對(duì)應(yīng)的日期,vegei表示當(dāng)天出庫的蔬菜類物資的全部金額,nonstaplei、eggi、…、fruiti依此對(duì)應(yīng)上述各分類的出庫金額.校園一卡通消費(fèi)記錄能統(tǒng)計(jì)出當(dāng)天的消費(fèi)總?cè)舜魏涂偁I(yíng)業(yè)額,經(jīng)數(shù)據(jù)匯總得到校園一卡通消費(fèi)數(shù)據(jù)集,其中第i個(gè)特征向量表示為:
coni中的分量依次表示日期、男生消費(fèi)總?cè)舜?、女生消費(fèi)總?cè)舜巍⑹欠窆?jié)假日和日營(yíng)業(yè)額.
將歷史天氣數(shù)據(jù)、物資出庫記錄數(shù)據(jù)和消費(fèi)記錄數(shù)據(jù)按日期整合將得到高校餐飲企業(yè)營(yíng)業(yè)額預(yù)測(cè)大數(shù)據(jù)集,三個(gè)數(shù)據(jù)集中都含有相同的特征分量datei,為方便數(shù)值化計(jì)算,用特征分量yi、mi、di(年、月、日)替換datei,整合后數(shù)據(jù)集的輸入特征向量dataxi表示為:
數(shù)據(jù)集的預(yù)測(cè)目標(biāo)向量datayi表示為:
(2)數(shù)據(jù)預(yù)處理.樣本數(shù)據(jù)質(zhì)量的好壞直接影響到預(yù)測(cè)模型的計(jì)算效果,為提升模型在訓(xùn)練和預(yù)測(cè)中的計(jì)算能力,對(duì)數(shù)據(jù)集中的部分特征進(jìn)行數(shù)值化、特征縮放和均衡化預(yù)處理.
①One-Hot 編碼數(shù)值化.數(shù)據(jù)集輸入特征向 量 中yi、mi、di、si、holidaysi分 別 表 示 年、月、日、天氣狀況和是否為節(jié)假日,為離散型數(shù)據(jù),不能直接參與模型的計(jì)算,將這些特征統(tǒng)一采用One-Hot 編碼數(shù)值化處理.One-Hot 編碼使用0 或1 對(duì)多個(gè)狀態(tài)進(jìn)行編碼,將每個(gè)狀態(tài)作為獨(dú)立的特征,在任意時(shí)刻只有一個(gè)特征狀態(tài)取值為1,如 有特 征 向量f=[x,y,z],One-Hot 編碼數(shù)值化的效果如表1 所示.
表1 One-Hot 編碼
②特征縮放.數(shù)據(jù)分析發(fā)現(xiàn)數(shù)據(jù)集中的禽蛋類(egg)、糧油類(grainoil)、調(diào)料類(seasoning)、飲料類(drink)四個(gè)特征數(shù)據(jù)變化較大,對(duì)預(yù)測(cè)模型的收斂會(huì)產(chǎn)生很大影響,經(jīng)數(shù)據(jù)樣本可視化分析,發(fā)現(xiàn)上述樣本數(shù)據(jù)近似高斯分布,更適合于標(biāo)準(zhǔn)化縮放處理,特征縮放的計(jì)算方法如公式(4)所示.
其中:μ是樣本特征的平均值,σ 為樣本特征的標(biāo)準(zhǔn)差,x為原始值,x′為特征縮放后的值.
③數(shù)據(jù)均衡化.營(yíng)業(yè)額是最終的預(yù)測(cè)結(jié)果,只出現(xiàn)在訓(xùn)練集中,實(shí)驗(yàn)中數(shù)據(jù)可視化分析發(fā)現(xiàn)營(yíng)業(yè)額分布均衡化程度不高,數(shù)據(jù)直方圖如圖3 所示,為進(jìn)一步提高訓(xùn)練數(shù)據(jù)質(zhì)量,用公式x′=log(1+x)對(duì)營(yíng)業(yè)額進(jìn)行均衡化修正,x表示修正前的營(yíng)業(yè)額,x′表示修正后的營(yíng)業(yè)額,Python 中的log1p()函數(shù)可完成對(duì)應(yīng)公式的修正計(jì)算,expm1()函數(shù)可將數(shù)據(jù)變換為原始值,營(yíng)業(yè)額均衡化后的數(shù)據(jù)分布如圖4 所示,對(duì)比發(fā)現(xiàn)數(shù)據(jù)預(yù)處理后均衡化程度更高,提高了數(shù)據(jù)集的質(zhì)量.
圖3 原營(yíng)業(yè)額數(shù)據(jù)分布直方圖
圖4 營(yíng)業(yè)額均衡化數(shù)據(jù)直方圖
數(shù)據(jù)預(yù)處理后,在Python 環(huán)境下用sklearn.ensemble 包 中的RandomForestRegressor 構(gòu) 建營(yíng)業(yè)額預(yù)測(cè)模型,將數(shù)據(jù)集樣本亂序排列后按6∶2∶2 的比例劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,用本文設(shè)計(jì)的二次劃分貪心選擇網(wǎng)格搜索算法對(duì)預(yù)測(cè)模型參數(shù)n_estimators、max_features 進(jìn)行優(yōu)化,設(shè)置一次劃分初始化參數(shù)lowx=30、highx=390、lowy=1、highy=79、step1x=30、step1y=10,經(jīng)一次劃分網(wǎng)格搜索,在驗(yàn)證集上計(jì)算預(yù)測(cè)均方根誤差(RMSE),得到的一次劃分網(wǎng)格搜索效果如圖5 所示.
圖5 隨機(jī)森林優(yōu)化一次劃分網(wǎng)格搜索
圖5 中標(biāo)注的網(wǎng)格點(diǎn)計(jì)算得到的最小均方根誤差RMSE=0.049,對(duì)應(yīng)的n_estimators、max_features 參數(shù)值分別為150 和41.按類似的方法進(jìn)行二次劃分網(wǎng)格搜索,設(shè)置step2x=5,step2y=1,從而得到n_estimators 參數(shù)的搜索區(qū)間為[120,180],max_features 參數(shù)的搜索區(qū)間為[31,51],按二次劃分重新進(jìn)行網(wǎng)格搜索,計(jì)算各網(wǎng)格點(diǎn)在驗(yàn)證集上的均方根誤差,實(shí)驗(yàn)得到的效果如圖6 所示,圖6 中標(biāo)注的網(wǎng)格點(diǎn)計(jì)算得到的最小均方根誤差RMSE=0.033,該網(wǎng)格點(diǎn)對(duì)應(yīng)的最優(yōu)參數(shù)n_estimators 和max_features 分別為140 和34,從而得到隨機(jī)森林模型的最優(yōu)參數(shù).
圖6 隨機(jī)森林優(yōu)化二次劃分網(wǎng)格搜索
為檢測(cè)優(yōu)化的隨機(jī)森林算法模型在高校餐飲企業(yè)營(yíng)業(yè)額預(yù)測(cè)中的效果,將該模型與嶺回歸Ridge、支持向量機(jī)SVM 和XGBoost 三種模型在測(cè)試集上進(jìn)行預(yù)測(cè)對(duì)比分析,分別計(jì)算RMSE、MAE和R2三項(xiàng)評(píng)價(jià)指標(biāo),得到的實(shí)驗(yàn)結(jié)果如表2 所示,本文設(shè)計(jì)的隨機(jī)森林優(yōu)化模型在測(cè)試集上的預(yù)測(cè)均方根誤差為0.037,平均絕對(duì)誤差為0.149,平方相關(guān)系數(shù)為0.963.對(duì)比分析發(fā)現(xiàn),本文模型預(yù)測(cè)效果明顯優(yōu)于其他三種模型,表明該模型能準(zhǔn)確反映學(xué)習(xí)特征參數(shù)和預(yù)測(cè)目標(biāo)之間的因果關(guān)系,能為營(yíng)業(yè)額的精準(zhǔn)預(yù)測(cè)提供決策支持.
表2 營(yíng)業(yè)額預(yù)測(cè)效果對(duì)比分析
本文提出的基于優(yōu)化隨機(jī)森林算法的高校餐飲企業(yè)營(yíng)業(yè)額預(yù)測(cè)模型,經(jīng)數(shù)據(jù)采集和預(yù)處理構(gòu)建了營(yíng)業(yè)額預(yù)測(cè)樣本數(shù)據(jù)集,按6∶2∶2劃分成訓(xùn)練集、驗(yàn)證集和測(cè)試集,模型經(jīng)訓(xùn)練后,在驗(yàn)證集上調(diào)用二次劃分貪心選擇網(wǎng)格搜索算法,得到了最優(yōu)參數(shù)(n_estimators=140,max_features=34),最后在測(cè)試集上進(jìn)行了營(yíng)業(yè)額預(yù)測(cè)效果對(duì)比分析,實(shí)驗(yàn)結(jié)果驗(yàn)證了該模型的優(yōu)越性,比其他傳統(tǒng)模型的預(yù)測(cè)誤差更低,平方相關(guān)系數(shù)R2表明本文模型具有更好的回歸擬合效果,將該方法應(yīng)用于進(jìn)駐高校的餐飲企業(yè)營(yíng)業(yè)額的預(yù)測(cè)中,能提高高校餐飲企業(yè)的精細(xì)化管理水平和智能決策能力.在本研究成果的基礎(chǔ)上優(yōu)化算法運(yùn)行效率并提升模型在不同數(shù)據(jù)集上的通用性是后續(xù)進(jìn)一步深入研究的內(nèi)容,使得模型具有更高的運(yùn)行效率和更強(qiáng)的適用性,為其他相關(guān)應(yīng)用領(lǐng)域的科學(xué)計(jì)算提供參考和技術(shù)支持.