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