999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

高校食堂的菜品銷量分析

2017-07-20 13:15:51王楚瑜汪慶華王楚楚陳艷輝華祎恒
計算機時代 2017年7期

王楚瑜+汪慶華+王楚楚+陳艷輝+華祎恒

摘 要: 針對高校食堂菜品存在的浪費、搭配不佳問題,根據(jù)連續(xù)85天的用餐人次數(shù)據(jù),用時間序列分析研究了用餐人次符合的ARIMA(5,1,3)模型。對濟南市高校常見的菜品及年銷售數(shù)據(jù),用R語言編程,先利用“過半數(shù)規(guī)則”計算和預(yù)測某一菜品銷量的好壞,并計算出不同的素菜-素菜、素菜-葷菜之間的銷量關(guān)聯(lián)性。最后使用Python編程,用Apriori算法進一步挖掘菜品間的銷售關(guān)聯(lián)。

關(guān)鍵詞: 時間序列分析; ARMA模型; R語言; 關(guān)聯(lián)規(guī)則學習

中圖分類號:TP311 文獻標志碼:A 文章編號:1006-8228(2017)07-65-04

The analysis of dishes sales in university dining room

Wang Chuyu1, Wang Qinghua1, Wang Chuchu1, Chen Yanhui2, Hua Yiheng1

(Shandong University School of Mathematics, Jinan, Shandong 250100, China; 2. Shandong University School of Software)

Abstract: In view of the waste and poor collocation of dishes in university canteens, the model of ARIMA (5,1,6) suiting well the number of customers in the consecutive 85 days is studied. Based on the lists of the most common dishes in the universities in Jinan and the sales of the dishes, with the aid of R language, the 'more than the half' rule is applied to compute a 'k' which predicts the sale of the next month is good or not. Finally, programming in Python, Apriori algorithm is used to further tap the sales correlation between the dishes.

Key words: time series analysis; ARMA model; R language; learning of association rules

0 引言

高校食堂是一個特殊的“經(jīng)營實體”,高校食堂須考慮如何改善菜肴品質(zhì)及服務(wù)質(zhì)量。本文用時間序列分析、關(guān)聯(lián)規(guī)則挖掘等算法,研究了用餐人次的變化規(guī)律,并初步預(yù)測了每種菜品銷量的漲落。Apriori算法是關(guān)聯(lián)規(guī)則學習的一種算法,本文基于此研究了不同菜品之間最強的銷量關(guān)聯(lián)性。

1 基于時間序列分析的用餐人次預(yù)測

以山東大學為例,“山東大學一多食堂”的兩臺pos收款機記載了交易時間、交易額、現(xiàn)有余額、用卡次數(shù)等數(shù)據(jù),我們選擇其中2016年10月、11月、12月的用餐數(shù)據(jù)進行研究,用向量m表示連續(xù)85天的用餐人次,在R中繪制m的時間序列圖,如圖1所示。

根據(jù)圖1還不能確定m的變化趨勢,因此我們繼續(xù)用時間序列分析方法提取相關(guān)信息。

1.1 平穩(wěn)性檢驗

運用游程檢驗法對序列m作平穩(wěn)性檢驗:m的均值為996.1412,大于均值的樣本個數(shù)為N1=41,小于均值的樣本個數(shù)為N2=44游程數(shù)為Nr=22,N=85,游程的均值和方差分別為,Var(Nr)=,且Nr近似服從正態(tài)分布,即統(tǒng)計量。游程判別法認為,在給定的顯著性水平α=0.05下,若,則認為序列是平穩(wěn)的,否則認為是非平穩(wěn)的[1]。根據(jù)已知數(shù)據(jù)計算,得,由游程判別法知,序列m是非平穩(wěn)序列。

1.2 平穩(wěn)性檢驗與白噪聲檢驗

理論上來說,任何一個非平穩(wěn)時間序列經(jīng)過多階差分后都可變成平穩(wěn)序列。但差分的階數(shù)并非越多越好,過差分會帶來信息的嚴重損失。解決方法是對非平穩(wěn)序列進行一階差分,并判斷一階差分后的序列是否具有平穩(wěn)性。因此,對m進行一階差分并在R中繪制時間序列圖,如圖2所示。

tseries程序包含檢驗時間序列平穩(wěn)性的adf.test()函數(shù)。調(diào)用該函數(shù)后得到p值是0.01,小于顯著性水平(一般取0.1或0.05)。說明diff(m)已經(jīng)是平穩(wěn)序列,不需要再對m進行二階或其他差分處理。

進一步利用Q統(tǒng)計量和LB統(tǒng)計量分別對diff(m)進行白噪聲檢驗,得到表1中的結(jié)果。

1.3 模型識別與參數(shù)估計

為識別符合diff(m)序列的時間序列模型,應(yīng)作出自相關(guān)函數(shù)與偏自相關(guān)函數(shù)。由圖3知,自相關(guān)函數(shù)與偏自相關(guān)函數(shù)均呈現(xiàn)拖尾性特點,初步推斷diff(m)符合ARMA(p,q)模型。

接著調(diào)用arima()函數(shù),使用CSS-ML估計法對該ARMA(5,3)模型進行參數(shù)估計,結(jié)果如表3所示。

因此diff(m)的擬合結(jié)果是:

1.4 模型檢驗與參數(shù)的顯著性檢驗

建立模型后需要對整個模型的有效性進行檢驗,并進行參數(shù)的顯著性檢驗。先調(diào)用tsdiag()函數(shù)對殘差進行白噪聲檢驗。

在圖4中,標準殘差的序列圖呈現(xiàn)出“中間變幅大、兩頭變幅小”的特點,類似于正態(tài)分布的分布函數(shù)形態(tài);殘差的樣本ACF都處于2倍標準差范圍內(nèi),可近似于零;Ljung-Box檢驗統(tǒng)計量的p值均大于0.5,明顯大于顯著水平。上述三點證明了殘差服從正態(tài)分布,相關(guān)信息已被模型提取。

利用SPSS對這9個參數(shù)進行顯著性檢驗,取顯著水平α=0.05,t值與顯著性如表4。

2 菜品銷量漲落的預(yù)測

用餐人次一定程度上可反映食堂銷量的漲落,但涉及具體菜品的銷量漲落時,這種研究方法便失去了實際意義。針對具體菜品的銷售漲落,可以采用“過半數(shù)規(guī)則”粗略預(yù)測。將食堂菜品分為面條、主食、煲湯、點心、飲品、素菜、葷菜、蓋飯8類,并選擇每類中銷量較好的幾種菜品。以這些菜品為范圍,調(diào)查了近1000名在校學生的日常用餐搭配。

“過半數(shù)規(guī)則”根據(jù)最近k期的銷售漲落,來預(yù)測下一期的銷售。高于平均值的月份用1表示(表示菜品在該月內(nèi)“暢銷”),低于平均值的月份用0表示(表示菜品在該月內(nèi)“滯銷”)。如果在最近k期里1的個數(shù)大于等于k/2,那么預(yù)測下一個值是1,否則為0。算法的核心在于合理確定k值,解決方案是根據(jù)已知的數(shù)據(jù),變換不同的k值,比較各預(yù)測出錯率的大小。

以菜品“西紅柿炒雞蛋”為例,計算出銷量的年平均值(除寒暑假),則該菜品在一年內(nèi)的銷售漲落向量是x=[0,1,1,0,0,1,1,0,0]。可以設(shè)計出一種簡便的編程算法,在R中的主要代碼與運行結(jié)果如下[4-5]:

pred<-function(x,k) {

n<-length(x);k2<-k/2

pred<-vector(length=n-k) #定義一個長度為n-k的“預(yù)測向量”

csx<-c(0,cumsum(x)) #計算之前k期中值為1的個數(shù)并儲存

for(i in 1:(n-k)) {

if(csx[i+k]-csx[i]>=k2) #如果最近k期里1的個數(shù)大于等于k/2

pred[i]<-1 #預(yù)測下一期的值是1

else #否則值是0

pred[i]<-0 }

return(mean(abs(pred-x[(k+1):n]))) } #計算預(yù)測值與

真實值誤差絕對值的均值

不同結(jié)果對應(yīng)了不同k值的預(yù)測出錯率。本著預(yù)測出錯率“越小越好”的原則,就“西紅柿炒雞蛋”而言,k取1或5時達到預(yù)測出錯率的最小值。但是從實際看,易見k=1時參考價值較小,因此留下k=5,預(yù)測出錯率達到最小0.5。現(xiàn)實解釋是:欲預(yù)測下一個月“西紅柿炒雞蛋”的銷量好壞,只需觀測從這個月開始的前5個月銷量高漲是否超過3,如果是,則下個月銷售高漲,否則是銷售低谷。

此種算法只提供了粗略預(yù)測方法,預(yù)測出錯率仍然較高。要精確預(yù)測還需運用時間序列分析,此處略。

3 菜品銷量的關(guān)聯(lián)性

類似于“牛奶-啤酒”的經(jīng)典案例,高校食堂不同菜品之間的銷售量也具有關(guān)聯(lián)規(guī)則[6]。這里先進行關(guān)聯(lián)性的初估計,再結(jié)合Apriori算法作精確挖掘。

3.1 關(guān)聯(lián)性的初估計

定義兩組數(shù)據(jù)的關(guān)聯(lián)性:關(guān)聯(lián)性是它們同時上升或下降次數(shù)占總觀測次數(shù)的比例。先將各菜品在9個月內(nèi)的銷量數(shù)據(jù)以向量的形式儲存,并以c1~c8分別表示菜品的類別,以cxy表示各菜品的名稱,例如c11表示素菜類中的西紅柿炒雞蛋。

首先研究七種素菜(即西紅柿炒雞蛋c11、清炒花菜c12、清炒土豆絲c13、干煸四季豆c14、菠菜炒蛋c15、家常豆腐c16、海帶絲c17)之間49種搭配的銷售關(guān)聯(lián)性,以下是代碼實現(xiàn),并將結(jié)果以矩陣A11表示[6]:

findud<-function(v) { #定義一個“銷售相關(guān)性”函數(shù)

vud<-diff(v) #定義向量的一階差分

return(ifelse(vud>0,1,-1))} #如果vud大于0,則函數(shù)返回值是1,反之是1

udcorr<-function(x,y) {

ud<-lapply(list(x,y),findud) #針對x與y分別調(diào)用findud函數(shù)

return(mean(ud[[1]]==ud[[2]]))} #計算同時上升或下降的比例

矩陣元素代表素菜類中第i種菜品和第j中菜品之間的關(guān)聯(lián)性,本著銷量關(guān)聯(lián)性“越大越好”的原則,可見c11與c13、c13與c14、c13與c16、c14與c15、c15與c16之間的關(guān)聯(lián)性較高,達0.875。

素菜類與葷菜類(即糖醋里脊c21、水煮牛肉c22、土豆燒肉c23、毛血旺c24、翡翠蝦仁c25、清蒸扁魚c26、口水雞c27)之間49種搭配的關(guān)聯(lián)性A12可用相同算法計算:

可見,c11與c23、c12與c26、c15與c24和c25之間有較強的銷售關(guān)聯(lián)性,而c12與c27的銷售關(guān)聯(lián)性很弱。對于銷售關(guān)聯(lián)性較大的兩種菜品,建議食堂進行捆綁搭配。

3.2 基于Apriori算法的關(guān)聯(lián)規(guī)則學習

在搜集數(shù)據(jù)的同時,受訪人的“個人飲食記錄”也隨之產(chǎn)生。據(jù)此用Apriori算法,在Python語言進行關(guān)聯(lián)規(guī)則學習。Apriori是一種挖掘關(guān)聯(lián)規(guī)則的頻繁項集算法,核心思想是通過候選集生成和情節(jié)的向下封閉檢測兩個階段來挖掘頻繁項集。首先找出所有的頻集,項集的頻繁性至少和預(yù)定義的最小支持度一樣。然后由頻集產(chǎn)生強關(guān)聯(lián)規(guī)則,規(guī)則必須滿足最小支持度和最小可信度。接著使用找到的頻集產(chǎn)生期望的規(guī)則,產(chǎn)生只包含集合的項的所有規(guī)則。一旦這些規(guī)則被生成,只有大于用戶給定的最小可信度的規(guī)則才被留下來。

編程實現(xiàn)過程與運算結(jié)果如下,最后得到了銷售關(guān)聯(lián)最好的一種菜品組合[7]。

def createC1(dataSet): #構(gòu)建所有候選項集的集合

return list(map(frozenset, C1)) #使用frozenset,被

“冰凍”的集合,為后續(xù)建立字典key-value使用。

def scanD(D,Ck,minSupport): #由候選項集生成符合最

小支持度的項集L。參數(shù)分別為數(shù)據(jù)集、候選項集列表,最小支持度

return retList, supportData

def apriori(dataSet, minSupport=0.5):

C1=createC1(dataSet)

D=list(map(set,dataSet))

L1, supportData=scanD(D, C1, minSupport)

L=[L1]

while (len(L[k-2])>0):

Ck=aprioriGen(L[k-2], k)

Lk, supK=scanD(D, Ck, minSupport)

supportData.update(supK)

L.append(Lk)

k+=1

return L, supportData

在此算法基礎(chǔ)上導入“個人飲食記錄”中的數(shù)據(jù)集,得到符合最小支持度的頻繁1項集:{'31'}, {'74'}所有符合最小支持度的項集:{'31'},{'74'}, {'74', '31'},頻繁2項集:{'74', '31'}所有符合最小支持度為0.7的項集:{'31'},{'74'}, {'74', '31'}。

由于數(shù)據(jù)依然較稀疏,關(guān)聯(lián)頻集數(shù)目仍然較小,此時有c31(豬排蓋飯)與c74(優(yōu)酸乳)的銷售關(guān)聯(lián)性最強。

4 結(jié)束語

本文用時間序列分析法對連續(xù)85天的用餐人次擬合出ARIMA(5,1,3)模型,接著對具體菜品進行粗略的銷量漲落預(yù)測,再通過簡單易行的編程方法,對素菜-素菜類、素菜-葷菜類的銷售相關(guān)性進行挖掘,得出最優(yōu)的搭配組合。最后用Apriori算法,發(fā)現(xiàn)豬排蓋飯與優(yōu)酸乳的銷售關(guān)聯(lián)性最強。用數(shù)學建模的方式定量分析不同菜品特征比傳統(tǒng)的直觀觀察更精確,能發(fā)現(xiàn)數(shù)據(jù)間蘊藏的價值,擁有較好的研究前景。關(guān)于不同菜品的口味、烹飪方式等屬性還有待進一步研究,考察更細致的菜品屬性能讓銷售關(guān)聯(lián)性的挖掘更有現(xiàn)實價值。

參考文獻(References):

[1] 周永道,王會琦.時間序列分析及應(yīng)用(第1版)[M].高等教育

出版社,2015.

[2] 趙華.時間序列數(shù)據(jù)分析R軟件應(yīng)用(第1版)[M].清華大學出

版社,2016.

[3] 趙玉新.基于R語言時間序列的轎車銷量分析及預(yù)測[J].電

腦知識與科技,2017.13:16-18

[4] 陳堰平,邱怡軒.R語言編程藝術(shù)(第1版)[M].機械工業(yè)出版

社,2016.

[5] 高濤,肖楠.R語言實戰(zhàn)(第1版)[M].機械工業(yè)出版社,2013.

[6] 陳玲玲,尹文俊.高校食堂菜品的綜合評價系統(tǒng)[J].科技創(chuàng)新,

2015.33:13-15

[7] CSDN.《使用Apriori算法進行關(guān)聯(lián)分析》[EB/OL].http://

blog.csdn.net/u010454729/article/details/49078505,

2015-10-12.

主站蜘蛛池模板: 成人av手机在线观看| 成年人国产网站| 九色视频线上播放| 日韩国产 在线| 91精品人妻互换| 久久久久久久蜜桃| 亚洲人视频在线观看| 熟女视频91| 国产1区2区在线观看| 深夜福利视频一区二区| 国产成人精品高清不卡在线 | 欧美日韩国产在线观看一区二区三区| 狠狠综合久久| 国产精品免费p区| 亚洲成人免费看| 婷婷丁香在线观看| 日韩午夜伦| 茄子视频毛片免费观看| 国产区在线观看视频| 久草网视频在线| 在线播放国产99re| 国产精品极品美女自在线看免费一区二区| 日韩国产黄色网站| 亚洲视频欧美不卡| 免费A级毛片无码免费视频| 日韩不卡高清视频| 人妻无码中文字幕一区二区三区| 欧美在线黄| 无码免费试看| 98精品全国免费观看视频| 97在线视频免费观看| 精品国产中文一级毛片在线看| 久久永久精品免费视频| 亚洲综合极品香蕉久久网| 亚洲成人动漫在线| 日本午夜在线视频| 五月婷婷欧美| 四虎国产精品永久一区| 欧美啪啪一区| 伊人久久大香线蕉影院| 久久综合色天堂av| 91欧美在线| 欧美全免费aaaaaa特黄在线| 日韩视频精品在线| 99九九成人免费视频精品| 伊人久久婷婷五月综合97色| 波多野结衣久久高清免费| 国产91导航| 欧美三级视频网站| 亚洲视频四区| 国产成人无码AV在线播放动漫 | 久久五月视频| 波多野结衣国产精品| 亚洲第一黄色网址| 黄色一及毛片| 26uuu国产精品视频| 精品91在线| 欧美自拍另类欧美综合图区| 精品91自产拍在线| 被公侵犯人妻少妇一区二区三区| 波多野结衣在线一区二区| 91精品网站| 一级做a爰片久久免费| 亚洲精品你懂的| 好吊妞欧美视频免费| 欧美无遮挡国产欧美另类| 第九色区aⅴ天堂久久香| 亚洲天堂视频在线观看免费| 91免费国产高清观看| 国产无遮挡猛进猛出免费软件| 亚洲中文字幕在线一区播放| 国产精品天干天干在线观看 | 亚洲欧美另类色图| 国产69精品久久| 国产欧美日韩一区二区视频在线| 亚洲制服中文字幕一区二区| 好吊日免费视频| 欧美一级在线看| 精品伊人久久久香线蕉| 伊人久久精品无码麻豆精品| 呦女精品网站| 久久久久国产一区二区|