趙 剛,饒 元,王 文,姜 敏,江朝暉
(安徽農(nóng)業(yè)大學(xué)信息與計(jì)算機(jī)學(xué)院,合肥 230036)
農(nóng)業(yè)物聯(lián)網(wǎng)系統(tǒng)已成為農(nóng)業(yè)大數(shù)據(jù)最重要的數(shù)據(jù)源之一[1]。通過將具有感知、通信和計(jì)算能力的微型傳感器部署應(yīng)用于農(nóng)業(yè)生產(chǎn)管理中,全面、準(zhǔn)確、高效地監(jiān)測土壤-植物-大氣連續(xù)體,能夠有效推進(jìn)“互聯(lián)網(wǎng)+”現(xiàn)代農(nóng)業(yè)行動(dòng),為精準(zhǔn)農(nóng)業(yè)的實(shí)現(xiàn)提供重要支撐[2-3]。農(nóng)業(yè)物聯(lián)網(wǎng)設(shè)備往往長期工作在復(fù)雜的生產(chǎn)環(huán)境中,受設(shè)備制造技術(shù)、工藝與成本以及網(wǎng)絡(luò)傳輸?shù)挠绊懀瑪?shù)據(jù)收集過程中不可避免地產(chǎn)生遠(yuǎn)離序列一般水平的極大值或極小值,即異常數(shù)據(jù)[4-5]。如何實(shí)時(shí)有效地檢測異常數(shù)據(jù),保證采集的原始數(shù)據(jù)質(zhì)量是開展高價(jià)值農(nóng)業(yè)生產(chǎn)分析和實(shí)現(xiàn)物聯(lián)網(wǎng)設(shè)備智能調(diào)控的根本前提。
Lo 等[6]提出一種基于分布式模型的非線性傳感器異常診斷算法,具有較高的檢測率,且開銷低于集中式算法。Lude?a-Choez 等[7]提出基于非負(fù)矩陣分解的機(jī)器學(xué)習(xí)方法提取農(nóng)業(yè)土壤墑情數(shù)據(jù)特征,再使用邏輯回歸和支持向量機(jī)進(jìn)行訓(xùn)練和檢測,性能優(yōu)于基于主成分分析和多尺度主成分分析的檢測模型。通過建立回歸模型來檢測異常數(shù)據(jù)得到了研究者們的廣泛關(guān)注。段青玲等[8]采用滑動(dòng)窗口機(jī)制動(dòng)態(tài)更新訓(xùn)練數(shù)據(jù)集構(gòu)建基于支持向量回歸的畜禽養(yǎng)殖物聯(lián)網(wǎng)數(shù)據(jù)預(yù)測模型,通過比較預(yù)測數(shù)據(jù)和實(shí)際數(shù)據(jù)的差異判斷是否出現(xiàn)異常。但該方法中預(yù)測模型與異常值判斷區(qū)間的頻繁更新造成計(jì)算開銷較大,且異常數(shù)據(jù)的判斷條件較為復(fù)雜。新興的長短期記憶模型能夠很好地捕獲到數(shù)據(jù)在時(shí)間維度上的關(guān)聯(lián)[9],但模型需要大量的訓(xùn)練數(shù)據(jù)集,實(shí)用性較差。
Zidi 等[10]將4 個(gè)傳感器節(jié)點(diǎn)的短時(shí)段歷史數(shù)據(jù)聚合成新觀測向量,通過訓(xùn)練高斯核支持向量機(jī)SVM(support vector machine)進(jìn)行異常數(shù)據(jù)檢測,取得了較好的效果。Noshad 等[11]將2 個(gè)空氣溫度和2 個(gè)空氣濕度傳感器的3 次連續(xù)采樣數(shù)據(jù)聚合成新觀測向量,結(jié)果表明隨機(jī)森林RF(random forest)模型的異常檢測能力優(yōu)于高斯核SVM。然而,以上方法尚存在不足:未對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,模型的異常數(shù)據(jù)檢測效果對數(shù)據(jù)取值范圍較為敏感;將多項(xiàng)數(shù)據(jù)聚合為新觀測向量后,異常數(shù)據(jù)的準(zhǔn)確定位存在困難;數(shù)據(jù)集發(fā)生變化時(shí),隨機(jī)森林RF 和高斯核SVM 均需重新調(diào)參、工作量較大。
受到成本、電源供給等因素制約,農(nóng)情傳感器大規(guī)模應(yīng)用部署較為困難。實(shí)際農(nóng)業(yè)生產(chǎn)中存在稀疏采樣的需求,即選取少量代表性站點(diǎn)、較大采樣間隔進(jìn)行數(shù)據(jù)采集[12]。本研究以單傳感器數(shù)據(jù)異常檢測研究為切入點(diǎn),提出基于數(shù)據(jù)向量升維的農(nóng)情異常數(shù)據(jù)檢測方法,探索數(shù)據(jù)預(yù)處理與升維方法、采樣間隔對異常檢測效果的影響,比較分析不同分類模型之間檢測性能的差異,為實(shí)現(xiàn)農(nóng)情數(shù)據(jù)的高質(zhì)量感知提供參考。
實(shí)驗(yàn)數(shù)據(jù)來自安徽省合肥市長豐縣生態(tài)農(nóng)場,自2018 年10 月起部署傳感器節(jié)點(diǎn)不間斷監(jiān)測農(nóng)場羊圈內(nèi)環(huán)境信息,采樣間隔為5 min。取2019 年6月10 日至30 日共21 d(504 h,6 048 數(shù)據(jù)點(diǎn))時(shí)間段內(nèi)空氣相對濕度AirRH(air relative humidity)、CO2濃度、NH3濃度和H2S 濃度觀測數(shù)據(jù)(圖1)。受農(nóng)場的生產(chǎn)習(xí)性與天氣影響,農(nóng)場養(yǎng)殖大棚內(nèi)夜間的空氣濕度、CO2濃度、NH3濃度以及H2S 濃度較高,而午間監(jiān)測數(shù)據(jù)均會有不同程度的降低。為系統(tǒng)地評估提出方法的性能,以7 d 數(shù)據(jù)為步長,采用2 組連續(xù)14 d 數(shù)據(jù)進(jìn)行實(shí)驗(yàn),每組數(shù)據(jù)中前7 d數(shù)據(jù)作為訓(xùn)練集,后7 d 數(shù)據(jù)作為測試集進(jìn)行異常數(shù)據(jù)檢測模型的訓(xùn)練和性能驗(yàn)證。
圖1 實(shí)驗(yàn)數(shù)據(jù)Figure 1 Experimental data
設(shè)某傳感器節(jié)點(diǎn)在某時(shí)刻共采集到L個(gè)時(shí)序數(shù)據(jù)D{x1,… ,xt,… ,xL}。若以大小為N、步長為1 的滑動(dòng)窗口對數(shù)據(jù)集進(jìn)行轉(zhuǎn)換,可得L-N+1組觀測向量。N若取2,則觀測向量集為{(x1,x2),…,(xt,xt+1),…,(xL-1,xL)}。如圖2 所示,該觀測向量在二維空間中線性不可分,采用高斯核支持向量機(jī)則可得到數(shù)據(jù)在高維空間下的分割超平面,紅線內(nèi)外分別為正常值和異常值。然而,該模型泛化能力較差,會將后期采集到值為200 的正常數(shù)據(jù)判斷為異常值(圖2中標(biāo)為New Point 點(diǎn))。
圖2 高斯核SVM 的異常數(shù)據(jù)檢測效果Figure 2 Gaussian Kernel-based outlier detection
圖3 基于向量升維的異常數(shù)據(jù)檢測Figure 3 Vector-dimension-increase-based outlier detection
訓(xùn)練向量集構(gòu)建與升維步驟如下:
首先,將各傳感器采樣的數(shù)據(jù)集通過線性標(biāo)準(zhǔn)化處理映射到同一區(qū)間。
異常數(shù)據(jù)實(shí)時(shí)檢測向量的構(gòu)建與升維步驟為:對接收到的數(shù)據(jù)與歷史最近的N-1個(gè)數(shù)據(jù)點(diǎn),采用訓(xùn)練數(shù)據(jù)集的最大值和最小值按式(1)進(jìn)行標(biāo)準(zhǔn)化處理,消除實(shí)時(shí)數(shù)據(jù)流最大、最小值抖動(dòng)造成異常檢測結(jié)果的不穩(wěn)定。然后將標(biāo)準(zhǔn)化后的數(shù)據(jù)轉(zhuǎn)換為觀測向量并升維:
基于向量升維的異常數(shù)據(jù)實(shí)時(shí)檢測框架如圖4所示。傳感器節(jié)點(diǎn)負(fù)責(zé)數(shù)據(jù)采樣并發(fā)往服務(wù)器。服務(wù)器端負(fù)責(zé)數(shù)據(jù)接收、執(zhí)行模型訓(xùn)練與異常檢測。模型訓(xùn)練流程如下:取前一周采集數(shù)據(jù),按設(shè)定比例和偏離幅度向數(shù)據(jù)集中隨機(jī)插入異常數(shù)據(jù),構(gòu)建訓(xùn)練向量集并升維,最后訓(xùn)練分類模型以得到異常數(shù)據(jù)檢測模型。下一周數(shù)據(jù)采集時(shí),應(yīng)用該模型進(jìn)行異常數(shù)據(jù)實(shí)時(shí)檢測。本研究采用的分類模型有線性核、高斯核支持向量機(jī) SVM 以及隨機(jī)森林RF[13-15]。下文若未特別說明,默認(rèn)采用線性核SVM。
在異常數(shù)據(jù)實(shí)時(shí)檢測過程中,服務(wù)器端對來自傳感器節(jié)點(diǎn)的最新數(shù)據(jù)與歷史最近N-1個(gè)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,構(gòu)建實(shí)時(shí)檢測向量并進(jìn)行升維,最后傳入模型中檢測異常。如果被判斷為正常數(shù)據(jù)則保存該最新數(shù)據(jù),否則進(jìn)行異常值校正后再保存。當(dāng)數(shù)據(jù)采集時(shí)長滿一周后重新訓(xùn)練模型。異常值校正方法可采用回歸模型預(yù)測、均值替換法等方法[16]。
本研究采用精確度(precision)、召回率(recall)和F1-Score 等指標(biāo)評估模型的異常檢測能力[17-18],公式分別為:
其中,TP是正確分類為異常數(shù)據(jù)的個(gè)數(shù),TN是正確分類為正常數(shù)據(jù)的個(gè)數(shù),F(xiàn)P是錯(cuò)誤分類為異常數(shù)據(jù)的個(gè)數(shù),F(xiàn)N是錯(cuò)誤分類為正常數(shù)據(jù)的個(gè)數(shù)。
精確度、召回率分別是正確分類為異常數(shù)據(jù)的個(gè)數(shù)與所有分類為異常數(shù)據(jù)、實(shí)際異常數(shù)據(jù)個(gè)數(shù)的比值。除異常數(shù)據(jù)檢測能力外,檢測所需的計(jì)算耗時(shí)也是模型能否滿足實(shí)際應(yīng)用需求的重要因素[19]。
圖4 基于向量升維的異常數(shù)據(jù)實(shí)時(shí)檢測框架Figure 4 Framework of real-time outlier detection based on vector dimension increase
實(shí)驗(yàn)采用Python 語言編程,系統(tǒng)配置為Intel Core i5、8GB RAM 和Windows 10 操作系統(tǒng)。主要研究不同窗口大小、常規(guī)和稀疏采樣場景下不同異常值比例和偏離幅度對模型檢測效果的影響,以甄選出最佳窗口大小、分析模型對不同數(shù)據(jù)集的異常檢測敏感度。在此基礎(chǔ)上,對比分析不同分類模型的性能。為模擬不同的異常值偏離幅度,按照式(8)分別向訓(xùn)練和測試數(shù)據(jù)集中添加異常數(shù)據(jù):
其中,'tx和tx為某項(xiàng)監(jiān)測數(shù)據(jù)的訓(xùn)練集/測試集同一數(shù)據(jù)點(diǎn)修改前后的值,xmaxtrain、xmintrain為該項(xiàng)監(jiān)測數(shù)據(jù)訓(xùn)練集中的最大值和最小值,η為異常值偏離幅度。
圖5 不同窗口大小下異常數(shù)據(jù)檢測性能Figure 5 Outlier detection under various window
初步實(shí)驗(yàn)表明畜禽養(yǎng)殖環(huán)境下,訓(xùn)練集采樣間隔為5 min 時(shí)(常規(guī)采樣)異常數(shù)據(jù)比例為7%、偏離幅度區(qū)間為[10%,30%]時(shí),采樣間隔為50 min 時(shí)(稀疏采樣)異常數(shù)據(jù)比例為13%、偏離幅度區(qū)間為[30%,60%]時(shí),訓(xùn)練得到的線性核SVM 模型泛化能力較強(qiáng)。實(shí)驗(yàn)表明所提出的基于向量升維的異常數(shù)據(jù)實(shí)時(shí)檢測方法具有較高的穩(wěn)定性,兩組實(shí)驗(yàn)的異常數(shù)據(jù)檢測等性能均較為接近,下列各節(jié)實(shí)驗(yàn)結(jié)果取兩組實(shí)驗(yàn)的平均值。
測試集中異常值比例為3%和7%、偏離幅度區(qū)間為[10%,30%]。從圖5 可得,對于空氣濕度數(shù)據(jù),模型的異常數(shù)據(jù)檢測精確度、召回率和F1 分?jǐn)?shù)均接近于100%。CO2和NH3濃度數(shù)據(jù)中,模型的異常檢測F1 分?jǐn)?shù)在窗口大小為2 時(shí)接近于100%,但隨著窗口大小的增加,數(shù)據(jù)變化量的累計(jì)效應(yīng)造成模型異常檢測精確度顯著下降,造成F1 分?jǐn)?shù)呈現(xiàn)下降趨勢。H2S 濃度數(shù)據(jù)的異常檢測F1 分?jǐn)?shù)明顯低于其他數(shù)據(jù),這是由于H2S 濃度數(shù)據(jù)波動(dòng)性較大。此外,盡管H2S 數(shù)據(jù)的異常檢測精確度接近于100%,但隨著窗口大小的增加,異常數(shù)據(jù)易被誤檢為正常,使得其召回率低于80%。對于聚合數(shù)據(jù),模型的異常檢測效果不穩(wěn)定,當(dāng)窗口大小為5 時(shí)F1分?jǐn)?shù)突降。窗口大小為2 時(shí),同類數(shù)據(jù)在不同異常占比下F1 分?jǐn)?shù)差距最小。故數(shù)據(jù)獨(dú)立檢測比數(shù)據(jù)聚合檢測有著更優(yōu)的檢測效果。
圖6 不同窗口大小下模型計(jì)算耗時(shí)Figure 6 Computation cost under various window
如圖6 所示,模型檢測耗時(shí)受異常值比例影響較小。較大的數(shù)據(jù)量導(dǎo)致聚合數(shù)據(jù)的異常檢測耗時(shí)明顯高于其他單項(xiàng)數(shù)據(jù)檢測方式。數(shù)據(jù)檢測耗時(shí)整體與窗口大小呈正相關(guān),窗口大小為2 時(shí)模型總耗時(shí)最低,2 016 個(gè)數(shù)據(jù)點(diǎn)的單項(xiàng)數(shù)據(jù)的檢測總耗時(shí)低于2 ms,平均單次檢測耗時(shí)小于0.001 ms,能夠滿足異常數(shù)據(jù)檢測的實(shí)時(shí)性要求。因此,綜合考慮模型的異常數(shù)據(jù)檢測能力、計(jì)算耗時(shí)等因素,可知:獨(dú)立進(jìn)行異常數(shù)據(jù)檢測,窗口大小取2 系較為理想的方案。
常規(guī)采樣場景下異常數(shù)據(jù)比例為7%、偏離幅度區(qū)間位于[10%,100%]時(shí),模型對各類數(shù)據(jù)中存在異常數(shù)據(jù)的檢測結(jié)果如圖7(a)所示??諝鉂穸取O2濃度和NH3濃度數(shù)據(jù)在3 個(gè)偏離幅度下的模型異常檢測F1 分?jǐn)?shù)均達(dá)到99%以上,此時(shí)異常檢測精確度均為100%,但部分異常數(shù)據(jù)被誤檢為正常從而導(dǎo)致召回率略有劣化,為98.8%。對于H2S 數(shù)據(jù),當(dāng)異常值偏離幅度較小[10%,30%]時(shí)低至82.3%的召回率使得F1 分?jǐn)?shù)顯著下降;當(dāng)偏離幅度大于30%時(shí)精確度達(dá)100%、召回率為97.8%,獲得了99.26%的F1 分?jǐn)?shù)。因此,常規(guī)采樣場景下,震蕩幅度較為平緩的空氣濕度、CO2濃度和NH3濃度數(shù)據(jù),模型能夠成功地將偏離幅度大于10%的異常值檢出,而對于震蕩劇烈的H2S 濃度數(shù)據(jù),模型對偏離幅度大于30%的異常值才能達(dá)到較好的檢測效果。
由于稀疏采樣時(shí)獲得的數(shù)據(jù)點(diǎn)較少且數(shù)據(jù)間波動(dòng)幅度大,使得小幅偏離數(shù)據(jù)與正常數(shù)據(jù)間難以區(qū)分,稀疏采樣時(shí)的異常值檢測性能略差于常規(guī)采樣。圖7(b)為稀疏采樣場景下異常數(shù)據(jù)比例為13%、偏離幅度大于30%時(shí),模型對數(shù)據(jù)中存在異常值的檢測結(jié)果。從圖中F1 分?jǐn)?shù)來看,模型在空氣濕度和NH3濃度數(shù)據(jù)間的異常檢測效果無顯著差異,對CO2濃度數(shù)據(jù)異常檢測性能略次于前兩者。其中空氣濕度數(shù)據(jù)中出現(xiàn)召回率劣化,而在CO2濃度和NH3濃度數(shù)據(jù)中精確度和召回率均出現(xiàn)下降,但其精確度和召回率分別保持在83.2%和90.1%以上。稀疏采樣時(shí)相鄰采樣點(diǎn)的H2S 濃度數(shù)據(jù)之間抖動(dòng)更大,當(dāng)異常值偏離幅度大于60%時(shí)F1 分?jǐn)?shù)才達(dá)到92.6%,精確度和召回率分別為98.3%和87.5%。對稀疏采樣得到與圖7(a)中常規(guī)采樣相同的數(shù)據(jù)量進(jìn)行向量升維、模型訓(xùn)練和異常數(shù)據(jù)檢測,結(jié)果表明異常檢測精度明顯劣于圖7(a)。故模型的異常檢測性能與異常值偏離幅度正相關(guān)、與數(shù)據(jù)采樣間隔負(fù)相關(guān)。
異常值偏離幅度區(qū)間為[30%,60%],考察模型對包含不同比例異常數(shù)據(jù)的檢測性能。圖8(a)為常規(guī)采樣場景下不同異常值比例下的檢測F1 分?jǐn)?shù)。對于同一數(shù)據(jù),模型的異常檢測F1 分?jǐn)?shù)未呈現(xiàn)顯著變化。具體地,4 種數(shù)據(jù)中模型的異常檢測F1 分?jǐn)?shù)均達(dá)到98.57%以上,空氣濕度和CO2濃度數(shù)據(jù)中模型的異常檢測效果優(yōu)于NH3濃度和H2S 濃度數(shù)據(jù)。4 種數(shù)據(jù)中異常值召回率在98%~100%之間波動(dòng)。對于NH3濃度數(shù)據(jù),初始時(shí)其檢測精確度與異常值比例呈正相關(guān),當(dāng)異常值比例上升到6%后趨于穩(wěn)定。在空氣濕度、CO2濃度和H2S 濃度數(shù)據(jù)的異常檢測中,精確度始終為100%,模型的異常檢測F1 分?jǐn)?shù)主要受召回率影響。
圖7 不同異常值偏離幅度下模型檢測結(jié)果Figure 7 Detection results under different outlier amplitude
圖8 不同異常值比例下模型檢測結(jié)果Figure 8 Detection results under different outlier ratios
圖9 不同模型的異常數(shù)據(jù)檢測性能Figure 9 Outlier detection results of different models
圖10 不同模型的異常數(shù)據(jù)檢測耗時(shí)Figure 10 Computation cost of different model
稀疏采樣場景下模型對異常數(shù)據(jù)檢測的F1 分?jǐn)?shù)如圖8(b)所示。盡管異常檢測效果劣于常規(guī)采樣場景,不同異常值比例下模型的異常檢測效果均較為穩(wěn)定。空氣濕度、NH3濃度數(shù)據(jù)中F1 分?jǐn)?shù)均值高于93.6%,CO2濃度數(shù)據(jù)的平均F1 分?jǐn)?shù)為90.9%,H2S 濃度數(shù)據(jù)的F1 分?jǐn)?shù)最差,均值為74.1%。具體地,對空氣濕度和H2S 濃度數(shù)據(jù),模型的異常值檢測精確度保持在100%,CO2濃度、NH3濃度數(shù)據(jù)中異常值檢測精確度隨異常值占比的增加而緩慢上升。與常規(guī)采樣相比,稀疏采樣后異常值甄別難度更大,尤其在H2S 濃度數(shù)據(jù)的異常檢測中,模型易將偏離幅度小的異常數(shù)據(jù)判斷為正常,其中平均召回率僅為54.5%,但未隨異常值比例的改變呈現(xiàn)顯著變化。
分析觀測向量升維前后線性核、高斯核SVM和隨機(jī)森林RF 的異常數(shù)據(jù)檢測性能。初步實(shí)驗(yàn)得高斯核SVM 模型中g(shù)amma 和懲罰系數(shù)分別取2 和1,RF 模型中樹及其最大深度分別取10 和5 較為合適。測試集中常規(guī)采樣場景下空氣濕度、CO2濃度和NH3 濃度數(shù)據(jù)異常值比例為7%、偏離幅度區(qū)間為[10%,30%],H2S 濃度數(shù)據(jù)異常值比例為7%、偏離幅度區(qū)間為[30%,60%]。稀疏采樣數(shù)據(jù)空氣濕度、CO2濃度和NH3濃度數(shù)據(jù)中異常值比例為13%、偏離幅度區(qū)間為[30%,60%],H2S 濃度數(shù)據(jù)中異常值比例為7%、偏離幅度區(qū)間為[60%,100%]。
常規(guī)和稀疏采樣2 種場景下不同模型的異常數(shù)據(jù)檢測性能如圖9 所示。在常規(guī)采樣場景下空氣濕度、CO2濃度和NH3濃度數(shù)據(jù)的異常檢測中,數(shù)據(jù)升維后的線性核SVM 模型和RF模型表現(xiàn)出較好的檢測性能,其中線性核SVM 模型的異常檢測F1 分?jǐn)?shù)均在99.1%以上,CO2濃度數(shù)據(jù)中的異常檢測F1分?jǐn)?shù)達(dá)到了99.4%。在稀疏采樣的空氣濕度、CO2濃度和NH3濃度數(shù)據(jù)異常檢測中,升維+線性核模型的異常檢測F1 分?jǐn)?shù)分別為:98.6%、97.4%和97.5%,均優(yōu)于其他模型。這3 組數(shù)據(jù)中,升維+線性核SVM 模型的F1 分?jǐn)?shù)損失在于模型將個(gè)別異常值誤檢為正常從而導(dǎo)致召回率下降,其他模型的F1分?jǐn)?shù)損失主要來自于精確度。對于常規(guī)采樣場景下H2S 濃度數(shù)據(jù)的異常檢測,除未升維+RF 模型外,其他模型都表現(xiàn)出較好的檢測性能,F(xiàn)1 分?jǐn)?shù)均達(dá)到99.1%以上。稀疏采樣的H2S 濃度數(shù)據(jù),5 種模型的檢測效果差距較小,其中數(shù)據(jù)升維后的線性核SVM模型和RF 模型效果最好,F(xiàn)1 分?jǐn)?shù)均在92.6%以上。
總體上,采用向量升維策略后,模型對異常數(shù)據(jù)的檢測能力均得到了不同程度的提升。其中,RF模型在數(shù)據(jù)升維后異常檢測能力的提升最為顯著,而高斯核SVM 模型的檢測能力提升程度有限。這表明在進(jìn)行向量升維后,無需采用高斯核再次將數(shù)據(jù)向高維空間映射。另一方面,對于空氣濕度、CO2和NH3 濃度數(shù)據(jù),線性核SVM 模型展現(xiàn)了最優(yōu)的異常數(shù)據(jù)檢測能力。在H2S 濃度數(shù)據(jù)的異常檢測中,線性核SVM 擁有優(yōu)于或與高斯核SVM 模型、RF模型相當(dāng)?shù)漠惓?shù)據(jù)檢測性能。
各分類模型在兩種采樣場景下的異常數(shù)據(jù)檢測耗時(shí)如圖10 所示。由圖10(a),對于常規(guī)采樣數(shù)據(jù),高斯核SVM 模型的檢測總耗時(shí)明顯高于其他模型,而線性核SVM 模型耗時(shí)最短,在空氣濕度、CO2濃度、NH3濃度和H2S 濃度的異常數(shù)據(jù)檢測中,2016 個(gè)數(shù)據(jù)點(diǎn)的檢測總耗時(shí)小于1.5 ms,單個(gè)數(shù)據(jù)點(diǎn)的檢測耗時(shí)低于7.44╳10-4ms。在圖10(b)所示的稀疏采樣場景下各模型的異常數(shù)據(jù)檢測耗時(shí)中,高斯核SVM、RF 模型的異常檢測耗時(shí)均明顯高于線性核SVM 模型。綜上,對于農(nóng)情數(shù)據(jù)的異常檢測,線性核SVM 模型在檢測能力和耗時(shí)兩個(gè)方面均優(yōu)于同類模型,具有最優(yōu)的適用性。
異常數(shù)據(jù)處理是提高農(nóng)業(yè)物聯(lián)網(wǎng)數(shù)據(jù)感知質(zhì)量的重要手段。本研究提出了基于向量升維的農(nóng)情異常數(shù)據(jù)實(shí)時(shí)檢測方法,采用畜禽養(yǎng)殖物聯(lián)網(wǎng)環(huán)境數(shù)據(jù),綜合評估了其異常數(shù)據(jù)檢測性能與特征。
實(shí)驗(yàn)結(jié)果表明,通過將時(shí)序農(nóng)情數(shù)據(jù)標(biāo)準(zhǔn)化、向量轉(zhuǎn)換與升維操作后,支持向量機(jī)、隨機(jī)森林等分類模型的異常數(shù)據(jù)檢測能力均得到明顯提升。由于向量升維處理后的數(shù)據(jù)線性可分,采用線性核支持向量機(jī)能夠以低計(jì)算耗時(shí)獲得較優(yōu)的異常數(shù)據(jù)檢測效果,且避免了高斯核支持向量機(jī)等模型訓(xùn)練時(shí)需要多次確定超參數(shù)、泛化能力的不足的問題。
實(shí)驗(yàn)發(fā)現(xiàn),異常檢測效果與異常值出現(xiàn)頻度基本無關(guān),但與數(shù)據(jù)波動(dòng)性和采樣間隔負(fù)相關(guān)、與異常值偏離幅度正相關(guān)。相同的目標(biāo)數(shù)據(jù)集,對于震蕩幅度較為平緩的數(shù)據(jù),采樣間隔為5 min 時(shí),模型對偏離幅度大于10%的異常數(shù)據(jù)檢測精確度和召回率分別可達(dá)100%和98.8%;采樣間隔增加到50 min 的稀疏采樣時(shí),模型對偏離幅度大于30%的異常數(shù)據(jù)檢測精確度和召回率達(dá)83.2%和90.1%以上。而對于波動(dòng)性較強(qiáng)的數(shù)據(jù),兩種采樣間隔下,模型對偏離幅度大于30%、60%的異常數(shù)據(jù)檢測精確度和召回率分別為100%和97.8%、98.3%和87.5%。
本研究的實(shí)驗(yàn)數(shù)據(jù)與大田、溫室大棚等農(nóng)業(yè)生產(chǎn)環(huán)境和作物生長數(shù)據(jù)具有相似的變化特征,故所提出的農(nóng)情異常數(shù)據(jù)實(shí)時(shí)檢測方法與結(jié)論可直接應(yīng)用于大田、溫室大棚等其他農(nóng)業(yè)生產(chǎn)場景下相關(guān)數(shù)據(jù)的異常值檢測以提高數(shù)據(jù)感知質(zhì)量,具有較好的實(shí)際應(yīng)用價(jià)值。后續(xù)將開展異常值校正方法的研究,為進(jìn)一步提升農(nóng)情數(shù)據(jù)的感知質(zhì)量提供支撐。