郭小波,胡坤倫
(河南工程學(xué)院 計(jì)算機(jī)學(xué)院,河南 鄭州 451191)
?
基于Apriori數(shù)據(jù)挖掘技術(shù)的糧情安全預(yù)測(cè)系統(tǒng)的研究與設(shè)計(jì)
郭小波,胡坤倫
(河南工程學(xué)院 計(jì)算機(jī)學(xué)院,河南 鄭州 451191)
摘要:實(shí)現(xiàn)對(duì)糧情安全的預(yù)測(cè)、提高糧情檢測(cè)的實(shí)時(shí)性,是降低糧食發(fā)霉變質(zhì)等事故發(fā)生的重要保障.設(shè)計(jì)了一種基于Apriori數(shù)據(jù)挖掘算法的糧情安全預(yù)測(cè)系統(tǒng),通過(guò)分析挖掘監(jiān)控中心采集到的大量糧倉(cāng)環(huán)境歷史數(shù)據(jù)實(shí)現(xiàn)了精準(zhǔn)預(yù)測(cè),及早發(fā)現(xiàn)了糧倉(cāng)的安全隱患,有效地防止了糧情檢測(cè)不及時(shí)的問(wèn)題.
關(guān)鍵詞:Apriori算法;數(shù)據(jù)挖掘;糧情安全;糧情預(yù)測(cè)
糧食安全事關(guān)國(guó)計(jì)民生,保證糧食的安全儲(chǔ)藏、降低儲(chǔ)藏期的糧食損耗對(duì)保障國(guó)家的糧食安全具有重要意義.糧情安全預(yù)測(cè)系統(tǒng)是保證糧食安全存儲(chǔ)的重要手段[1-2],是采用現(xiàn)代傳感器技術(shù)和信息化技術(shù)構(gòu)建的一個(gè)可以對(duì)糧倉(cāng)實(shí)現(xiàn)全方位環(huán)境信息監(jiān)測(cè)的現(xiàn)代化監(jiān)控預(yù)測(cè)系統(tǒng)[3].
傳統(tǒng)的糧食安全監(jiān)控系統(tǒng)主要依靠單一的傳感器對(duì)糧倉(cāng)的溫度、濕度、氣體濃度等環(huán)境參數(shù)進(jìn)行檢測(cè),進(jìn)而判斷糧食儲(chǔ)藏是否發(fā)生了安全問(wèn)題[4].文獻(xiàn)[5]提出了一種基于數(shù)據(jù)融合的方法來(lái)實(shí)現(xiàn)對(duì)糧情檢測(cè)系統(tǒng)收集到的溫度和濕度信息進(jìn)行融合處理,然后對(duì)糧情安全進(jìn)行判斷;文獻(xiàn)[6]提出了一種基于ZigBee無(wú)線傳感器網(wǎng)絡(luò)數(shù)據(jù)融合的方法對(duì)傳感器采集到的糧倉(cāng)信息進(jìn)行融合處理,可以直接將溫度和濕度信息轉(zhuǎn)換為糧食安全指標(biāo)數(shù)據(jù),實(shí)現(xiàn)了根據(jù)糧倉(cāng)溫度和濕度信息對(duì)糧情狀態(tài)進(jìn)行智能判斷.但這些方法都只能判斷當(dāng)前情況,無(wú)法提前預(yù)測(cè)糧倉(cāng)糧食的儲(chǔ)藏狀態(tài),往往只能在已經(jīng)發(fā)生了實(shí)質(zhì)性安全事故之后才發(fā)現(xiàn),造成了大量的糧食變質(zhì)損壞[7-9].
在現(xiàn)有的糧情監(jiān)控系統(tǒng)基礎(chǔ)上,基于Apriori算法從糧情監(jiān)控?cái)?shù)據(jù)中挖掘潛在的糧情隱患信息,實(shí)現(xiàn)對(duì)糧倉(cāng)糧情的安全預(yù)測(cè)和危險(xiǎn)評(píng)估,提前預(yù)知該糧倉(cāng)存在的問(wèn)題,進(jìn)而提前采取預(yù)防措施,有效避免了安全問(wèn)題帶來(lái)的糧食損壞[10].
1系統(tǒng)架構(gòu)
1.1硬件
硬件系統(tǒng)主要包括主控計(jì)算機(jī)、主控機(jī)、智能控制柜和分布于糧倉(cāng)的傳感器、動(dòng)作設(shè)備和大氣監(jiān)測(cè)設(shè)備.其中的動(dòng)作設(shè)備主要對(duì)糧倉(cāng)環(huán)境進(jìn)行調(diào)節(jié)和控制,包括電動(dòng)窗和通風(fēng)設(shè)備等的控制[11];大氣監(jiān)測(cè)設(shè)備的功能是監(jiān)控糧倉(cāng)外部的環(huán)境信息,包括溫度和濕度;智能控制柜運(yùn)行控制程序,接收主控機(jī)的命令,實(shí)現(xiàn)對(duì)糧倉(cāng)動(dòng)作設(shè)備的控制,調(diào)節(jié)糧倉(cāng)環(huán)境;主控機(jī)是整個(gè)系統(tǒng)的控制和存儲(chǔ)中心,可將糧倉(cāng)檢測(cè)數(shù)據(jù)進(jìn)行實(shí)時(shí)記錄并保存到主控機(jī)的存儲(chǔ)服務(wù)器上;主控計(jì)算機(jī)與主控機(jī)相連,主要運(yùn)行糧情監(jiān)控人機(jī)交互軟件,實(shí)時(shí)顯示糧倉(cāng)信息,同時(shí)接收糧倉(cāng)管理員的命令并對(duì)糧倉(cāng)動(dòng)作設(shè)備進(jìn)行控制以調(diào)節(jié)糧倉(cāng)環(huán)境[12].
1.2軟件
圖1 基于Apriori算法的糧情安全預(yù)測(cè)系統(tǒng)軟件架構(gòu)Fig.1 Apriori algorithm based food security situation prediction system software architecture
軟件系統(tǒng)是本系統(tǒng)的核心,部署在Linux平臺(tái)上,采用業(yè)界流行的Web三層架構(gòu)模式進(jìn)行設(shè)計(jì),分為UI人機(jī)交互層、業(yè)務(wù)處理層和數(shù)據(jù)庫(kù)存儲(chǔ)訪問(wèn)層3個(gè)部分,整體的軟件架構(gòu)如圖1所示.人機(jī)交互功能采用Jsp動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)設(shè)計(jì)實(shí)現(xiàn),將糧情狀態(tài)信息和監(jiān)控?cái)?shù)據(jù)信息進(jìn)行實(shí)時(shí)動(dòng)態(tài)顯示;業(yè)務(wù)處理層的主要任務(wù)是實(shí)現(xiàn)Apriori算法、基于Apriori算法的糧情安全預(yù)測(cè)及數(shù)據(jù)采集,采用服務(wù)的形式運(yùn)行;服務(wù)器基于Boa開(kāi)源嵌入式服務(wù)器進(jìn)行搭建,為用戶提供Web訪問(wèn)服務(wù)并將其運(yùn)行于主控機(jī)上,采用開(kāi)源數(shù)據(jù)庫(kù)產(chǎn)品MySQL進(jìn)行數(shù)據(jù)、日志等信息的存取.
2Apriori算法
本設(shè)計(jì)主要是通過(guò)Apriori算法來(lái)發(fā)掘糧情狀態(tài)與歷史數(shù)據(jù)的關(guān)聯(lián)性.Apriori算法是一種常用的非常經(jīng)典的數(shù)據(jù)挖掘算法,在目前大型的數(shù)據(jù)分析系統(tǒng)中常被使用.Apriori算法的核心是使用候選項(xiàng)集尋找頻繁項(xiàng)集,它利用頻繁項(xiàng)集性質(zhì)的先驗(yàn)知識(shí),使用一種被稱為逐層搜索的迭代方法,可以利用k項(xiàng)集來(lái)搜索(k+1)項(xiàng)集.首先,遍歷目標(biāo)數(shù)據(jù)庫(kù), 計(jì)算每個(gè)項(xiàng)目的支持度, 記錄每個(gè)項(xiàng)目或?qū)傩缘某霈F(xiàn)次數(shù),收集所有支持度不小于用戶最小支持度的項(xiàng)目,它們構(gòu)成頻繁1-項(xiàng)集L1,之后用L1搜尋L2,用L2搜尋L3,如此進(jìn)行下去,直至找不到頻繁k項(xiàng)集時(shí)算法中止,整個(gè)過(guò)程可以分為連接和剪枝兩步.
(1) 連接步.通過(guò)Lk-1與自身進(jìn)行連接從而產(chǎn)生候選k項(xiàng)集的集合,標(biāo)記為Ck.進(jìn)而通過(guò)剪枝步得到Lk.
(2)剪枝步.Ck是Lk的超集,超集是指集合中的成員可能是頻繁的也可能是不頻繁的,但所有的頻繁集都必須包含在Ck之中.通過(guò)對(duì)數(shù)據(jù)庫(kù)進(jìn)行掃描,首先確定Ck中每個(gè)候選集的相關(guān)數(shù)目,剪掉Ck中的非頻繁項(xiàng)進(jìn)而確定Lk.在該過(guò)程中Ck集合可能很大,容易導(dǎo)致系統(tǒng)運(yùn)行處理花費(fèi)時(shí)間過(guò)多而導(dǎo)致效率下降,可根據(jù)Apriori性質(zhì)對(duì)其壓縮.任何非頻繁的(k-1)項(xiàng)集都不會(huì)是頻繁k項(xiàng)集的子集,根據(jù)Apriori這一性質(zhì),如果一個(gè)候選k項(xiàng)集的(k-1)子集不在Lk-1中,該候選項(xiàng)集也不是頻繁的,可以從Ck中刪除.
3基于Apriori算法的糧倉(cāng)情報(bào)數(shù)據(jù)挖掘系統(tǒng)設(shè)計(jì)
3.1收集信息的預(yù)處理
(1)項(xiàng)集的選擇
并不是所有的關(guān)系數(shù)據(jù)庫(kù)中的記錄信息屬性都可以進(jìn)行數(shù)據(jù)挖掘,例如糧倉(cāng)的名字、地址等,所以要先對(duì)無(wú)關(guān)的屬性進(jìn)行刪除,將糧倉(cāng)的信息參數(shù)如溫度、濕度等可以參與數(shù)據(jù)挖掘的信息保留起來(lái),作為后繼數(shù)據(jù)挖掘的數(shù)據(jù).同時(shí),要把那些意義相同但是屬性名字不同的信息進(jìn)行歸納整理,使之變成利于使用和研究的數(shù)據(jù).
(2)空缺值的處理
數(shù)據(jù)挖掘算法適合于無(wú)空缺值的事務(wù)數(shù)據(jù)庫(kù),可以用平均值法把空缺的值用平均值取代,即對(duì)糧倉(cāng)的某項(xiàng)參數(shù)通過(guò)一段時(shí)間的測(cè)量,最后取其平均值放入空缺項(xiàng)中,或者把那些含有空缺值的記錄行刪除.
(3)字段中的連續(xù)屬性值離散化
連續(xù)屬性離散化的問(wèn)題定義:若I是所有屬性中的一個(gè)連續(xù)屬性,I的值域?yàn)閇a,b], [a,b]上的k個(gè)劃分πk是由k個(gè)區(qū)間構(gòu)成的集合.πk={[a0,a1],[ak-1,ak]},式中a0=a, ak=b.離散化過(guò)程就是在[a,b]上產(chǎn)生k個(gè)劃分的過(guò)程,一次處理一個(gè)屬性,就可以把這個(gè)字段的值映射成一系列連續(xù)的整數(shù),把這些整數(shù)看作Apriori算法中的項(xiàng).
3.2系統(tǒng)模型的設(shè)計(jì)
本系統(tǒng)通過(guò)Apriori算法對(duì)糧倉(cāng)的歷史溫濕度信息進(jìn)行狀態(tài)評(píng)估和信息挖掘,以獲取預(yù)測(cè)關(guān)聯(lián)信息,從而為系統(tǒng)提供決策.通過(guò)配置文件實(shí)現(xiàn)Apriori算法的自動(dòng)配置,生成模塊配置文件,供執(zhí)行體使用.Apriori執(zhí)行體根據(jù)其服務(wù)的業(yè)務(wù)類型選取正確的配置文件并執(zhí)行相應(yīng)的算法,在系統(tǒng)中只要設(shè)計(jì)一個(gè)Apriori算法模塊就可以供多個(gè)業(yè)務(wù)使用,極大地方便了整個(gè)系統(tǒng)的升級(jí),算法的通用性和可維護(hù)性得到保證.基于Apriori數(shù)據(jù)挖掘算法的糧情安全預(yù)測(cè)系統(tǒng)模型如圖2 所示.
圖2 基于Apriori數(shù)據(jù)挖掘的糧情安全預(yù)測(cè)模型Fig.2 Food security situation prediction model based on data mining Apriori
由圖2可以看出,整個(gè)系統(tǒng)數(shù)據(jù)由糧情基礎(chǔ)數(shù)據(jù)庫(kù)系統(tǒng)提供,包括外部環(huán)境數(shù)據(jù)、糧倉(cāng)環(huán)境數(shù)據(jù)、歷史安全事故數(shù)據(jù)、糧情狀態(tài)數(shù)據(jù)4部分,通過(guò)Apriori算法執(zhí)行數(shù)據(jù)信息挖掘找出糧情狀態(tài)數(shù)據(jù)與外部環(huán)境數(shù)據(jù)、糧倉(cāng)環(huán)境數(shù)據(jù)、歷史安全事故數(shù)據(jù)及時(shí)間的關(guān)聯(lián)性,進(jìn)而發(fā)現(xiàn)糧倉(cāng)當(dāng)前潛在的安全風(fēng)險(xiǎn),并對(duì)其進(jìn)行置信度分析,如果置信度高即說(shuō)明糧倉(cāng)當(dāng)前處于該糧情狀態(tài)下的可能性高.
3.3數(shù)據(jù)挖掘系統(tǒng)操作平臺(tái)界面
首先,通過(guò)Web界面選擇挖掘數(shù)據(jù)并進(jìn)行算法配置,運(yùn)行效果見(jiàn)圖3.文中采用的數(shù)據(jù)從黑龍江省肇源農(nóng)場(chǎng)糧倉(cāng)監(jiān)控系統(tǒng)的數(shù)據(jù)庫(kù)(數(shù)據(jù)從2010年1月1日至2015年3月1日,本數(shù)據(jù)時(shí)間長(zhǎng)度對(duì)預(yù)測(cè)的實(shí)驗(yàn)結(jié)果無(wú)影響)中讀取,包括溫度、濕度、氣壓和降水量等信息.實(shí)驗(yàn)中選擇的算法為Apriori算法,可以通過(guò)Web頁(yè)面完成糧情預(yù)測(cè)前的系統(tǒng)配置.
Apriori算法相關(guān)挖掘參數(shù)的設(shè)置頁(yè)面見(jiàn)圖4,對(duì)溫度、濕度、氣壓和降水量等監(jiān)測(cè)數(shù)據(jù)按照設(shè)定的間隔進(jìn)行設(shè)置并進(jìn)行數(shù)據(jù)分段,同時(shí)設(shè)置好數(shù)據(jù)來(lái)源的糧倉(cāng)和糧區(qū)編號(hào).
圖3 糧情安全預(yù)測(cè)系統(tǒng)數(shù)據(jù)和挖掘算法的配置Fig.3 Data food security situation and mining algorithms predict system configuration
圖4 Apriori算法數(shù)據(jù)和相關(guān)挖掘參數(shù)的設(shè)置Fig.4 Apriori algorithm and associated data mining parameter settings
圖5 挖掘結(jié)果Fig.5 Mining results
4實(shí)驗(yàn)與分析
經(jīng)過(guò)以上信息配置,對(duì)相應(yīng)編號(hào)的糧區(qū)和糧倉(cāng)數(shù)據(jù)進(jìn)行挖掘分析,挖掘結(jié)果和預(yù)測(cè)結(jié)果見(jiàn)圖5.圖5中的S表示安全事故等級(jí),等級(jí)越高,表示發(fā)生安全事故的可能性越大.設(shè)置S0到S9共10個(gè)等級(jí),T,A,B,P分別代表溫度、濕度、降水量和氣壓,其中降水量分為10個(gè)等級(jí),分別為B0~B9,其他參數(shù)均分為5個(gè)等級(jí).挖掘結(jié)果顯示,S8和T3,A3,B2的關(guān)聯(lián)性較大,表明處于高溫、高濕度和一般降雨情況下,糧食較容易發(fā)生安全事故,其置信度達(dá)到了18.3%.S9和T2,A4,B3,P2的關(guān)聯(lián)性較強(qiáng),置信度高達(dá)29.4%,表明溫度處于室溫時(shí)候,如果濕度、降水量、氣壓變化較大的時(shí)候,非常容易爆發(fā)高安全事故的糧食安全問(wèn)題.使用本系統(tǒng)綜合挖掘得到關(guān)聯(lián)度聯(lián)合時(shí)間變化的預(yù)測(cè)結(jié)果顯示,最近一個(gè)月內(nèi)該糧倉(cāng)發(fā)生大于S6等級(jí)的安全事故的可能性高達(dá)56.1%,并且這些安全事故由溫度和濕度過(guò)高引發(fā)的可能性較大.同時(shí),還得到了近十天發(fā)生安全事故的等級(jí)為S3,其可能性為42.11%,該事故也是由溫度和濕度引起的,所以管理員可以根據(jù)這些結(jié)果適當(dāng)調(diào)整糧倉(cāng)的溫度和濕度,使溫濕度處于合理的范圍,防止糧倉(cāng)發(fā)生安全事故.
綜上所述,使用本系統(tǒng)可以很好地對(duì)近期的糧情安全事故進(jìn)行預(yù)測(cè),能夠基于Apriori算法挖掘出可能導(dǎo)致該事故的原因,進(jìn)而可以方便糧倉(cāng)管理員做好預(yù)防工作.
5結(jié)語(yǔ)
在傳統(tǒng)的糧情安全監(jiān)控系統(tǒng)的基礎(chǔ)上設(shè)計(jì)了基于Apriori數(shù)據(jù)挖掘技術(shù)的糧情安全預(yù)測(cè)系統(tǒng),通過(guò)Apriori算法執(zhí)行數(shù)據(jù)信息挖掘,找出糧情狀態(tài)與外部環(huán)境數(shù)據(jù)、糧倉(cāng)環(huán)境數(shù)據(jù)和歷史安全事故數(shù)據(jù)及時(shí)間的關(guān)聯(lián)性,發(fā)現(xiàn)糧倉(cāng)當(dāng)前潛在的風(fēng)險(xiǎn),進(jìn)而對(duì)糧倉(cāng)安全問(wèn)題進(jìn)行預(yù)測(cè),以便提前采取防范措施,防止糧食安全事故的發(fā)生,對(duì)提高糧食存儲(chǔ)的安全性具有非常重要的意義.
參考文獻(xiàn):
[1]龐海鋒,蒙艷玫,唐治宏,等.糧情智能測(cè)控系統(tǒng)中的數(shù)據(jù)融合技術(shù)研究[J].測(cè)控技術(shù),2014(6):36-39.
[2]孔李軍.基于信息融合的糧情測(cè)控系統(tǒng)智能決策技術(shù)應(yīng)用研究[D].鄭州:河南工業(yè)大學(xué),2010.
[3]甘典文.基于ZigBee/GPRS的無(wú)線糧情遠(yuǎn)程數(shù)據(jù)傳輸終端的研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2011.
[4]Chen S,Kozuch M,Strigkos T,et al.Flexible hardware acceleration for instruction-grain program monitoring[J].ACM SIGARCH Computer Architecture News,2012,36(3):377-388..
[5]鐘志杰.基于“云外包”模式的糧情測(cè)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].合肥:安徽大學(xué),2014.
[6]SCOTT P M.Multi-year monitoring of Canadian grains and grain-based foods for trichothecenes and zearalenone[J].Food Additives & Contaminants,1997,14(4):333-339.
[7]甄彤,馬志,張秋聞.多傳感器信息融合技術(shù)在糧情測(cè)控中的應(yīng)用[J].河南工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2013(4):56-59.
[8]吳建軍,張強(qiáng),鄒東堯.基于粒子群的神經(jīng)網(wǎng)絡(luò)改進(jìn)算法在糧情測(cè)控中的研究[J].河南工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2009(4):68-71.
[9]常青.物聯(lián)網(wǎng)環(huán)境下的糧倉(cāng)環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[D].西安:電子科技大學(xué),2012.
[10]王婧.基于粒子群優(yōu)化算法的糧情控制智能決策系統(tǒng)[D].鄭州:河南工業(yè)大學(xué),2011.
[11]張馳.基于無(wú)線傳感網(wǎng)絡(luò)的糧情在線監(jiān)測(cè)系統(tǒng)關(guān)鍵技術(shù)研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2012.
[12]徐鵬.糧情監(jiān)控?cái)?shù)據(jù)無(wú)線傳輸系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)[D].大連:大連海事大學(xué),2010.
Research and design of food security situation prediction system based on Apriori data mining algorithm
GUO Xiaobo,HU Kunlun
(CollegeofComputer,HenanUniversityofEngineering,Zhengzhou451191,China)
Abstract:The achievement of food security situation and the prediction of grain situation to improve real-time detection are important safeguard to reduce moldy food and other accidents. To solve this problem, we proposed and designed a data mining system based on Apriori algorithm to predict food security situation, and analyzed a lot of historical data collected from the monitoring center of barn environment, then achieved food security situation for accurate prediction. The system can detect security risks of the grain in the barn, thus effectively avoid the problem of food situation cannot be detected timely.
Key words:Apriori algorithm; data mining; food security situation; grain situation prediction
中圖分類號(hào):S161.6
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1674-330X(2016)01-0074-04
作者簡(jiǎn)介:郭小波(1980-),男,河南新安人,講師,碩士,主要研究方向?yàn)槟J阶R(shí)別、人工智能與數(shù)據(jù)挖掘.
基金項(xiàng)目:河南省科技攻關(guān)計(jì)劃項(xiàng)目(122102310441)
收稿日期:2015-10-15