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ī)則”計算和預測某一菜品銷量的好壞,并計算出不同的素菜-素菜、素菜-葷菜之間的銷量關聯(lián)性。最后使用Python編程,用Apriori算法進一步挖掘菜品間的銷售關聯(lián)。

關鍵詞: 時間序列分析; ARMA模型; R語言; 關聯(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ì)及服務質(zhì)量。本文用時間序列分析、關聯(lián)規(guī)則挖掘等算法,研究了用餐人次的變化規(guī)律,并初步預測了每種菜品銷量的漲落。Apriori算法是關聯(lián)規(guī)則學習的一種算法,本文基于此研究了不同菜品之間最強的銷量關聯(lián)性。

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

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

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

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中的結果。

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

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

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

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

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)分布,相關信息已被模型提取。

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

2 菜品銷量漲落的預測

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

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

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

pred<-function(x,k) {

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

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

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 #預測下一期的值是1

else #否則值是0

pred[i]<-0 }

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

真實值誤差絕對值的均值

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

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

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

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

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

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

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

findud<-function(v) { #定義一個“銷售相關性”函數(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中菜品之間的關聯(lián)性,本著銷量關聯(lián)性“越大越好”的原則,可見c11與c13、c13與c14、c13與c16、c14與c15、c15與c16之間的關聯(lián)性較高,達0.875。

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

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

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

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

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

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

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

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

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

4 結束語

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

參考文獻(References):

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

出版社,2015.

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

版社,2016.

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

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

[4] 陳堰平,邱怡軒.R語言編程藝術(第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算法進行關聯(lián)分析》[EB/OL].http://

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

2015-10-12.

主站蜘蛛池模板: 91精品综合| 性视频一区| 亚洲成在线观看 | 国产浮力第一页永久地址| a毛片免费观看| 日韩在线1| 2021国产v亚洲v天堂无码| 国产精品熟女亚洲AV麻豆| 亚洲一区精品视频在线| 夜精品a一区二区三区| 一级片免费网站| 精品国产www| 国产在线视频欧美亚综合| 毛片国产精品完整版| 国产亚洲一区二区三区在线| 中文字幕乱码中文乱码51精品| 综合色亚洲| 国产亚洲美日韩AV中文字幕无码成人 | AV熟女乱| 在线观看免费人成视频色快速| 亚洲永久精品ww47国产| 亚洲天堂在线视频| 精品日韩亚洲欧美高清a| 久久免费看片| 狠狠ⅴ日韩v欧美v天堂| 丁香五月婷婷激情基地| 中文字幕第1页在线播| 91成人精品视频| 国产欧美视频综合二区| 波多野结衣一二三| 91麻豆国产视频| 久久久久久久久18禁秘| 久久综合成人| 国产精品区网红主播在线观看| 55夜色66夜色国产精品视频| 精品无码一区二区三区在线视频| 国产精品极品美女自在线网站| 91在线无码精品秘九色APP| 日本亚洲欧美在线| 在线不卡免费视频| 国产久操视频| 国产精品一区在线麻豆| 亚洲欧美在线综合图区| 五月天久久婷婷| 中文字幕欧美日韩| 国产一区二区福利| 国产福利免费在线观看 | 三级毛片在线播放| 麻豆精品在线视频| 99在线小视频| 亚洲日韩精品伊甸| 爱色欧美亚洲综合图区| 全部免费特黄特色大片视频| 香蕉久久国产超碰青草| 亚洲侵犯无码网址在线观看| 亚洲第一黄片大全| 国产精品高清国产三级囯产AV| 亚洲an第二区国产精品| 人妻少妇乱子伦精品无码专区毛片| 成人一区在线| 欧美日本在线播放| 大学生久久香蕉国产线观看| 亚洲电影天堂在线国语对白| 亚洲成A人V欧美综合| 日本免费精品| 午夜免费小视频| 女人18毛片一级毛片在线 | 综合久久五月天| 午夜综合网| 91成人免费观看| 国产成人91精品| 先锋资源久久| 午夜啪啪网| 一级毛片在线免费视频| 欧美日韩国产在线观看一区二区三区 | аv天堂最新中文在线| 99在线视频精品| 国产精品短篇二区| 操美女免费网站| 国内精品91| 亚洲人成网站色7799在线播放| 国产精品国产主播在线观看|