福建省莆田市荔城區(qū)拱辰街道辦事處 鄭志良
數(shù)據(jù)清洗對(duì)農(nóng)業(yè)機(jī)械大數(shù)據(jù)平臺(tái)的有效應(yīng)用具有積極意義[1]。為提升數(shù)據(jù)清洗的精準(zhǔn)性和實(shí)效性,有必要對(duì)農(nóng)業(yè)機(jī)械大數(shù)據(jù)清洗算法進(jìn)行研究。本文在分析農(nóng)業(yè)機(jī)械數(shù)據(jù)異常情況的基礎(chǔ)上,提出了基于滑動(dòng)窗口的在線清洗算法,并通過(guò)試驗(yàn)驗(yàn)證了算法的有效性,以期為農(nóng)業(yè)機(jī)械大數(shù)據(jù)平臺(tái)的有效運(yùn)行及數(shù)據(jù)的精準(zhǔn)應(yīng)用提供參考與借鑒。
根據(jù)既有研究成果分析,本文將農(nóng)業(yè)機(jī)械數(shù)據(jù)異常定義為在農(nóng)業(yè)機(jī)械使用過(guò)程中的某個(gè)時(shí)間節(jié)點(diǎn),服務(wù)器接收到的數(shù)據(jù)及其中的某數(shù)據(jù)要素,出現(xiàn)不完整、不精準(zhǔn)等情況[2]。農(nóng)業(yè)機(jī)械的運(yùn)行條件較為復(fù)雜,在實(shí)際工作中,田間環(huán)境會(huì)對(duì)機(jī)械傳感器的檢測(cè)精度產(chǎn)生影響,表現(xiàn)為數(shù)據(jù)離散、缺失等;作業(yè)過(guò)程中的粉塵會(huì)對(duì)傳感器的檢測(cè)精度產(chǎn)生影響,表現(xiàn)為數(shù)據(jù)抖動(dòng)等;農(nóng)業(yè)機(jī)械發(fā)動(dòng)機(jī)及供電系統(tǒng)的不穩(wěn)定性會(huì)對(duì)傳感器檢測(cè)精度產(chǎn)生影響,表現(xiàn)為數(shù)據(jù)丟失、抖動(dòng)等;農(nóng)業(yè)機(jī)械具體工作環(huán)境中的網(wǎng)絡(luò)信號(hào)、電磁信號(hào),對(duì)數(shù)據(jù)傳輸產(chǎn)生干擾,表現(xiàn)為數(shù)據(jù)傳輸延時(shí)等[3]。
需要說(shuō)明的是,本文討論的農(nóng)業(yè)機(jī)械數(shù)據(jù)異常的情況,不包括作業(yè)環(huán)境合理變化導(dǎo)致的數(shù)據(jù)波動(dòng)。
為實(shí)現(xiàn)農(nóng)業(yè)機(jī)械大數(shù)據(jù)在線清洗,基于農(nóng)業(yè)機(jī)械作業(yè)數(shù)據(jù)特征(以數(shù)值型為主),確定大數(shù)據(jù)在線清洗算法為滑動(dòng)窗口法,其流程為數(shù)據(jù)異常識(shí)別—生成候選修正數(shù)據(jù)—候選修正數(shù)據(jù)的迭代修正。
在數(shù)據(jù)異常動(dòng)態(tài)識(shí)別過(guò)程中,先對(duì)數(shù)據(jù)對(duì)應(yīng)的窗口區(qū)間進(jìn)行方差檢驗(yàn),通過(guò)窗口滑動(dòng),可實(shí)現(xiàn)數(shù)據(jù)異常的動(dòng)態(tài)識(shí)別,公式表示為:
式中,Di表示窗口;表示窗口中數(shù)據(jù)的平均值;dij表示窗口Di中的第j個(gè)數(shù)據(jù);w表示數(shù)據(jù)個(gè)數(shù);δ(Di)表示窗口的方差。
在實(shí)際計(jì)算過(guò)程中,若δ(Di)小于或等于選取的方差閾值,則原始數(shù)據(jù)集第i個(gè)數(shù)據(jù)為正常數(shù)據(jù);若δ(Di)大于選取的方差閾值,則原始數(shù)據(jù)集第i個(gè)數(shù)據(jù)為異常數(shù)據(jù)[4]。
若確定數(shù)據(jù)為異常數(shù)據(jù),則對(duì)其進(jìn)行原始解求解,并生成候選數(shù)據(jù)集,公式表示為:
式中,di1表示窗口Di中的第1個(gè)數(shù)據(jù);diw表示窗口Di中的第w個(gè)數(shù)據(jù);x表示異常數(shù)據(jù);v表示選取方差閾值[5]。
通過(guò)求解計(jì)算,可以得到候選修正數(shù)據(jù),公式表示為:
在對(duì)候選修正數(shù)據(jù)進(jìn)行迭代修正時(shí),應(yīng)用AR模型或ARX模型[6],對(duì)候選數(shù)據(jù)進(jìn)行修正。
AR模型表示為:
式中,γ★i表示最終修復(fù)值;C表示常量;m表示階數(shù);Φk表示AR模型參數(shù);εi表示白噪聲點(diǎn)。
ARX模型表示為:
公式(4)和公式(5)中的Φk與m可以通過(guò)數(shù)學(xué)統(tǒng)計(jì)進(jìn)行估算。
基于此,應(yīng)對(duì)樣本數(shù)據(jù)集的協(xié)方差函數(shù)進(jìn)行Yule—Walker方程計(jì)算[7],公式表示為:
式中,β0、β1、…βp分別表示樣本數(shù)據(jù)集的協(xié)方差函數(shù)。
將上述函數(shù)轉(zhuǎn)換為矩陣形式表示為:
公式(7)中的矩陣Ap為對(duì)稱(chēng)可逆矩陣,所以可以得出下式:
通過(guò)Φk的計(jì)算,可以得出Φ(p)的第p個(gè)分量Φpp(偏相關(guān)函數(shù))。
在迭代計(jì)算過(guò)程中,直至前后2次迭代的γ′i小于閾值時(shí),停止迭代[8]。
選擇2018~2021年某省農(nóng)機(jī)保護(hù)性耕作等8類(lèi)型的作業(yè)數(shù)據(jù),數(shù)據(jù)規(guī)模超過(guò)1×109,農(nóng)機(jī)數(shù)據(jù)基本信息如表1所示。
表1 農(nóng)機(jī)數(shù)據(jù)基本信息
結(jié)合具體農(nóng)業(yè)機(jī)械作業(yè)數(shù)據(jù)情況和表1內(nèi)容,確定試驗(yàn)環(huán)境:計(jì)算機(jī)CPU應(yīng)用Inteli7;內(nèi)存為32GB;ZooKeeper組建為3.4.6;操作系統(tǒng)為CentOS7.0。
為提升數(shù)據(jù)修復(fù)的有效性,對(duì)本研究方法的數(shù)據(jù)修復(fù)有效性進(jìn)行評(píng)價(jià),公式表示為:
式中,n表示異常數(shù)據(jù)個(gè)數(shù);γ★i表示修復(fù)后的異常數(shù)據(jù);ERMSE表示均方根誤差。在具體試驗(yàn)中,首先選取具有一定規(guī)模和代表性的正常數(shù)據(jù),通過(guò)人工的方式,對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。其次,按照一定比例,對(duì)正常數(shù)據(jù)進(jìn)行異?;幚?。最后,將正常數(shù)據(jù)標(biāo)記為1,異常數(shù)據(jù)標(biāo)記為0[8]。將預(yù)處理后的數(shù)據(jù)作為試驗(yàn)數(shù)據(jù)集,通過(guò)算法完成對(duì)數(shù)據(jù)的清洗,在取得各評(píng)價(jià)指標(biāo)平均值后,對(duì)數(shù)據(jù)進(jìn)行分析。
選擇不同規(guī)模的試驗(yàn)數(shù)據(jù)集,在數(shù)據(jù)預(yù)處理過(guò)程中,將5%的數(shù)據(jù)修改為正常,窗口大小設(shè)置為100,階數(shù)設(shè)置為4,閾值設(shè)置為0.1。為提高試驗(yàn)的有效性,對(duì)每一個(gè)規(guī)模水平下的試驗(yàn)次數(shù)設(shè)置為3次,分別對(duì)修正處理的精確率、數(shù)據(jù)召回率、綜合型指標(biāo)、均方根誤差的平均值進(jìn)行取值。圖1(a)為異常數(shù)據(jù)識(shí)別指標(biāo);(b)為均方根誤差與數(shù)據(jù)規(guī)模關(guān)系。
圖1 異常數(shù)據(jù)識(shí)別指標(biāo)、均方根誤差與數(shù)據(jù)規(guī)模關(guān)系
圖1(a)分析可知,精確率、綜合性指標(biāo)隨數(shù)據(jù)量的增加而增加,當(dāng)數(shù)據(jù)規(guī)模達(dá)到1×105條時(shí),精確率在0.94左右[8],且趨于穩(wěn)定,這表明本研究算法在大規(guī)模數(shù)據(jù)集清洗中具備良好的數(shù)據(jù)異常識(shí)別功能。
圖2(b)分析可知,在數(shù)據(jù)規(guī)模不斷增加的情況下,3種算法的均方根誤差值均減小,且在達(dá)到一定數(shù)據(jù)規(guī)模后,趨于穩(wěn)定。與Holistic、SWAB[9]算法相比,本文算法的均方根誤差始終較小,這表明本研究算法的數(shù)據(jù)修正效果良好。
為進(jìn)一步驗(yàn)證本研究算法的有效性,對(duì)本文算法、Holistic算法、SWAB算法進(jìn)行數(shù)據(jù)異常率與均方根誤差關(guān)系試驗(yàn)分析。在試驗(yàn)過(guò)程中,選取1×105條規(guī)模的數(shù)據(jù)集,窗口大小設(shè)置為100,階數(shù)設(shè)置為4,閾值設(shè)置為0.1[9]。數(shù)據(jù)異常率不斷提升的情況下,3種算法的均方根誤差也逐漸增大。但與Holistic、SWAB算法相比,本文算法的均方根誤差始終較小,這表明本文算法在數(shù)據(jù)異常修正方面具有精準(zhǔn)性,且在數(shù)據(jù)異常越率低的情況下,本文算法的數(shù)據(jù)異常修正精準(zhǔn)性越高。
農(nóng)業(yè)機(jī)械大數(shù)據(jù)平臺(tái)的應(yīng)用是全力推進(jìn)農(nóng)業(yè)現(xiàn)代化發(fā)展的基礎(chǔ)和保障內(nèi)容。為提升農(nóng)業(yè)機(jī)械數(shù)據(jù)使用的可靠性和精準(zhǔn)性,有必要對(duì)農(nóng)業(yè)機(jī)械大數(shù)據(jù)清洗算法進(jìn)行深度研究。本文以實(shí)踐應(yīng)用為視角,闡述了農(nóng)業(yè)機(jī)械數(shù)據(jù)異常的主要原因和具體表現(xiàn),并結(jié)合農(nóng)業(yè)機(jī)械作業(yè)特征,以數(shù)據(jù)最小變動(dòng)性為原則,提出了基于滑動(dòng)窗口的數(shù)據(jù)清洗算法,而且對(duì)提出的算法進(jìn)行試驗(yàn)分析,并與Holistic、SWAB算法進(jìn)行對(duì)比分析,以驗(yàn)證本文提出的算法的有效性。結(jié)果表明:本研究算法在大規(guī)模數(shù)據(jù)集清洗中具備良好的數(shù)據(jù)異常識(shí)別功能;數(shù)據(jù)修正效果良好;在數(shù)據(jù)異常修正方面具有精準(zhǔn)性,且在數(shù)據(jù)異常率越低的情況下,本文算法的數(shù)據(jù)異常修正精準(zhǔn)性越高。