楊靖峰, 劉志良, 沈艷妍
(天津市農(nóng)業(yè)發(fā)展服務(wù)中心,天津 300061)
目前土壤墑情預(yù)測模型的研究主要分為2 類。一類是基于土壤水分平衡和土壤水動力學(xué)的水理論預(yù)測模型,如侯瓊等[2]建立了土壤水分動態(tài)預(yù)測模型來預(yù)測內(nèi)蒙古地區(qū)玉米田的土壤墑情;一類是基于數(shù)據(jù)統(tǒng)計(jì)的預(yù)測模型,如白冬妹等[3]應(yīng)用時(shí)間序列自回歸模型預(yù)測土壤含水量,尚松浩等[4]建立了BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測小麥田墑情。
本研究建立BP 神經(jīng)網(wǎng)絡(luò)和Elman 神經(jīng)網(wǎng)絡(luò)2種預(yù)測模型,用2 組維度不同的數(shù)據(jù)分別對2 種模型進(jìn)行訓(xùn)練模擬,旨在找出預(yù)測精度更高的短期土壤墑情模型及其有關(guān)參數(shù),用于預(yù)測1 d(24 h)后的土壤墑情,最終應(yīng)用于實(shí)際農(nóng)業(yè)生產(chǎn)。
研究區(qū)域?yàn)樘旖蚴校摰貐^(qū)主要?dú)夂蛱卣魇撬募痉置?,春季多風(fēng),干旱少雨;夏季炎熱,雨水集中;秋季氣爽,冷暖適中;冬季寒冷,干燥少雪。2000年以來天津地區(qū)的年平均氣溫為13.5 ℃,最高溫度為42.7 ℃,于2017年7月11日出現(xiàn)在靜海區(qū),最低溫度-22.6 ℃,于2021年1月6日出現(xiàn)在薊州區(qū);年平均降水量一般在370~750 mm,降水大部分集中在6—9月,但2021年降水量為979.1 mm,創(chuàng)下1961年有氣象資料以來最高紀(jì)錄。
本研究的數(shù)據(jù)來源于天津市薊州區(qū)、靜海區(qū)、寧河區(qū)、濱海新區(qū)的10 個(gè)氣象墑情自動監(jiān)測站(表1)。每個(gè)站點(diǎn)均可同時(shí)監(jiān)測氣象數(shù)據(jù)和墑情數(shù)據(jù),其中氣象數(shù)據(jù)包括空氣溫度、空氣濕度、風(fēng)速、風(fēng)向、光照、雨量、蒸發(fā)量、大氣壓力、露點(diǎn)溫度、作物蒸騰蒸發(fā)量;墑情數(shù)據(jù)包括土壤體積含水量、相對含水量、溫度、鹽分,均為20、40、60、80 cm 4 個(gè)土層深度數(shù)據(jù)。數(shù)據(jù)跨越時(shí)間為2018 年9 月1 日—2021 年8 月31 日,監(jiān)測站每15 min 采集1 次數(shù)據(jù)。本研究的天氣預(yù)報(bào)數(shù)據(jù)來源于天津市氣象局發(fā)布的各區(qū)天氣預(yù)報(bào)數(shù)據(jù),共1 095組數(shù)據(jù)。
表1 各氣象墑情自動監(jiān)測站位置
為確保數(shù)據(jù)有意義且具有可操作性,原始數(shù)據(jù)在應(yīng)用前進(jìn)行完整性檢查,剔除無效數(shù)據(jù)、異常數(shù)據(jù)。故處理后,氣象數(shù)據(jù)剔除蒸發(fā)量、大氣壓力、作物蒸騰蒸發(fā)量3個(gè)數(shù)據(jù)項(xiàng),保留空氣溫度、空氣濕度、風(fēng)速、風(fēng)向、光照、雨量、露點(diǎn)溫度7個(gè)數(shù)據(jù)項(xiàng);墑情數(shù)據(jù)剔除相對含水量的4個(gè)數(shù)據(jù)項(xiàng),保留體積含水量、土壤溫度、土壤鹽分的12個(gè)數(shù)據(jù)項(xiàng)。剔除原因均為監(jiān)測數(shù)據(jù)不完整,各站點(diǎn)監(jiān)測項(xiàng)設(shè)置有別,只有個(gè)別“超級站點(diǎn)”有剔除數(shù)據(jù)項(xiàng)的監(jiān)測內(nèi)容。同時(shí)剔除由于設(shè)備測試、傳感器探頭失靈產(chǎn)生的異常數(shù)據(jù)組。
本研究采用不包含天氣預(yù)報(bào)和包含天氣預(yù)報(bào)2組維度不同的數(shù)據(jù)分別對2 種模型進(jìn)行訓(xùn)練模擬。按照模型要求,2 組數(shù)據(jù)均分為輸入數(shù)據(jù)和輸出數(shù)據(jù),而2組輸出數(shù)據(jù)均為土壤墑情狀況,即體積含水量,包括20、40、60、80 cm 土層的體積含水量。原始數(shù)據(jù)處理過程:第1 步,增加“站點(diǎn)編號”數(shù)據(jù)項(xiàng),因原始數(shù)據(jù)和預(yù)測結(jié)果分屬各站點(diǎn),即根據(jù)某一站點(diǎn)的數(shù)據(jù)預(yù)測這一站點(diǎn)未來的土壤墑情;第2步,匹配輸出數(shù)據(jù),模型將預(yù)測1 d(24 h)后的土壤墑情,故每組原始數(shù)據(jù)要匹配24 h 后的墑情數(shù)據(jù),比如2020年8月4日10:30的氣象墑情原始數(shù)據(jù),要匹配2020年8 月5 日10:30 的墑情數(shù)據(jù);第3 步,匹配24 h 天氣預(yù)報(bào)數(shù)據(jù),對天氣預(yù)報(bào)數(shù)據(jù)進(jìn)行數(shù)字化處理,然后匹配到相應(yīng)原始數(shù)據(jù)中,比如2020 年8 月4 日靜海區(qū)各站點(diǎn)數(shù)據(jù)要匹配2020年8月4日的24 h天氣預(yù)報(bào)數(shù)據(jù);第4 步,提取測試數(shù)據(jù),模擬真實(shí)預(yù)測場景,從原始數(shù)據(jù)中隨機(jī)提取5 000 組數(shù)據(jù)作為測試數(shù)據(jù),剩余10萬組數(shù)據(jù)用于模型訓(xùn)練;最后,將不包含天氣預(yù)報(bào)和包含天氣預(yù)報(bào)2組維度不同的數(shù)據(jù)分別進(jìn)行存儲。各組數(shù)據(jù)的輸入輸出數(shù)據(jù)項(xiàng)如表2所示。
李桂明還主動交代了幾個(gè)埋“瓶裝”的細(xì)節(jié),說藥瓶是他媽以前吃藥用過的。“我就做了這么點(diǎn)傻事,該咋判咋判吧!”
表2 各組數(shù)據(jù)的輸入、輸出數(shù)據(jù)項(xiàng)
BP 神經(jīng)網(wǎng)絡(luò)模型的基本思想是信號的正向傳播與誤差的反向傳播,根據(jù)網(wǎng)絡(luò)輸出層實(shí)際誤差,從輸出層開始,反過來調(diào)整網(wǎng)絡(luò)權(quán)值,最終使輸出的均方誤差最小[5]。BP 神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖1所示。
圖1 BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
Elman 神經(jīng)網(wǎng)絡(luò)是典型的反饋型神經(jīng)網(wǎng)絡(luò),是一種具有局部記憶單元和局部反饋連接的遞歸神經(jīng)網(wǎng)絡(luò)。它以BP網(wǎng)絡(luò)為基礎(chǔ)結(jié)構(gòu),在隱含層增加一個(gè)承接層,作為一步延時(shí)算子,達(dá)到記憶目的,從而使系統(tǒng)具有適應(yīng)時(shí)變特性的能力,增強(qiáng)了網(wǎng)絡(luò)的全局穩(wěn)定性[6]。Elman神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖2所示[7]。
圖2 Elman神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
本研究的BP 神經(jīng)網(wǎng)絡(luò)模型的傳遞函數(shù)是Levenberg-Marquardt 算法。Elman 神經(jīng)網(wǎng)絡(luò)模型的傳遞函數(shù)采用帶動量的梯度下降法。
2.3.1Levenberg-Marquardt 算法 該算法是使用最廣泛的非線性最小二乘算法,是利用梯度求最大(?。┲档乃惴?,它同時(shí)具有梯度法和牛頓法的優(yōu)點(diǎn),且算法穩(wěn)定[8]。當(dāng)λ很小時(shí),步長等于牛頓法步長;當(dāng)λ很大時(shí),步長約等于梯度下降法的步長。
2.3.2帶動量的梯度下降法 該方法是在反向傳播的基礎(chǔ)上在每一個(gè)權(quán)值的變化上附加一項(xiàng)正比于前次權(quán)值變化量的值,并根據(jù)反向傳播法產(chǎn)生新的權(quán)值變化。該方法使網(wǎng)絡(luò)在修正權(quán)值時(shí),不僅考慮誤差在梯度上的作用,而且還考慮誤差曲面變化趨勢的影響,從而降低網(wǎng)絡(luò)對于誤差曲面局部細(xì)節(jié)的敏感性,有效地抑制網(wǎng)絡(luò)陷入局部極小[9]。
本研究初始計(jì)劃均采用Levenberg-Marquardt算法,但由于訓(xùn)練數(shù)據(jù)量大,該算法占用內(nèi)存高,導(dǎo)致Elman 神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練時(shí)長增加數(shù)倍,故Elman神經(jīng)網(wǎng)絡(luò)模型選擇帶動量的梯度下降法。
本研究模型訓(xùn)練應(yīng)用的是Matlab 神經(jīng)網(wǎng)絡(luò)工具箱,該工具箱默認(rèn)將10 萬組數(shù)據(jù)按7∶1.5∶1.5 的比例分為訓(xùn)練集、驗(yàn)證集和測試集進(jìn)行模型訓(xùn)練。各模型的隱藏層節(jié)點(diǎn)數(shù)量和步長均通過試算確定,經(jīng)過多次迭代,每次迭代都會按照比例重新分配訓(xùn)練集、驗(yàn)證集和測試集數(shù)據(jù),最終使網(wǎng)絡(luò)訓(xùn)練誤差逐步收斂,最后應(yīng)用5 000 組測試數(shù)據(jù)模擬真實(shí)預(yù)測場景。
通過對該模型的隱藏層節(jié)點(diǎn)和步長的試算,每個(gè)節(jié)點(diǎn)或步長試算均連續(xù)進(jìn)行15次,最終確定隱藏層節(jié)點(diǎn)23個(gè)、步長為0.01時(shí),4個(gè)土層的平均土壤墑情誤差最小,為0.052 075(5.21%),如表3所示。
表3 不含天氣預(yù)報(bào)的BP神經(jīng)網(wǎng)絡(luò)土壤墑情模型平均誤差分析
網(wǎng)絡(luò)的訓(xùn)練性能和總擬合情況如圖3所示。該網(wǎng)絡(luò)在迭代225次后實(shí)現(xiàn)性能最佳,此時(shí)網(wǎng)絡(luò)均方誤差為0.004 350 4;網(wǎng)絡(luò)的總擬合度為0.988 59,回歸直線對觀測值的擬合程度較好,模型具有良好的準(zhǔn)確性和穩(wěn)定性。模型訓(xùn)練完成后用5 000 組數(shù)據(jù)進(jìn)行測試,測試結(jié)果誤差曲線如圖4所示。
圖4 不含天氣預(yù)報(bào)的BP神經(jīng)網(wǎng)絡(luò)模型測試數(shù)據(jù)誤差
從誤差曲線看出,該模型測試數(shù)據(jù)的誤差比較平穩(wěn),整體波動較小,其中20、40 cm 土層墑情預(yù)測誤差最大達(dá)到近400%、750%,60、80 cm 土層墑情預(yù)測誤差最大達(dá)到80%、140%。
通過對該模型隱藏層節(jié)點(diǎn)和步長的試算,每個(gè)節(jié)點(diǎn)或步長試算均連續(xù)進(jìn)行15次,最終確定隱藏層節(jié)點(diǎn)39個(gè)、步長為0.01時(shí),4個(gè)土層的平均土壤墑情誤差最小,為0.044 55(4.46%),如表4所示。
表4 含天氣預(yù)報(bào)的BP神經(jīng)網(wǎng)絡(luò)土壤墑情模型平均誤差分析
網(wǎng)絡(luò)的訓(xùn)練性能和總擬合情況如圖5所示。該網(wǎng)絡(luò)在迭代131 次后實(shí)現(xiàn)性能最佳,此時(shí)網(wǎng)絡(luò)均方誤差為0.002 661 1;網(wǎng)絡(luò)的總擬合度為0.992 83,回歸直線對觀測值的擬合程度較好,模型具有良好的準(zhǔn)確性和穩(wěn)定性。模型訓(xùn)練完成后用5 000 組數(shù)據(jù)進(jìn)行測試,測試結(jié)果誤差曲線如圖6所示。
圖5 含天氣預(yù)報(bào)的BP神經(jīng)網(wǎng)絡(luò)土壤墑情模型訓(xùn)練性能和總擬合情況
圖6 含天氣預(yù)報(bào)的BP神經(jīng)網(wǎng)絡(luò)土壤墑情模型測試數(shù)據(jù)誤差
從誤差曲線看出,該模型測試數(shù)據(jù)的誤差比較平穩(wěn),整體波動較小,其中20、40 cm 土層墑情預(yù)測誤差最大達(dá)到近500%、1 200%。60 cm 土層墑情預(yù)測誤差波動較其他3個(gè)土層更多,但幅度較小,最大誤差不及90%。
通過對該模型隱藏層節(jié)點(diǎn)和步長的試算,每個(gè)節(jié)點(diǎn)或步長試算均連續(xù)進(jìn)行15次,最終確定隱藏層節(jié)點(diǎn)25 個(gè)、步長為0.3 時(shí),4 個(gè)土層的平均土壤墑情誤差最小,為0.031 45(3.15%),如表5所示。
表5 不含天氣預(yù)報(bào)的Elman神經(jīng)網(wǎng)絡(luò)土壤墑情模型平均誤差分析
網(wǎng)絡(luò)的訓(xùn)練性能如圖7 所示,經(jīng)過50 000 次迭代訓(xùn)練該網(wǎng)絡(luò)的均方誤差為0.005 280 2,已達(dá)到最佳訓(xùn)練性能。模型訓(xùn)練完成后用5 000 組數(shù)據(jù)進(jìn)行測試,測試結(jié)果誤差曲線如圖8所示。
圖7 不含天氣預(yù)報(bào)的Elman神經(jīng)網(wǎng)絡(luò)土壤墑情模型訓(xùn)練性能
圖8 不含天氣預(yù)報(bào)的Elman神經(jīng)網(wǎng)絡(luò)土壤墑情模型測試數(shù)據(jù)誤差
從誤差曲線看出,該模型測試數(shù)據(jù)的誤差整體波動較小,誤差最大值較BP 神經(jīng)網(wǎng)絡(luò)模型小很多,其中20、40 cm 土層墑情預(yù)測誤差最大值不到70%、90%,60、80 cm墑情預(yù)測誤差最大值不到80%、90%。
通過對該模型隱藏層節(jié)點(diǎn)和步長的試算,每個(gè)節(jié)點(diǎn)或步長試算均連續(xù)進(jìn)行15次,最終確定隱藏層節(jié)點(diǎn)38 個(gè)、步長為0.5 時(shí),4 個(gè)土層的平均土壤墑情誤差最小,為0.033 575(3.36%),如表6所示。
表6 含天氣預(yù)報(bào)的Elman神經(jīng)網(wǎng)絡(luò)土壤墑情模型平均誤差分析
網(wǎng)絡(luò)的訓(xùn)練性能如圖9 所示,經(jīng)過50 000 次訓(xùn)練該網(wǎng)絡(luò)的傳遞誤差大小為0.005 090 1,已達(dá)到最佳訓(xùn)練性能。模型訓(xùn)練完成后用5 000 組數(shù)據(jù)進(jìn)行測試,測試結(jié)果誤差曲線如圖10所示。
圖10 含天氣預(yù)報(bào)的Elman神經(jīng)網(wǎng)絡(luò)土壤墑情模型測試數(shù)據(jù)誤差
從誤差曲線看出,該模型測試數(shù)據(jù)的誤差整體波動情況與不含天氣預(yù)報(bào)的Elman神經(jīng)網(wǎng)絡(luò)模型相似,各土層誤差最大值與不含天氣預(yù)報(bào)的Elman 神經(jīng)網(wǎng)絡(luò)模型一致,較BP神經(jīng)網(wǎng)絡(luò)模型小很多。
BP、Elman 神經(jīng)網(wǎng)絡(luò)預(yù)測模型各土層墑情誤差及方差結(jié)果見表7。
表7 各模型各土層墑情誤差和方差結(jié)果
本研究建立BP、Elman 神經(jīng)網(wǎng)絡(luò)預(yù)測模型,采用2 組維度不同的數(shù)據(jù)分別對這2 種模型進(jìn)行訓(xùn)練模擬,預(yù)測1 d(24 h)后的土壤墑情,通過對5 000 組測試數(shù)據(jù)結(jié)果及各模型訓(xùn)練過程進(jìn)行綜合分析,得出以下結(jié)論。
1)從總體看,Elman 神經(jīng)網(wǎng)絡(luò)模型的精度比BP神經(jīng)網(wǎng)絡(luò)模型的更高,輸入的數(shù)據(jù)不論是含天氣預(yù)報(bào)還是不含,精度都高于BP神經(jīng)網(wǎng)絡(luò)模型。這是因?yàn)镋lman 神經(jīng)網(wǎng)絡(luò)是一個(gè)反饋型網(wǎng)絡(luò),通過承接層記憶隱含層單元前一時(shí)刻的輸出值達(dá)到反饋目的;而BP 神經(jīng)網(wǎng)絡(luò)則沒有反饋。由于Elman 神經(jīng)網(wǎng)絡(luò)增加了反饋,所以其訓(xùn)練時(shí)間長于BP 神經(jīng)網(wǎng)絡(luò),在本研究中,Elman 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時(shí)間是BP 神經(jīng)網(wǎng)絡(luò)的2~3倍。
2)土壤墑情與天氣狀況密切相關(guān),所以從理論上講,含天氣預(yù)報(bào)的模型精度比不含天氣預(yù)報(bào)的模型精度高。但實(shí)際發(fā)現(xiàn),BP神經(jīng)網(wǎng)絡(luò)模型基本表現(xiàn)出這一相關(guān)性;而Elman 神經(jīng)網(wǎng)絡(luò)模型并沒有表現(xiàn)出這一相關(guān)性,含天氣預(yù)報(bào)模型的誤差略高于不含天氣預(yù)報(bào)模型的誤差,而其方差在4 個(gè)土層上都小于后者,這可能是天氣預(yù)報(bào)數(shù)據(jù)精度及農(nóng)田灌溉操作的影響,因?yàn)楸狙芯康奶鞖忸A(yù)報(bào)數(shù)據(jù)是區(qū)縣級數(shù)據(jù)而非站點(diǎn)區(qū)域性數(shù)據(jù),而且對各站點(diǎn)的農(nóng)田灌溉未作考慮和統(tǒng)計(jì)。
3)4個(gè)土層的土壤墑情誤差差別較大,20、40 cm土層的墑情誤差明顯高于60、80 cm 土層。從模型測試數(shù)據(jù)誤差圖中也能看出20、40 cm 土層墑情的波動比60、80 cm土層的波動大。這是因?yàn)?0、40 cm土層墑情受天氣等外界的影響較大,水分要滲入60、80 cm 土層需要較大的雨量,而天津地區(qū)較大雨量只集中在每年7、8 月份的某幾天,所以60、80 cm土層墑情誤差的波動較小。
本研究預(yù)測1 d(24 h)后的土壤墑情,預(yù)測誤差控制在5%以內(nèi),說明該模型是可用的。但在實(shí)際中,預(yù)測獲取1 d 后的土壤墑情,對農(nóng)業(yè)生產(chǎn)的作用和意義不是很大。農(nóng)作物生長是一個(gè)長期過程,土壤墑情的短期或超短期的微小變化對農(nóng)作物生長的影響不大,所以在農(nóng)業(yè)生產(chǎn)過程中,中長期(5、10、15、30 d)的土壤墑情預(yù)測意義深遠(yuǎn)。本研究團(tuán)隊(duì)將繼續(xù)應(yīng)用Elman神經(jīng)網(wǎng)絡(luò)或其他神經(jīng)網(wǎng)絡(luò)研究中長期預(yù)測模型,以最終實(shí)現(xiàn)指導(dǎo)農(nóng)業(yè)生產(chǎn)、提高農(nóng)作物產(chǎn)量的目的。