尹 航 呂佳威,2 陳耀聰,3 岑紅蕾 李景彬 劉雙印,5
(1.仲愷農業工程學院信息科學與技術學院, 廣州 510225; 2.北京市農林科學院信息技術研究中心, 北京 100097;3.廣東省農產品安全大數據工程技術研究中心, 廣州 510225; 4.石河子大學機械電氣工程學院, 石河子 832003;5.仲愷農業工程學院廣州市農產品質量安全溯源信息技術重點實驗室, 廣州 510225)
新疆是我國重要的肉羊養殖基地,其中規模化養殖占比約47.1%,規模化集約化養殖得到快速發展[1]。趙彥超等[2]對新疆地區集約化肉羊養殖環境空氣質量調研時發現,新疆集約化羊舍在夏季和冬季的空氣質量差異巨大,每天不同時段有害氣體濃度也呈顯著變化,隨著集約化程度提高,養殖密度大、有害氣體富聚嚴重影響到羊畜生長與繁衍[3-4],其中舍內空氣齡、CO2濃度是關鍵指標,集約化羊舍內CO2濃度預測極有必要[5-7]。
目前,不同網絡模型已應用于禽畜舍內環境預測[8-12],于此同時,郭昱辰等[13]采用隨機森林進行環境變量重要性排序并以此選擇輸入變量,構建RF-LSTM模型來實現更準確的氨氣濃度預測。目前主要研究基于理化統計和智能算法兩大類模型,理論統計模型需要大量試驗數據支撐,工作量大、預測模型泛化性能不足;智能算法模型多影響因子分析能力強,但是在多種環境因素影響下,往往計算復雜度高、預測實時性較弱[14]。
極限學習機(Extreme learning machine, ELM)屬于單隱含層前饋神經網絡,與傳統神經網絡相比ELM 可以避免陷入局部極值的現象,學習精度及速度均表現優秀[15],已在工業、農業各領域獲得廣泛應用[16-19],并在狀態評估、診斷預測等方面收到良好效果[20-21]。徐龍琴等[22]將極限學習機用于水產養殖領域環境預測,通過ELM對多尺度分解后模態分量分別訓練建模,然后將分量預測結果疊加重構后完成水溫預測,EMD-ELM組合模型具有較高的預測精度和泛化性能;施珮等[23]在此基礎上,采用改進遺傳算法(IGA)優化ELM構建了EMD-IGA-SELM模型,提升了水產養殖溫度預測精度;偏最小二乘算法(Partial least square, PLS)被用于優化ELM網絡中隱含層共線性問題,以保障輸出權值的穩定性,構建SPLS-ELM模型運用到水體溶解氧濃度預測[17]。由于ELM初始輸入權值和閾值具有隨機性,訓練精度和時間受隨機性影響,所以多種智能優化算法被用于ELM優化[24-26]。律方成等[27]使用遺傳算法(Genetic algorithm,GA)優化極限學習機并用于短期電力負荷預測;唐延強等[28]通過改進粒子群算法優化ELM的初始權值及閾值;廖康等[29]使用灰狼優化(Grey wolf optimization, GWO)算法優化極限學習機模型并用于位移預測。XUE等[30]受到麻雀群體覓食和反捕食行為的啟發,提出麻雀搜索算法(Sparrow search algorithm, SSA),并與改進遺傳算法(GA)、粒子群優化算法(Particle swarm optimization, PSO)、灰狼優化算法進行比較,試驗證明其在精度、收斂速度、穩定性和魯棒性上優于其它算法[25];李雅麗等[31]對目前主流的群智能優化算法開展了對比研究,發現SSA算法具有很好的探索全局最優潛在區域的能力,可有效避免局部最優問題;馬晨佩等[32]將SSA算法用于支持向量機(Support vector machine, SVM)的懲罰參數與核參數的優化上,并在軸承故障診斷上獲得優異性能。此外,針對多環境因素影響問題,許國艷等[33]采用分布式梯度提升框架(Light gradient boosting machine, LightGBM)對多環境因素進行特征選擇以簡化多環境因素的影響。
綜上分析,本文選取新疆集約化肉羊養殖環境監測數據作為輸入量,使用極限學習機對CO2質量濃度進行預測。考慮到多環境因素,先用LightGBM特征選擇簡化多環境因素影響,再使用極限學習機對強相關性特征數據進行非線性建模,最后用SSA算法對模型參數進行優化調整,構建LightGBM-SSA-ELM預測模型。同時選擇不同預測模型在真實數據集下進行對比試驗,以驗證提出模型的合理性和預測能效。
本研究以新疆維吾爾自治區昌吉回族自治州瑪納斯新澳畜牧養殖基地(44.27°N,86.10°E)為試驗現場,基地總面積1 367 m2,是一個典型的以薩福克肉羊養殖、育種為主的集約化肉羊養殖基地。試驗數據采集環境選取面積422 m2的半封閉式標準羊舍(長33.75 m,寬12.5 m,均高3.9 m),羊舍按《畜禽養殖小區建設管理規范》設計,四面墻體采用磚混結構,頂面采用鋼板結構,地面采用泥土結構,主要包括主體區域(休息區)、遮陽區域和活動區域(飲食區),各區域間都有可開閉通道,兩側形成空氣對流。在夏季,采用自然通風以及遮陽棚進行避暑;在冬季,則在主體區域進行封閉式養殖,并采用換氣扇通風。試驗對象為薩福克肉羊,試驗羊舍羊只年存欄數約為300只,飼養密度0.19只/m2;飼喂方式為人工定時飼喂,每日上午、下午各投料一次,自由飲水,人工清糞。
考慮現場環境,傳感器選擇在主體區域中心檐下安裝,其中CO2質量濃度傳感器和總懸浮顆粒物質量濃度傳感器距地面2.4 m,其它傳感器距地面3.0~3.1 m,安裝位置如圖1所示。

圖1 試驗區域示意圖Fig.1 Experimental area schematic
為保證不同季節和時段樣本的一致性,選用廣州海睿信息科技有限公司的環境監測設備,包括物聯網傳輸網絡、集線器、溫度傳感器、相對濕度傳感器、CO2質量濃度傳感器、PM2.5質量濃度傳感器、PM10質量濃度傳感器、光照強度傳感器、噪聲傳感器、總懸浮顆粒物質量濃度傳感器和H2S質量濃度傳感器。監測設備的響應時間小于等于30 s、重復性在±2%范圍內、線性誤差在±2%范圍內、零點漂移在±1%范圍內,具體參數如表1所示。

表1 傳感器技術參數Tab.1 Technical data of sensors
本試驗通過安裝在主體區域內的環境監測設備,實時獲取羊舍主體區域環境數據,并傳輸至物聯網監測平臺數據中心,物聯網監測平臺拓撲架構如圖2所示。
試驗采集周期為2021年2月8日至2021年3月26日,采集間隔為10 min,環境數據包括:溫度、相對濕度、噪聲、光照強度、PM2.5質量濃度、PM10質量濃度、總懸浮顆粒物質量濃度、CO2質量濃度和H2S質量濃度,有效樣本數據共計6 640組。有效樣本按照8∶2劃分為訓練集和測試集。采集的羊舍主體區域原始數據(部分)如表2所示。

表2 2021年2月8日—3月26日采集的部分原始數據Tab.2 Partial data collected from February 8 to March 26, 2021
考慮數據采集過程中傳感器故障、傳輸故障等因素,采用插值法、均值平滑法對異常數據進行預處理[8],并對各個變量采用標準化處理器進行歸一化處理。
羊舍中的CO2質量濃度變化具有一定規律性,并受到溫度、相對濕度及多種環境因素的影響,如把所有環境因素都作為特征參數放入模型,會使得網絡結構復雜、性能降低。本研究用基于決策樹的分布式梯度提升框架(LightGBM)來評估特征重要性,以精簡參數[33]。LightGBM是梯度提升決策樹(Gradient boosting decision tree, GBDT)算法的輕量級框架,它利用決策樹迭代訓練得到最優模型,具有訓練效果好、不易過擬合等優點。與極限梯度提升(eXtreme gradient boosting,XGBoost)算法相比,LightGBM使用基于梯度的單邊采樣(Gradient-based one-side sampling,GOSS)算法配合EFB預處理稀疏數據,能夠在不損害準確率的條件下加快GBDT模型的訓練速度[34]。
極限學習機是一種前饋神經網絡,具有良好的泛化性能及快速學習能力[24]。其網絡架構由輸入層、單隱含層和輸出層組成,如圖3所示。

圖3 單隱含層網絡結構圖Fig.3 Single layer hidden layer network
由于網絡架構簡單,在求取網絡輸出權重時只需要計算一個逆,且不需要通過反向傳播來更新網絡模型的權重和偏置參數,因此ELM可以克服傳統神經網絡需要多次迭代學習的缺陷,學習速度快。
對于一個單隱含層網絡,假設給定訓練集為{xi,ti|xi∈RD,ti∈Rm,i=1,2,…,N},其中xi為第i個數據示例,ti為第i個數據示例對應的標記,RD和Rm為所有訓練的數據集合。
則有L個隱含層節點的網絡可以表示為
(1)
式中cj——第j個隱含層節點的輸出
g(·)——激活函數Wi——輸出權重
Xj——輸入的特征矩陣
βi——加權權重
bi——第i個隱含層節點的偏置
通過擬合可減少誤差,其過程可表示為
(2)
式中tj——第j個數據示例對應的標記
即存在βi、Wi和bi使得
(3)
式(3)可寫為矩陣形式,表示為
Hβ=T
(4)
式中H——ELM的隱含層輸出
T——期望
‖H(i,i)i-T‖=min‖H(Wi,bi)βi-T‖
(5)
接著,訓練過程轉為搜索最小二乘解,其中隱含層和輸出之間連接權重β的計算公式為
βmin=‖Hβ-T‖
(6)
其解為
=H+T
(7)
式中βmin—— 最小輸出權重
H+——輸出矩陣H的Moore-Penrose的廣義逆,且求得解的范數最小且唯一
麻雀搜索算法(SSA)[30]是2020年提出的一種智能優化算法,相比遺傳算法、粒子群算法、灰狼算法和引力搜索算法,SSA具有較強的全局搜索能力,在高維函數計算搜索中具有很好的效果,可以有效避免陷入局部最優的問題[31-32]。SSA模擬麻雀覓食過程,將不同個體分為發現者(Discoverer)和追隨者(Follower),發現者積極發現目標,追隨者跟隨發現者,期間有捕食者和警戒者加入。算法流程圖如圖4所示。

圖4 麻雀搜索算法流程圖Fig.4 Flow chart of sparrow search algorithm
首先,將數量為n的麻雀種群表示為
(8)
式中n——群體中麻雀的總數
d——需要優化的維度
則群體中所有麻雀的適應度可表示為
(9)
式中f——不同發現者的適應度
發現者需要為追隨者提供覓食坐標,且所有發現者比追隨者具有更大搜索范圍及能力。根據式(8)、(9),發現者位置更新為
(10)
式中t——當前迭代數
αitermax——最大迭代次數
Xi,j——第i個麻雀在第j維中的位置
ST——安全值,ST∈[0.5,1]
R2——預警值,R2∈[0,1]
L——1×d維矩陣,其所有元素初值都為1
Q——隨機數,滿足正態分布
當R2≥ST時,觸發預警,有麻雀已經發現了捕食者,此時所有麻雀都要離開預警區域;當R2 此時追隨者位置更新為 (11) 其中 A+=AT(AAT)-1 式中Xworst——全局最差位置 A+——逆矩陣 當i>n/2時,表示第i個追隨者需要飛往其他地方搜尋覓食。 為提高模型預測性能,將LightGBM、SSA和ELM模型相互結合,構建基于LightGBM-SSA-ELM的羊舍CO2質量濃度非線性組合預測模型,預測流程圖如圖5所示。首先對采集的環境數據進行預處理和歸一化處理,然后進行重要特征提取,劃分訓練集和測試集,使用麻雀搜索算法優化。 圖5 基于LightGBM-SSA-ELM的CO2質量濃度預測流程圖Fig.5 CO2 concentration prediction flow chart 具體步驟及整體模型流程如下: (1)通過羊舍內置傳感器設備在線采集羊舍環境數據,并實時傳輸至云平臺,導出數據并進行修復。 (2)采用LightGBM對修復后的數據進行重要特征提取,篩選出與CO2質量濃度相關性高的環境因素,并對篩選后的數據進行歸一化處理,按照8∶2劃分為訓練集和測試集。 (3)初始化極限學習機的模型參數后,將訓練集輸入模型中訓練學習,并采用測試集對模型進行測試評分,查看預測精度是否達標,如果達標則模型訓練完成,反之利用麻雀搜索算法對模型參數進行尋優。 為評價羊舍CO2質量濃度預測模型性能,本文選用均方根誤差(RMSE)、平均絕對誤差(MAE)和決定系數(R2)作為主要評價指標。 本試驗以新疆維吾爾自治區昌吉回族自治州瑪納斯縣肉羊集約化養殖基地中的半封閉式標準羊舍中主體區域的CO2質量濃度為研究對象,采用物聯網在線監測平臺,每間隔10 min采集一次數據,將2021年2月8日至2021年3月26日的環境參數(溫度、相對濕度、CO2質量濃度、PM2.5質量濃度、PM10質量濃度、總懸浮顆粒物質量濃度和H2S質量濃度)總計6 640條作為試驗樣本(訓練集和測試集按8∶2劃分),預測主體區域CO2質量濃度。其中基于物聯網采集CO2質量濃度原始數據呈現較明顯的周期性特點,變化曲線如圖6所示。 圖6 CO2質量濃度原始數據變化曲線Fig.6 Variation curve of original CO2 concentration data 試驗環境為I5-6200U、2.3 GHz CPU、8 GB內存、Windows 10系統、Python3.8及Anaconda3集成開發環境,并使用了多種對比模型。其中SVR、BPNN、LSTM、GRU和LightGBM采用了基于Anaconda的Sklearn程序包,ELM模型基于Matlab開發工具箱實現,麻雀優化算法使用Python編寫,初始參數設置種群數量為50、最大迭代次數為10。并對上述模型參數進行尋優,得到基于ELM的羊舍CO2質量濃度預測模型。 采集到的環境參數共計9類,其中部分參數與CO2質量濃度存在較強相關性,為選擇強關聯性特征,試驗將溫度、相對濕度、光照強度、PM2.5質量濃度、PM10質量濃度、總懸浮顆粒物質量濃度和H2S質量濃度等8種參數輸入LightGBM模型,得到各參數對CO2質量濃度影響并進行特征重要性排序,得分如表3所示。 表3 基于LightGBM模型的8種參數特征重要性排序Tab.3 Importance scores of eight parameters based on LightGBM model 從表3可以看出,對CO2質量濃度影響最大的特征參數是光照強度,其次是相對濕度。為選取重要的樣本特征,按排名依次選擇不同數量的參數加入模型,進行對比試驗。對比試驗得到均方根誤差變化曲線如圖7所示。 圖7 不同特征數量時LightGBM均方根誤差變化曲線Fig.7 RMSE variation curve of different characteristic numbers 由圖7可見,選擇特征參數的數量為4時,均方根誤差下降趨勢呈現顯著拐角,即排名前4的特征變量對模型擬合效果影響較大。所以試驗選取排名前4的參數(光照強度、相對濕度、PM2.5質量濃度和溫度)作為模型輸入以降低計算復雜度,并在此基礎上使用麻雀搜索算法進行參數優化,構建基于LightGBM-SSA-ELM的CO2質量濃度預測模型。同時選擇相同參數及優化算法用于SVR、BPNN、LSTM、GRU等對比模型,以驗證算法有效性。 試驗選取極限學習機建立預測模型,對隱含層神經元數在5~65之間按10步長進行遍歷,不同神經元數量下的預測誤差如圖8所示,預測效果如圖9所示。 圖8 不同隱含層神經元數時的預測誤差變化曲線Fig.8 Prediction error of different hidden layer neuron numbers 圖9 不同隱含層神經元數時的預測結果曲線Fig.9 Prediction results of different hidden layer neuron numbers 從圖8b、8c可見,在神經元數量為15和25時,誤差波動更快趨于穩定;從圖9中ELM預測值和實際值變化趨勢可見,當神經元數量為25時(圖9c)預測效果及擬合性能表現最好。 為了對不同神經元結構下模型的預測結果進行定量分析評價,本文采用 RMSE、MAE、R23個指標進行評價,表4為不同數量時ELM預測模型的預測效果。從表4可知,當隱含層神經元數量為25時,RMSE、MAE、R2分別達到0.022 mg/L、0.014 mg/L和0.988,均為最優值;取后6次試驗RMSE均值為0.027 mg/L,MAE均值為0.018 mg/L,R2均值為0.981,接近最優值。從定量分析可見,模型可很好地擬合羊舍內環境因素與CO2質量濃度之間復雜的非線性關系,展現了較好的泛化能力。 表4 不同神經元數量時預測精度分析Tab.4 Accuracy analysis of prediction model with different number of neurons 為驗證特征選擇后的預測效果,試驗選擇不同基礎模型進行對比試驗。ELM、GRU兩種基礎模型以及LightGBM特征選擇后的LightGBM-BPNN、LightGBM-SVR、LightGBM-LSTM、LightGBM-GRU、LightGBM-LightGBM和本文LightGBM-ELM模型在相同數據集下開展試驗,結果如表5所示。 表5 不同模型預測性能對比Tab.5 Accuracy analysis of prediction results of each model 由表5可見,經過LightGBM特征選擇后的LightGBM-ELM和LightGBM-GRU模型表現優于ELM和GRU模型,說明提取重要特征簡化輸入參數,可以提高預測精度;其中本文模型與次優的LightGBM-GRU模型相比,RMSE指標持平,而MAE和R2分別提升了0.04%、3.40%。 為進一步提高預測精度,在上述基礎上使用麻雀搜索算法對LightGBM-ELM和LightGBM-GRU模型進行優化,對ELM的隱含層神經元數、GRU的隱含層神經元數、學習率、批次等分別進行調參優化。 經過SSA優化后LightGBM-ELM模型RMSE、MAE、R2分別為0.021 3 mg/L、0.013 6 mg/L和0.988 6,與SSA優化后的LightGBM-GRU模型相比,RMSE、MAE和R2分別降低了0.93%、4.23%和0.000 5。可見基于LightGBM-ELM的CO2質量濃度預測模型明顯優于ELM和GRU等基礎模型,LightGBM特征選擇可以提高預測精度,SSA優化后的LightGBM-SSA-ELM模型預測精度也高于LightGBM-ELM、LightGBM-GRU和LightGBM-SSA-GRU模型,對采集到的時間序列數據具有較好的預測精度,可用于集約化養殖羊舍中CO2質量濃度預測。 利用LightGBM提取環境數據的重要特征,去除與CO2質量濃度相關性小的環境變量以簡化模型復雜度;使用極限學習機擬合CO2質量濃度與其他環境因子的非線性關系,能夠較準確預測CO2質量濃度;使用麻雀算法探索全局最優潛在區域,能更快地搜尋模型最優參數,可提高模型穩定性和魯棒性。LightGBM-SSA-ELM模型與BPNN、LSTM等模型相比,可有效擬合多環境參數、提高CO2質量濃度預測精度,對集約化肉羊養殖環境預測及精準調控具有積極意義。

2.4 性能評價指標
3 試驗與結果分析
3.1 數據準備

3.2 試驗環境與參數選擇
3.3 特征選擇


3.4 極限學習機仿真



3.5 對比試驗

4 結束語