白宇航 曹亮 程海林 江明哲
(成都信息工程大學軟件工程學院 四川省成都市 610000)
雷電具有破壞性、隨機性等特點,應對隨機性是雷電預警產(chǎn)品防范雷電災害的主動預防目標。閃電定位儀、大氣電場儀和多普勒雷達作為雷電監(jiān)測重要的手段和數(shù)據(jù)來源,在監(jiān)測雷電時都具有一定局限性,通常需要對多種雷電監(jiān)測數(shù)據(jù)加以綜合處理,融合形成局部雷電活動的時空分布特征,用以推斷出雷電落區(qū)、時間、強度等特征[1]。
隨著大量雷電監(jiān)測設備投入使用,雷電監(jiān)測大數(shù)據(jù)時代已到來,高精度雷電識別與監(jiān)測能力已形成,但利用雷電監(jiān)測大數(shù)據(jù)提升雷電預警的精度和時效性還相對滯后。鑒于閃電定位記錄雷電歷史時空位置、大氣電場測量電場強度、雷達回波識別雷暴單體并推測出其運動路徑之間存在的相關性,以雷暴單體為跟蹤單元,本文提出了一種多模型融合的雷電預警產(chǎn)品生成技術(shù),高并發(fā)處理雷電監(jiān)測大數(shù)據(jù),實現(xiàn)多個雷暴單體時空分布特征的識別和可視化,對提高雷電預警產(chǎn)品的時效性和可用性具有切實的業(yè)務意義。
雷暴是伴有雷電、暴雨等現(xiàn)象的局地強對流天氣。三種方式可監(jiān)測雷暴單體,形成臨近預警信息:
(1)閃電定位數(shù)據(jù)監(jiān)測,將1 小時閃電定位數(shù)據(jù)格點化處理為逐6 分鐘、空間分辨率1km*1km 閃電次數(shù)格點場,采用密度聚類算法識別閃電密集區(qū)域,高密度聚類簇對應雷暴單體。
(2)大氣電場數(shù)據(jù)監(jiān)測,以電場強度、波動范圍、波動頻率為特征,采用決策樹模型對雷暴是否發(fā)生雷電進行判識。
(3)雷達回波監(jiān)測,常見的有TITAN 算法,它是一種識別和追蹤雷暴的方法主要利用三維或二維的雷達資料來完成對雷電的預警,包括雷暴單體識別算法和雷暴單體追蹤算法。三種雷電監(jiān)測數(shù)據(jù)處理模型的優(yōu)缺點如表1 所示。
多源融合雷電預警產(chǎn)品生成模型,融合了上述三個模型。首先由雷達回波監(jiān)測處理模型加載雷暴初始場,然后由另外兩個模型輸出的三維閃電定位、大氣電場強度,雷暴單體進行校驗與訂正,最后基于訂正后的雷電落區(qū)結(jié)果,重新規(guī)劃雷暴路徑,并生成未來1小時逐6 分鐘雷電變化預警信息,模型框架如圖1 所示。
圖1:多源融合雷電預警模型框架
Spark MLlib 是Spark 的機器學習庫,具有高效、快速、可擴展等特性。在Spark Application 運行環(huán)境中,通過啟動SparkContext,構(gòu)建DAG(Directed Acyclic Graph,有向無環(huán)圖)調(diào)度程序。按多模型融合的運行調(diào)度邏輯編輯DAG,可實現(xiàn)對雷電監(jiān)測大數(shù)據(jù)的綜合分析處理。
(1)閃電定位數(shù)據(jù)密度聚類算法?;陂W電資料的雷達單體外推包含中心點計算、半徑計算和線性擬合,步驟如下:第一步,求中心點。利用公式(1)計算各樣本點經(jīng)緯度的平均值,x,y 分別表示各個點的經(jīng)度和緯度。
第二步,計算區(qū)域半徑及線性擬合。采用最小二乘法擬合橢圓公式(2),a 表示長軸半徑,b 表示短軸半徑,c 為焦距。按最小化約束條件以最小化距離誤差。
輸入過去1 小時三維閃電數(shù)據(jù),輸出①落區(qū)質(zhì)心、長軸半徑、短軸半徑;②1km*1km 格點雷電等級;時間分辨率:未來1 小時逐6 分鐘;空間分辨率:1km*1km。
(2)大氣電場數(shù)據(jù)決策樹算法。以電場預警狀態(tài)、電場強度、波動范圍、波動頻率為雷暴天氣大氣電場特征,結(jié)合大氣電場儀生成的基于電場強度的預警信息,綜合強度、范圍、頻率等特征建立分類模型。設電場強度閾值為X;波動范圍閾值為Y;波動頻率閾值為Z。
表1:三種雷電監(jiān)測數(shù)據(jù)處理模型的優(yōu)缺點
調(diào)用Spark MLlib 庫中DecisionTree 決策樹模型的trainClassifier方法,訓練大氣電場數(shù)據(jù)模型,獲得如下決策樹,圖2。
大氣電場預警模型輸入過去1 小時大氣電場儀監(jiān)測資料。大氣電場儀空間分辨率低,與雷達及閃電定位模型格點化產(chǎn)品不一致,按站點輸出未來1 小時、15km*15km 的大氣電場儀所在格點的雷電等級。
(3)雷達回波TITAN 算法。一種利用二維或三維雷達資料識別和追蹤雷暴的方法,包括雷暴單體識別算法和雷暴單體追蹤算法。
圖2:大氣電場決策樹模型
圖3:多模型融合的雷電預警產(chǎn)品生成
圖4:綜合預警分析產(chǎn)品
圖5:閃電定位預警分析產(chǎn)品
圖6:大氣電場預警分析產(chǎn)品
圖7:雷達預警分析產(chǎn)品
對雷達組合反射率、回波頂高和垂直累積液態(tài)水含量預處理,得到1km*1km 的二維網(wǎng)格數(shù)據(jù),其中每個格點對應一條訓練數(shù)據(jù)。使用Spark MLlib 中LabeledPoint 結(jié)構(gòu)組裝格點數(shù)據(jù),調(diào)用Spark MLlib 中決策樹算法庫,訓練歷史數(shù)據(jù)獲得相應閾值和分類規(guī)則。當多個雷暴單體被識別后,對相鄰時次識別結(jié)果使用Munkres 算法進行優(yōu)化匹配,追蹤分析評估雷暴單體最可能運動路徑。得到最優(yōu)路徑后,調(diào)用Spark MLlib 中LinearRegressionWithSGD 類的train()方法訓練,預測雷暴下一時刻運動位置。其中,線性回歸模型方程可表達為:
式中,x 是模型參數(shù)的集合,w 為模型參數(shù)對應的權(quán)重系數(shù)的集合。
模型輸入前1 小時雷達組合反射率、回波頂高和垂直累積液體水含量產(chǎn)品,輸出未來1 小時逐6 分鐘、1km*1km 格點雷電等級、落區(qū)質(zhì)心、半徑。
基于閃電定位數(shù)據(jù)、大氣電場數(shù)據(jù)、雷達回波數(shù)據(jù),采用落區(qū)識別、追蹤和外推算法,集成多種數(shù)據(jù),建立多模型融合的雷電預警模型,模型輸出獲得雷電落區(qū)、時間、強度及雷電運動趨勢產(chǎn)品。
圖3 所示,實現(xiàn)多模型融合的雷電預警產(chǎn)品生成,首先加載雷達回波初始場,由TITAN 算法模型生成格點產(chǎn)品,然后由OPTICS聚類算法生成的閃電定位預警模型對格點產(chǎn)品標記、訂正,以識別直徑15km 范圍內(nèi)有無雷暴單體。如果有雷暴單體,采用由大氣電場數(shù)據(jù)訓練所得的決策樹模型訂正,生成該時次每個格點預警產(chǎn)品,包括雷電落區(qū)、半徑以及強度等信息。最后,在雷電預警調(diào)度程序控制下,重新擬合所有時次的雷暴路徑,預測下一時刻雷暴出現(xiàn)的位置。其中,行訂正采用線性加權(quán)平均法,見公式(4)。
式中:
R--每個格點發(fā)生閃電的概率;
wi--各預警模型的權(quán)重;
ri--利用某種預警模型計算獲得的每個格點雷電發(fā)生的概率;
n --參與計算的預警模型種類數(shù)。
本文中n=3,即三種模型r 為每種預警模型的輸出結(jié)果。閃電定位相關模型權(quán)重為0.25,大氣電場相關模型權(quán)重為0.15,雷達回波相關模型權(quán)重為0.6。
雷電預警產(chǎn)品具有產(chǎn)品簇特點,在生成雷電預警產(chǎn)品時(圖4),應保留閃電定位(圖5)、大氣電場(圖6)和雷達(圖7)等相關預警分析產(chǎn)品。雷電預警產(chǎn)品是時空數(shù)字化產(chǎn)品,采用WebGIS技術(shù)適于可視化加載、選取、查詢和定位雷電預警信息,標識雷電風險范圍。根據(jù)雷電風險等級標準,對雷電預警產(chǎn)品設定視覺編碼。即,黃色:6 小時內(nèi)可能發(fā)生雷電活動。橙色:2 小時內(nèi)發(fā)生雷電活動的可能性很大,或者已經(jīng)收到雷電影響,且可能持續(xù)。紅色:2 小時內(nèi)發(fā)生雷電活動的可能性非常大,或者已經(jīng)有強烈的雷電活動發(fā)生,且可能持續(xù)。圓圈:雷暴單體。箭頭:雷暴單體運動路徑。
本文針對有效利用雷電監(jiān)測大數(shù)據(jù),并行處理和協(xié)同來自不同雷電監(jiān)測設備的數(shù)據(jù),提出了一種基于Spark MLlib 的多模型融合的雷電預警產(chǎn)品生成方法,探討了模型訓練、產(chǎn)品生成調(diào)度和產(chǎn)品可視化的實現(xiàn)技術(shù)。同時,多模型融合的線性加權(quán)平均法中權(quán)重值與算法本地化密切相關,需要采用當?shù)財?shù)據(jù)利用機器訓練動態(tài)調(diào)整權(quán)重系數(shù)以保證模型融合效果。