張 星,饒莉娟,陳清峰,張 愷
(1.青島市黃島區氣象局,山東 青島 266400;2.青島市氣象災害防御工程技術研究中心,山東 青島 266100)
現代農業產業園區是指以帶動農民持續增收為目標,根據區域優勢、集中連片發展主導農業產業,培育建設規模化、標準化的優勢農業產業集聚區[1]。目前,國內對現代化農業產業園區的研究大多集中在規劃設計方面[2-6],從氣象服務方面進行的分析研究工作較少。事實上,準確的氣象要素預報在保障現代化農業產業園區健康發展中起至關重要的作用,農作物生長發育與氣象因子密切相關,農業是對氣象條件最為敏感的行業之一。異常的氣象條件變化會對農業產業園區造成重大損害,嚴重影響了農業生產和農民收益。因此,針對不同區域的農業產業園區的精細化的氣象要素預報是提升農作物品質、提高農作物產量的關鍵條件之一。
以藍莓產業為例,青島市黃島區自2000年以來大力發展藍莓種植產業,建立了多個現代化農業產業園區,目前已成為全國縣域種植面積最大、產業化程度最高的藍莓主產區。然而,藍莓是一種對氣象要素變化非常敏感的果樹,早春凍枯、抽梢,花期低溫敗育、干熱風敗育,夏季高溫干枯等因素都可能導致藍莓大幅減產、絕收,嚴重影響了藍莓產業。如同其他農業產業園區一樣,黃島區藍莓產業園區面積廣大、分布廣泛,不同區域形成比較明顯的局地小氣候特點,造成不同區域產業園區的氣象要素有顯著的差異。之前氣象部門發布的常規氣象要素預報主要是為主城區提供氣象服務,缺少直接服務于農業產業園區的氣象產品。由于黃島區國家氣象觀測站位于主城區沿海地區,同西部丘陵地區的藍莓產業園區的氣象要素差別很大,如果將氣象部門發布的針對主城區的氣象要素預報直接應用到藍莓產業園區,則會導致較大的預報誤差。因此,目前的常規氣象預報業務已經遠遠不能滿足服務現代農業生產的需求。又考慮到目前業務化的農業產業園區氣象要素預報尚處于起步階段,國內外相關理論研究結果也較難直接應用于常規的氣象業務[7-10]。因此,開展能普遍適用于農業產業園區的氣象要素預報研究具有重要的實際應用價值。基于以上考慮,本文嘗試將深度學習方法應用于農業產業園區的氣象要素預報中。
作為機器學習的一個分支,深度學習在近年來發展十分迅速,并且在人工智能的很多子領域都取得了巨大成功。深度學習可以從有限樣本中通過算法總結出一般性的規律,并應用到新的未知數據上。因此,我們可以從歷史氣象數據中總結出不同地區氣象要素之間的關系。當已知針對主城區的氣象要素預報值后,便可以利用主城區與農業產業園區氣象要素之間的關系,來計算出農業產業園區的氣象要素預報值。
由于深度學習采用的模型一般比較復雜,樣本的原始輸入到輸出之間的數據流經過多個線性或非線性的過程,每個過程的權重大小會直接影響到最后的建模效果。目前可以比較好解決權重分配問題的模型是神經網絡模型,神經網絡模型也因此成為深度學習中主要采用的模型。如果我們把神經網絡看作是由一組參數控制的復雜函數,并用來處理一些非線性模型識別任務(比如兩個不同地區氣象要素之間的非線性關系)時,神經網絡的參數可以通過機器學習的方式來從歷史數據中學習得到。
本文以黃島藍莓產業園區氣象要素預報為例,探討深度學習方法在農業產業園區氣象要素預報中的應用。通過神經網絡方法建立了藍莓產業園區氣象要素預報模型并對預報結果進行檢驗。本文介紹了使用的數據及神經網絡方法,以藍莓產業園區為例,探討了深度學習方法在農業產業園區氣象要素預報中的應用。通過敏感性試驗探討該方法推廣到其他地區農業產業園區的適用性。
為了給藍莓產業發展提供氣象技術支撐,黃島區氣象局于2016年在六汪鎮藍莓產業園區建立了氣象要素觀測系統,對藍莓產業園區內的氣溫、地溫、10 cm深地溫、20 cm深地溫和空氣相對濕度這些對藍莓有重要影響的氣象要素進行觀測,目前已積累了3年的逐小時氣象要素觀測資料。本文以2016年4月20日至2018年4月20日藍莓產業園區氣象要素觀測站和黃島區國家氣象觀測站積累的歷史觀測資料為訓練數據,利用深度學習方法找尋藍莓產業園區氣象要素與以黃島區國家氣象觀測站為代表的主城區氣象要素之間的關系。利用兩者之間的非線性關系,建立藍莓產業園區氣象要素預報模型。預報模型建立后,只需將日常氣象業務中針對主城區的氣象要素預報值輸入,便可得到藍莓產業園區的氣象要素預報值。之后,利用2018年4月21日至2019年4月20日的數據對建立好的藍莓產業園區氣象要素預報模型進行檢驗,來考察深度學習方法對預報結果的改進程度。此外,為了考察該方法在其他農業產業園區的推廣效果,利用2010~2018年青島地區的青島國家基本氣象站、黃島國家氣象觀測站、平度國家氣象觀測站和嶗山國家氣象觀測站觀測的日平均氣壓、日平均氣溫、日最高氣溫、日最低氣溫、日平均相對濕度和日平均風速這些氣象要素,來驗證該方法在其他地區農業產業園區的預報效果。
本文使用反向傳播神經網絡算法(BP神經網絡算法)來進行深度學習,BP神經網絡是一種按照誤差反向傳播算法訓練的多層感知器網絡,又稱為誤差方向傳播算法,是監督式深度學習方法的一種[11]。BP神經網絡算法本質是優化計算中的梯度下降法,利用誤差對于權、閾值的一階導數信息,應用誤差反傳原理不斷調整神經網絡中不同的線性或非線性過程的權重,使神經網絡輸出值與期望值之間的誤差平方和達到最小(或小于設定精度)。BP神經網絡由一個輸入層、至少一個隱含層、一個輸出層組成。理論上,只要隱含層數和每層的節點數足夠多,神經網絡就具有模擬任意復雜非線性映射的能力[12]。但在實際應用中,隱含層層數和節點數與需解決問題的復雜程度、轉換函數型式以及樣本數據的特性有關,合理的隱含層數和節點數可在確保網絡收斂精度的同時,亦使網絡具有良好泛化能力[13]。由于BP神經網絡具有很強的非線性映射能力,因此可以用來映射不同兩地氣象要素間的非線性關系。
目前,黃島區氣象局每日發布的氣象要素預報主要針對以黃島國家氣象觀測站(參考站)為代表的城區氣象條件。假設針對城區氣象要素的預報沒有預報誤差,那么將預報結果應用到藍莓產業園區(預報站)后,城區與藍莓產業園區氣象要素之間的差異即可認為是藍莓產業園區氣象要素的預報誤差。經過深度學習后,可以根據參考站與預報站氣象要素之間的非線性關系建立神經網絡訂正模型。將針對參考站的預報結果經過神經網絡模型訂正后便可得到預報站的預報結果。預報站的預報結果與真實值之間的偏差為訂正后的預報誤差。本質上,深度學習方法是通過找尋參考站和預報站氣象要素間的非線性關系來建立神經網絡模型,從而訂正農業產業園區的預報結果,減小預報誤差。
鑒于藍莓產業園區氣象要素觀測站已積累了3年的氣溫、地溫、10 cm深地溫、20 cm深地溫和相對濕度這些氣象要素的逐小時數據,黃島區國家氣象觀測站也一直日常觀測這些氣象要素,因此本文采用這5個氣象要素組建模型訓練樣本。訓練數據采集時段為2016年4月20日到2018年4月20日,另將2018年4月21日至2019年4月20日的數據留做建模效果檢驗。將訓練數據質量控制后進行歸一化處理,輸入計算機進行深度學習,通過BP神經網絡方法計算出各節點的權重,得到神經網絡模型。在訓練神經網絡模型過程中,我們采用不同的神經網絡拓撲結構進行反復試驗,以使神經網絡模型在訓練效果與檢驗效果間取得最優平衡[14]。這樣可在保證模型具有足夠收斂精度的同時,又確保其具有相應的泛化性能。經過反復試驗,最后確定采用含有3個隱含層、每層各20個節點的神經網絡拓撲結構(圖1),并使用Sigmoid函數作為網絡的激活函數。將訓練數據輸入神經網絡模型進行循環運算,采用精度與循環次數雙層控制,當達到一定精度或循環次數后,利用計算所得的節點權重即可構建最終的神經網絡預報模型。

圖1 神經網絡模型示意圖
其他一些說明:(1)黃島國家氣象觀測站為國家級氣象站,氣象觀測設備有專人日常維護,異常數據每天會進行人工質控,氣象數據可用性高。而藍莓產業園區氣象觀測站為無人監管的小區域站,存在數據缺測的情況。因此在數據建模前要對數據進行預處理,剔除缺測時間段的數據。(2)為提高模型訓練速度、有效避開Sigmoid函數的飽和區,并使神經網絡模型具有一定的外推能力,對數據進行歸一化處理,使訓練數據輸入值在-1.0~1.0之間。對神經網絡模型輸出值進行反算即可得到實際值。(3)訓練模型參數:最大收斂次數設為1000次,學習速率設為0.01,收斂誤差設為0.01。(4)由于單次訓練建立的模型有可能會收斂到局部極值,因此對數據進行10次建模,選取效果最好的模型作為最終的預測訂正模型。
將2018年4月21日到2019年4月20日逐小時氣象要素作為檢驗樣本,用來檢驗神經網絡模型對預報誤差的改善效果。由于以前氣象業務上一直將黃島國家氣象觀測站氣象要素的預報結果直接用于藍莓產業園區,因此黃島國家氣象觀測站(參考站)氣象要素與藍莓產業園區氣象觀測站(預報站)氣象要素間的偏差即可認為是原始的預報誤差(以下稱原誤差)。將參考站的氣象要素預報值輸入神經網絡模型進行訂正后的結果與預報站實際氣象要素間的偏差即為訂正后的預報誤差(以下稱訂正后誤差)。通過原誤差與訂正后誤差的對比即可體現出神經網絡模型對預報誤差的改善效果。
圖2為未經訂正前原溫度預報誤差(實線)與經過神經網絡模型訂正后的溫度預報誤差(虛線)的時間序列。可以發現,經過訂正后預報誤差明顯減小,平均絕對誤差由原來的1.62 ℃減小為1.13 ℃,平均絕對誤差減小了30.25%。一些原先預報誤差較大的時段,經過神經網絡訂正后可以很大程度上得到改善。比如在18年4月30日10時至16時期間,原預報誤差均超過10 ℃,分別為:-11.2、-12.7、-13.1、-11.4、-12.9、-11.6和-10 ℃;而經過神經網絡模型訂正后,該時間段預報誤差分別減小為-2.59、-2.56、-1.16、2.42、2.29、3.11和2.94 ℃。需要說明的是:由于大氣是強非線性系統,神經網絡模型訂正后也會出現預報誤差變大的情況。但整體上來說,經過神經網絡模型訂正后氣溫預報誤差顯著減小,原本預報效果較差的時段也通常會有大幅度改善。

圖2 原氣溫預報誤差(實線)與訂正后的氣溫預報誤差(虛線)
圖3為未經訂正前原相對濕度預報誤差與經過神經網絡模型訂正后的相對濕度預報誤差的時間序列。總體上,經過神經網絡模型訂正后,相對濕度的平均絕對值誤差由原來的10.64%減小為7.06%,誤差減小了33.65%,預報效果改善明顯。圖4、圖5和圖6分別為訂正前后地表溫度、10 cm深地溫和20 cm深地溫預報誤差的時間序列(實線為訂正前的原誤差,虛線為訂正后的誤差)。經過神經網絡模型訂正后:地表溫度的平均絕對值誤差由原來的4.18 ℃減小為1.46 ℃,誤差減小了65.07%;10 cm深地溫的平均絕對值誤差由原來的2.43 ℃減小為0.74 ℃,誤差減小了69.55%;20 cm深地溫得平均絕對值誤差由原來的2.81 ℃減小為1.46 ℃,誤差減小了48.04%。可以看出,相對于氣溫和相對濕度,地表溫度、10 cm深地溫和20 cm深地溫的改善效果更好。這也是容易理解的:大氣作為運動流體,不同地區空氣間得熱力因子和濕度因子在平流作用下互相影響,非線性作用強、變化幅度大;而不同地區土壤環境相對獨立、非線性作用弱、變化幅度小。因此神經網絡可以更好地捕捉到不同地區土壤溫度之間的關系,經過神經網絡模型訂正后,原預報誤差可大幅度減小。考慮到目前氣象部門常常在預報業務中把2 ℃作為氣溫誤差的預報上線,而經過神經網絡模型訂正后藍莓產業園區的氣溫、表層地溫、10 cm深地溫和20 cm深地溫的平均絕對值誤差都在2 ℃以內,基本滿足了業務運行的要求。

圖3 原相對濕度預報誤差(實線)與訂正后的相對濕度預報誤差(虛線)

圖4 原地表溫度預報誤差(實線)與訂正后的地表溫度預報誤差(虛線)

圖5 原10 cm深地溫預報誤差(實線)與訂正后的10 cm深地溫預報誤差(虛線)
我們利用深度學習方法建立了藍莓產業園區氣象要素預報訂正模型,一年時間段的數據檢驗結果表明:該模型可以很好減小預報誤差、提高預報技巧。經過神經網絡模型訂正后,氣溫、地表溫度、10 cm深地溫、20 cm深地溫的平均絕對值誤差都減小到2 ℃以內,相對濕度平均絕對值誤差減小到7%,預報模型基本滿足了藍莓產業園區業務化運行的要求。為了驗證該方法在其他地區的適用性,我們設計了如下敏感性試驗:假設已知參考站的氣象要素預報值,用深度學習方法構建神經網絡預報訂正模型,從而得到位于不同地區預報站的氣象要素預報值。我們將青島國家基本觀測站設為已知預報值的參考站,另假設3個不同的農業產業園區分別位于黃島國家氣象觀測站、平度國家氣象觀測站和嶗山國家氣象觀測站附近,將以上3個國家氣象觀測站作為預報站。利用積累的歷史氣象數據進行訓練建模,得到各預報站的神經網絡預報模型。

圖6 原20 cm深地溫誤差(實線)與訂正后的20 cm深地溫預報誤差(虛線)
表1 各氣象要素原預報誤差和訂正后的預報誤差

項目氣溫/℃相對濕度/%地表溫度/℃10 cm深地溫/℃20 cm深地溫/℃原誤差1.6210.644.182.432.81訂正后誤差1.137.061.460.741.46
在對逐小時氣象要素的建模效果檢驗的基礎上,對逐日氣象要素的建模效果進行了檢驗。此外,由于藍莓產業園區氣象站只有溫度和濕度數據而缺乏氣壓、風速等氣象數據,為了對這些氣象要素的訂正效果進行檢驗,因此,選取氣壓、日平均氣溫、日最高氣溫、日最低氣溫、相對濕度和風速這些氣象要素進行敏感性試驗。
表2展現的是位于黃島的農業產業園區的氣象要素預報值經過神經網絡模型訂正后的改善情況。可以看出,經過神經網絡模型訂正后,各氣象要素的預報誤差都有大幅度減小。其中,氣壓的平均絕對值誤差由原來的8.11 hPa下降到0.47 hPa,誤差減小了94.2%,在所有氣象要素中改善效果最好。這是因為原氣壓誤差主要是由于參考站(青島站)與預報站(黃島站)之間海拔高度差異引起的。與其他氣象要素相比,不同地區氣壓間的關系更多的是線性關系,因此神經網絡模型訂正后的改善效果最好。當然,經過模型訂正后,其他氣象要素的預報效果也得到大幅度提升:日平均氣溫的平均絕對值誤差由0.86 ℃降低至0.76 ℃,誤差減小了11.63%;日最高氣溫的平均絕對值誤差由1.38 ℃降低至1.04 ℃,誤差減小了24.64%;日最低氣溫的平均絕對值誤差由1.49 ℃降低至1.10 ℃,誤差減小了26.17%;相對濕度的平均絕對值誤差由4.65%降低至4.11%,誤差減小了11.61%;風速的平均絕對值誤差由1.30 m/s降低至0.42 m/s,誤差減小了67.69%。

表2 黃島站氣象要素原預報誤差和訂正后的預報誤差
表3和表4分別呈現的是位于嶗山和平度的農業產業園區的氣象要素預報誤差的改善效果。可以發現,通過深度學習方法建立各自的氣象要素預報訂正模型后,氣象要素的預報效果都有大幅度的提升。其中,嶗山預報站氣壓的平均絕對值誤差減小了90.89%,日平均氣溫的平均絕對值誤差減小了44.55%,日最高氣溫的平均絕對值誤差減小了55.22%,日最低氣溫的平均絕對值誤差減小了25.00%,相對濕度的平均絕對值誤差減小31.68%,風速的平均絕對值誤差減小了60.69%。而位于平度預報站氣壓的平均絕對值誤差減小了67.76%,日平均氣溫的平均絕對值誤差減小了33.33%,日最高氣溫的平均絕對值誤差減小了28.63%,日最低氣溫的平均絕對值誤差減小了49.63%,相對濕度的平均絕對值誤差減小28.69%,風速的平均絕對值誤差減小了53.28%。
在3個預報站中,平度站位于內陸地區,黃島站位于沿海地區,嶗山站位于嶗山山區附近。可以發現,深度學習方法在不同地區都具有普遍適用性。可以利用深度學習方法針對位于不同地區的農業產業園區建立各自的神經網絡訂正模型,進而減小氣象要素的預報誤差。

表3 嶗山站氣象要素原預報誤差和訂正后的預報誤差

表4 平度站氣象要素原預報誤差和訂正后的預報誤差
本文將深度學習方法應用于農業產業園區的氣象要素預報中,利用深度學習方法建立了預報氣象要素的神經網絡訂正模型。經過神經網絡模型訂正后,各氣象要素的預報誤差均大幅度減小。以藍莓產業園區為例,詳細介紹了如何利用深度學習方法建立農業產業園區氣象要素的神經網絡模型。模型建立以后,預報員只需把參考站的氣象要素預報值輸入神經網絡模型,就可以得到藍莓產業園區的氣象要素預報值。該方法簡單易行、適用性好,可以推廣到不同地區的各種農業產業園區。
需要說明的是,本文是在假定參考站氣象要素預報值為準確的情況下,利用參考站和農業產業園區氣象要素間的關系,對參考站氣象要素預報值進行訂正,從而得到農業產業園區的預報結果。考慮到參考站的預報值本身也存在一定的預報誤差,實際農業產業園區的預報誤差還要加上參考站本身的預報誤差。事實上,參考站的預報誤差主要是由數值預報模式的模式誤差導致,隨著天氣預報數值模式的進一步發展,模式誤差會進一步減小。
在訓練氣象要素的選取上,樣本數據的好壞直接關系到建模效果的好壞。因此,在實際業務使用中,不僅要考慮模型的預報精度,也要考慮在業務運行時能否獲得穩定可靠的數據。簡而言之,數據不一定要“多”,但一定要“精”。
近幾年來,深度學習方法已經應用于各類行業并取得了良好的應用效果。本文探討了深度學習方法在農業產業園區氣象要素預報中的應用,結果表明:深度學習方法簡單易行、針對不同地區的適用性強,可以應用到各地區不同的農業產業園區中。下一步,我們將對神經網絡算法進行改進,進一步減小農業產業園區氣象要素的預報誤差,提高氣象為農服務水平,促進現代農業產業園區的發展。