王飛鴻
(國(guó)立政治大學(xué),中國(guó)臺(tái)北 11656)
目前,我國(guó)正在大力推進(jìn)智能農(nóng)業(yè)的發(fā)展,將物聯(lián)網(wǎng)技術(shù)應(yīng)用于農(nóng)業(yè)生產(chǎn)的各個(gè)領(lǐng)域,將其優(yōu)勢(shì)發(fā)揮到極致,例如,通過遠(yuǎn)程實(shí)時(shí)監(jiān)測(cè)和管理農(nóng)產(chǎn)品的環(huán)境因子,可以大大提高我國(guó)農(nóng)業(yè)的現(xiàn)代化水平。但在數(shù)據(jù)傳送過程中,可能出現(xiàn)數(shù)據(jù)不正常或丟失的狀況,或在傳送時(shí)出現(xiàn)一系列的數(shù)據(jù)空白,必須對(duì)該缺失值進(jìn)行數(shù)據(jù)補(bǔ)充。對(duì)缺失值的預(yù)測(cè)不但能保證數(shù)據(jù)的可靠性和完整性,而且還能為后續(xù)的數(shù)據(jù)處理及分析提供全面的數(shù)據(jù)基礎(chǔ)。
針對(duì)當(dāng)前的物聯(lián)網(wǎng)系統(tǒng)框架,結(jié)合當(dāng)前的農(nóng)業(yè)工業(yè)系統(tǒng),將其分為5 個(gè)層級(jí)。自下而上劃分為感知層、接入層、網(wǎng)絡(luò)層、數(shù)據(jù)層和應(yīng)用層,農(nóng)業(yè)物聯(lián)網(wǎng)架構(gòu)如圖1 所示[1]。
圖1 農(nóng)業(yè)物聯(lián)網(wǎng)架構(gòu)
數(shù)據(jù)的異常檢測(cè),可以分為異常點(diǎn)檢測(cè)、新穎點(diǎn)檢測(cè)、偏差檢測(cè)、離群點(diǎn)檢測(cè)以及隔離點(diǎn)檢測(cè)。數(shù)據(jù)丟失、不正常數(shù)據(jù)等均屬于異常情況[2]。所謂“數(shù)據(jù)丟失”就是在獲取的時(shí)候,因?yàn)槟承┮蛩囟チ诵畔?。在?shí)際中,因?yàn)橐恍┨厥庖蛩兀瑫?huì)出現(xiàn)遺漏信息的現(xiàn)象,造成數(shù)據(jù)丟失的因素很多,主要有以下幾種。在農(nóng)業(yè)領(lǐng)域中,數(shù)據(jù)的傳遞會(huì)造成信息的滯后,從而導(dǎo)致信息不能及時(shí)地進(jìn)行更新。數(shù)據(jù)的遺漏有一定的主觀原因,比如因?yàn)樽?cè)的人不小心,忽略了數(shù)據(jù)的錄入,也有一些客觀原因,比如裝置發(fā)生了問題,比如終端的電源不足,又比如被其他的無(wú)線電信號(hào)所影響,導(dǎo)致了數(shù)據(jù)的遺失和差錯(cuò),從而忽略了信息。一些特性不能被使用,或被主觀地視為無(wú)用。
在進(jìn)行異常檢測(cè)時(shí),目標(biāo)是發(fā)現(xiàn)數(shù)據(jù)集與其他數(shù)據(jù)或異常數(shù)據(jù)有何區(qū)別。通常,數(shù)據(jù)異常檢測(cè)算法按照檢測(cè)方法分為4 種:基于統(tǒng)計(jì)的異常檢測(cè)算法、基于聚類的異常檢測(cè)算法、基于密度的異常檢測(cè)算法、基于距離的異常檢測(cè)算法。
利用統(tǒng)計(jì)技術(shù)對(duì)異常數(shù)據(jù)進(jìn)行檢測(cè),首先建立一個(gè)隨機(jī)的概率分布模型,它可以是正態(tài)分布或者是泊松分布,然后計(jì)算集上的每一個(gè)符合模型數(shù)據(jù)的概率,在列出了這些概率后,將部分概率較低的數(shù)據(jù)判定為異常數(shù)據(jù)。利用聚類技術(shù)對(duì)離群點(diǎn)進(jìn)行識(shí)別,聚類是把具有相似性的數(shù)據(jù)分成不同的類別,經(jīng)過聚類運(yùn)算,當(dāng)有異常數(shù)據(jù)時(shí),會(huì)發(fā)現(xiàn)有一個(gè)或多個(gè)集群的樣本數(shù)據(jù)非常稀少,并且與其他集群的平均偏差也有很大的差別[3]?;诰嚯x的異常探測(cè)技術(shù),首先需確定數(shù)據(jù)間的距離,然后計(jì)算出數(shù)據(jù)的間距,如果距離接近,就是普通的數(shù)據(jù),當(dāng)距離超過一定的范圍時(shí),就會(huì)被稱為“離群點(diǎn)”。距離異常檢測(cè)雖然簡(jiǎn)單,但與其他方法相比,其耗時(shí)更長(zhǎng)。利用密度對(duì)異常數(shù)據(jù)進(jìn)行探測(cè),是以距離為基礎(chǔ),通過將各點(diǎn)間的間距與數(shù)量相結(jié)合,得到的數(shù)據(jù)密度?;诿芏鹊漠惓z測(cè)方法可以很好地識(shí)別局部異常,但由于這種方法是基于距離的異常檢測(cè),其計(jì)算復(fù)雜度較高。
缺少了數(shù)據(jù),就會(huì)造成有價(jià)值數(shù)據(jù)的損失,無(wú)法保證分析的完整性和可靠性,從而影響到后續(xù)的數(shù)據(jù)信息分析。其次可能會(huì)導(dǎo)致計(jì)算過程出現(xiàn)混亂,計(jì)算結(jié)果錯(cuò)誤。因此,有必要對(duì)丟失的數(shù)據(jù)進(jìn)行相應(yīng)的處理,關(guān)于缺失值的處理方法有以下幾種。直接刪除,將丟失的數(shù)據(jù)中的相應(yīng)屬性剔除,從而獲得沒有遺漏的信息。不做處理,只保存有數(shù)據(jù)遺漏的信息表格,不采取其他操作。預(yù)測(cè)值插補(bǔ)能夠利用自身和其它傳感器節(jié)點(diǎn)的數(shù)據(jù),對(duì)該缺失的數(shù)據(jù)進(jìn)行預(yù)測(cè),從而完成補(bǔ)值[4]。
均值插補(bǔ)是用一組數(shù)據(jù)中最常發(fā)生的數(shù)據(jù)來填補(bǔ)遺漏數(shù)據(jù)。有學(xué)者提出用平均相似性來對(duì)其進(jìn)行間接信任,用平均相似性對(duì)其進(jìn)行計(jì)算,其信任度是用平均法直接計(jì)算的,當(dāng)專家的信任度與平均值相近時(shí),其可信程度就會(huì)增加。這種方法在填補(bǔ)缺失值時(shí),由于不能確定標(biāo)準(zhǔn)偏差的大小,如果標(biāo)準(zhǔn)偏差很大,會(huì)造成很大的偏差。
從現(xiàn)有數(shù)據(jù)中隨機(jī)選取同一性質(zhì)的數(shù)據(jù),進(jìn)行遺漏數(shù)據(jù)的填補(bǔ)。有學(xué)者將LIN 算法與MR 方法相結(jié)合,提出了基于同一屬性的LIN 算法,并將LIN 算法與MR 方法相結(jié)合,LIN 算法是通過與該缺失值的鄰接時(shí)間相對(duì)應(yīng)的值,來預(yù)測(cè)目前的缺失值。由于時(shí)間上的差異較大,這種方法的計(jì)算結(jié)果也會(huì)有很大的偏差,而且該方法需要依賴于時(shí)間和空間上的數(shù)據(jù),因而對(duì)時(shí)間和數(shù)據(jù)的依賴程度很高。
通過采用多元線性回歸,建立了丟失數(shù)據(jù)與其他數(shù)據(jù)的聯(lián)系,并通過迭代逐步減小目標(biāo)與實(shí)際值的偏差,實(shí)現(xiàn)了對(duì)缺失數(shù)據(jù)的補(bǔ)充。MR 算法是一種基于多變量線性回歸的方法,該算法利用鄰近接觸點(diǎn)的數(shù)據(jù),采用多元線性回歸法對(duì)目前的缺失值進(jìn)行預(yù)測(cè)。KMRA 方法將空間和時(shí)間屬性結(jié)合起來,采用時(shí)間屬性和空間屬性的KNN 方法對(duì)其進(jìn)行評(píng)估,然后將兩個(gè)屬性的預(yù)測(cè)值統(tǒng)一起來。在采用多元線性回歸方法進(jìn)行空間屬性計(jì)算時(shí),由于要確定節(jié)點(diǎn)的數(shù)量和位置,會(huì)導(dǎo)致計(jì)算工作量偏大。
馬田系統(tǒng)在農(nóng)業(yè)物聯(lián)網(wǎng)中的應(yīng)用,利用馬氏距離對(duì)正常和非正常樣本進(jìn)行馬氏抽樣,然后利用正交表和信噪比對(duì)特征參數(shù)進(jìn)行篩選,實(shí)現(xiàn)了對(duì)數(shù)據(jù)的降維,并利用f 極大值法求出了閾值[5]。提出了一種基于農(nóng)業(yè)物聯(lián)網(wǎng)的異常數(shù)據(jù)分類標(biāo)準(zhǔn),并建立了一個(gè)農(nóng)業(yè)異常數(shù)據(jù)檢測(cè)系統(tǒng),為有異常情況的數(shù)據(jù)進(jìn)行相應(yīng)的補(bǔ)強(qiáng)。馬田系統(tǒng)包括了馬氏距離法和田口法。馬氏距離不僅是一種測(cè)量距離的方法,也是一種用來描述數(shù)據(jù)之間的協(xié)方差距離的方法。這是考慮到了各屬性間的相互關(guān)系,而不涉及數(shù)據(jù)的計(jì)量單元。馬氏距離是用來區(qū)別正常和異常的,在馬氏空間中使用田口法的正交表和信噪比,從而得到最優(yōu)的特征值,減少后續(xù)計(jì)算的復(fù)雜性。在馬氏空間中,對(duì)異常和常規(guī)數(shù)據(jù)分別進(jìn)行閾值分割,在出現(xiàn)新的樣本數(shù)據(jù)時(shí),可以根據(jù)已有的門限,對(duì)其進(jìn)行分類和預(yù)測(cè)。在馬田系統(tǒng)中,對(duì)異常數(shù)據(jù)進(jìn)行了分割,在不信任的情況下,對(duì)不可信的異常進(jìn)行了補(bǔ)足[6]。
因?yàn)轳R氏空間是用普通的樣本來構(gòu)造的,因此馬氏空間的有效性還有待驗(yàn)證,如果馬氏空間可以分辨出正常和不正常的數(shù)據(jù),就說明這個(gè)馬氏空間是有效的,否則就必須重建。在進(jìn)行馬氏空間驗(yàn)證時(shí),首先要對(duì)異常數(shù)據(jù)的馬氏距離進(jìn)行平均,然后將其與馬氏距離平均值進(jìn)行對(duì)比,若馬氏間距高于正常值,則表示馬氏空間的建立是可行的。在對(duì)馬氏距離進(jìn)行計(jì)算時(shí),使用的采樣平均值和標(biāo)準(zhǔn)偏差都是通過正常的采樣獲得的。馬氏空間對(duì)異常數(shù)據(jù)進(jìn)行了規(guī)范化處理,并采用馬氏空間的施密特正交化方法構(gòu)造了異常數(shù)據(jù)。若馬氏空間比異常值馬氏空間小得多,則表明馬氏空間是有效的,否則要重建馬氏空間,重新選取樣本數(shù)據(jù)。
選取的所有初始變數(shù),并非全部都參與了異常檢測(cè),因此在建立馬氏空間后,需要對(duì)馬氏空間進(jìn)行優(yōu)化,這樣既可以減少數(shù)據(jù)維度,又可以減少后續(xù)運(yùn)算的復(fù)雜性。信噪比既可以對(duì)篩選后的特征變量進(jìn)行可靠度、魯棒性評(píng)估,也可以對(duì)篩選出的特征變量進(jìn)行功能評(píng)估。在評(píng)估異常數(shù)據(jù)時(shí),對(duì)于不熟悉的數(shù)據(jù),與一般數(shù)據(jù)的偏差愈大,愈有利于數(shù)據(jù)的識(shí)別。信息增益值愈大,表示此特性變項(xiàng)在馬氏數(shù)據(jù)分類及判別上的作用愈大,故應(yīng)依據(jù)資訊增益值,選取具有較高貢獻(xiàn)的特征量,建立馬氏空間,從而實(shí)現(xiàn)數(shù)據(jù)降維。
在利用馬田系統(tǒng)進(jìn)行數(shù)據(jù)分析之前,首先要對(duì)原始數(shù)據(jù)進(jìn)行處理,然后再利用該系統(tǒng)的特征矢量。在采集到的農(nóng)業(yè)數(shù)據(jù)中,將各傳感器節(jié)點(diǎn)所獲得的數(shù)據(jù)視為多維系統(tǒng),因此,可以將從農(nóng)業(yè)物聯(lián)網(wǎng)獲取的數(shù)據(jù)視為一組多維的數(shù)據(jù)。利用馬氏系統(tǒng)的時(shí)序數(shù)據(jù),選取土壤溫度、土壤濕度、風(fēng)速、空氣濕度、空氣濕度、光照強(qiáng)度、氣壓等七個(gè)參數(shù),對(duì)農(nóng)業(yè)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析。這個(gè)樣本的特征是指在正常條件下,農(nóng)業(yè)作物的生長(zhǎng)需要的外界條件。程序采用python 編程,采用施密特正交表對(duì)7 個(gè)特征變量進(jìn)行了歸一化,得出馬氏距離為1 左右。
在作物生長(zhǎng)的條件中,環(huán)境因素對(duì)作物的生長(zhǎng)有很大的影響。正常情況下,莊稼都可以正常地生長(zhǎng),但是如果出現(xiàn)了異常,很有可能會(huì)導(dǎo)致莊稼的死亡。在此基礎(chǔ)上,采用人工方法對(duì)非正常狀態(tài)進(jìn)行仿真,從而對(duì)農(nóng)業(yè)生產(chǎn)造成一定的影響。為了讓數(shù)據(jù)恢復(fù)到真實(shí)的狀態(tài),可以通過仿真數(shù)據(jù)采集、終端節(jié)點(diǎn)斷電、攻擊節(jié)點(diǎn)、發(fā)送數(shù)據(jù)超時(shí)等方式。選擇50 個(gè)異常的數(shù)據(jù),異常樣本的馬氏間距為7.366,即異常樣本的馬氏距離比正常樣本的馬氏間距要大得多,可見用普通樣本建立馬氏空間的方法是可行的。然而,如果馬氏距離和正常馬氏距離之間的差距很小,就必須重新選取正常的數(shù)據(jù),以建立馬氏空間[7]。
對(duì)于丟失的數(shù)據(jù),采用 ARIMA 算法進(jìn)行時(shí)間屬性的補(bǔ)漏,并根據(jù)以往的歷史數(shù)據(jù)進(jìn)行補(bǔ)漏;另外,給出了基于 MLRTA 的信任屬性補(bǔ)足方法,并通過信任節(jié)點(diǎn)的數(shù)據(jù)來彌補(bǔ)目前的缺損。最后,將時(shí)間的補(bǔ)充性與信任的補(bǔ)充性相結(jié)合,利用權(quán)重的分布來實(shí)現(xiàn)。與LIN、 KMRA 進(jìn)行了比較,結(jié)果表明,ARIMA-MLRTA 方法的錯(cuò)誤率較低,精度較高。
在農(nóng)業(yè)物聯(lián)網(wǎng)中,經(jīng)常會(huì)發(fā)生一些數(shù)據(jù)不正常的現(xiàn)象,在進(jìn)行無(wú)線通信時(shí),終端節(jié)點(diǎn)可能會(huì)因?yàn)榫W(wǎng)絡(luò)本身的特性,或是網(wǎng)絡(luò)的部署環(huán)境,產(chǎn)生這種現(xiàn)象。在農(nóng)業(yè)物聯(lián)網(wǎng)領(lǐng)域,存在著因電池電量限制、無(wú)線干擾等突發(fā)事件而造成的數(shù)據(jù)異常、丟失等問題。因此,如何對(duì)監(jiān)測(cè)樣本進(jìn)行異常數(shù)據(jù)檢測(cè),并對(duì)異常數(shù)據(jù)以及丟失數(shù)據(jù)進(jìn)行補(bǔ)值是非常必要的。