史達偉 張靜 曹慶 李超 朱云鳳
(1 連云港市氣象局,江蘇 連云港 222006;2 江蘇省氣象臺,南京210008;3 上海海洋中心氣象臺,上海 200030)
海霧是一種海面邊界層大氣水汽凝結或者凝華致使大氣能見度不足1 km的災害性天氣現象[1]。我國的海霧主要發(fā)生在黃海和東海北部[2]。海州灣是位于我國黃海西部,江蘇省最北端重要的海港漁港,氣候上屬于南北氣候的過渡帶,既具南北方氣候特點,同時兼具陸地和海洋雙重影響[3-5]。海州灣的海霧是造成當地沿海低能見度事件發(fā)生的主要誘因,對沿海地區(qū)的人民的日常生活、生產運輸、海上作業(yè)等帶來不便,持續(xù)時間較長、能見度極低的海霧常常引發(fā)嚴重海上交通事故,不僅如此,海霧會阻隔太陽輻射,使海水水質變壞,導致海水養(yǎng)殖的蝦貝等大量死亡[6-10]??傊?,海霧使沿海地區(qū)的海上航行、農漁生產、國民經濟和社會生活受到重大影響。
海霧的生消往往與湍流輸送、輻射降溫、霧滴沉降、風切變、霧頂夾卷等復雜物理過程有關[11]。中尺度數值模式對海霧中復雜的邊界層過程還難以準確反饋,海霧的數值預報還存在許多困難[12-14]。海霧預報目前最有效的方法仍以基于歷史海洋氣象資料的傳統(tǒng)統(tǒng)計方法為主[15-17]。大多數統(tǒng)計預報采用逐步回歸等統(tǒng)計分析方法,一些學者建立青島地區(qū)海霧預報方法以及黃海和東海海霧短期客觀預報方法等[17-18]。海霧的生成發(fā)展和消散往往具有顯著的地域特點,我國海霧的發(fā)生頻率隨緯度升高而提高,即北方比南方更易發(fā)生海霧。海州灣處于海霧多發(fā)區(qū)域。海州灣海霧是否發(fā)生的準確預測將對海州灣乃至江蘇省沿海的社會安全、經濟發(fā)展產生重要的現實意義。
隨著大數據、云計算和人工智能技術的不斷推進,機器學習技術在諸多領域實現了廣泛的應用。同樣,也有越來越多的學者將機器學習技術應用于氣象科研業(yè)務領域。史達偉等[19-20]利用決策樹算法對道路結冰及特強濃霧災害建立了較為準確的診斷或預測模型;ZHANG, et al[21-22]利用機器學習對臺風路徑是否轉向與臺風是否登陸建立了較為準確的分類預測模型。然而,機器學習技術應用于區(qū)域性海霧研究的成果還不豐富。本文將對海州灣海霧的統(tǒng)計特征進行分析,并利用決策樹算法對海州灣海霧建立預測模型。
利用江蘇省氣象局提供的2014—2018年西連島(站點號:58041)氣象站點的逐小時地面氣象觀測要素(2 m氣溫、海平面氣壓、相對濕度、10 min平均風向、10 min平均風速、降水量、相對濕度、能見度)。該套數據較以往人工觀測數據具有觀測頻次高、無主觀觀測誤差等優(yōu)點。將數據集中的缺測數據剔除,另外降水時段亦可發(fā)生低能見度,但非海霧的情況,故將有降水時段的數據進行剔除。整套數據共計42 770個有效數據樣本,其中發(fā)生海霧的樣本數為1 139個(占比2.66%),未發(fā)生海霧的樣本數為41 631個(占比97.34%)。西連島站是國家一般觀測站,是海州灣區(qū)域離港較近、觀測數據時間序列最長、數據質量最好的海島站,對海州灣海霧的監(jiān)測具有重要的指示作用和實際意義。
C4.5決策樹算法是一種分類與預測算法,1979年由J R Quinlan發(fā)明,后提出ID3算法,主要針對離散型屬性數據,經過不斷改進,最終形成C4.5算法。
這種算法通過屬性信息增益的大小選擇每個節(jié)點上的分類屬性,根據能夠帶來最大信息增益的屬性拆分樣本,遞歸拆分直到達到停止條件。最后對結論進行檢驗,將那些對模型沒有顯著貢獻的樣本子集進行修剪和剔除。
令S為包括s個數據樣本的訓練集,S(Ci)為S中屬于Ci類的樣本個數(i=1,2,...,m),那么訓練集中樣本屬于第i類的概率為:
(1)
此時訓練集S的信息(熵)定義為:
,
(2)
而后需通過屬性A將信息S分為{S1,S2,…Sv},那么葉節(jié)點對于分類信息的信息熵為:
(3)
則信息增益計算如下:
gain(A|S)=info(S)-infl(A|S),
(4)
增益率為:
(5)
C4.5算法是基于ID3算法發(fā)展起來的,其中一大改進就是可以處理連續(xù)數據,C4.5算法對于連續(xù)屬性數據的一般的處理過程如下:(1)對結點中的屬性數據進行排序;(2)用不同的閾值將訓練集數據進行動態(tài)劃分;(3)將輸入數據的兩端的兩個值的中點作為閾值,輸入改變時便確定新的閾值;(4)根據閾值確定兩個劃分,將所有數據樣本劃分到這兩類中;(5)得到所有可能的閾值,并計算所有的劃分情況下的信息增益和增益率。(6)最后每個連續(xù)屬性都會被閾值劃分為兩類(大于等于閾值和小于閾值)。
算法模型效果檢驗采取交叉驗證的方式,即用一部分數據進行模型的訓練,即訓練集。另一部分獨立的數據進行模型的檢驗,即測試集。通常訓練集樣本總量為測試集樣本的4倍左右。訓練正確的樣本數比訓練總樣本數為學習準確率,測試正確樣本數比測試總樣本數為測試準確率。
海州灣屬于溫帶季風區(qū),是江蘇省海霧最多發(fā)的區(qū)域。本文以海州灣海霧為目標展開研究,本節(jié)通過統(tǒng)計海州灣海霧發(fā)生的時間分布特征及主要的氣象要素特征總結規(guī)律,亦可與后文的決策樹模型互為映證。本文將以在海州灣海區(qū)內的西連島氣象站作為海州灣的代表站進行下一步研究。
圖1 2014—2018年海州灣海霧的年分布(a,虛線為線性趨勢線)及月分布(b)Fig.1 Annual distribution (a, dotted line is linear trend line) and (b) monthly distribution of sea fog in Haizhou Bay from 2014 to 2018
由2014—2018年海州灣海霧的年分布(圖1a)可知,海霧在各年份均有發(fā)生,其中2014年發(fā)生頻次最高,有310個時次觀測到海霧(占總樣本27.2%)。2017年發(fā)生頻次最少,僅有152個時次發(fā)生海霧(占總樣本13.3%)。整體上看,海霧的發(fā)生頻次呈一定下降趨勢。由2014—2018年海州灣海霧的月分布(圖1b)可知,從季節(jié)上,海州灣海霧在冬春季最易發(fā)生,夏秋季發(fā)生較少。從各月看,2月是海州灣發(fā)生海霧最多的月份,共觀測到219個時次發(fā)生海霧(占總樣本19.2%),9月最少,在數據樣本中未出現海霧。
圖2為2014—2018年海州灣海霧的時次分布??梢钥闯?,1 d中凌晨至上午最易發(fā)生海霧,午后海霧發(fā)生頻次明顯較少。海霧發(fā)生的峰值時段為04—08時(北京時,下同),其中05時觀測到的海霧頻次最多,達到78個時次,占總樣本6.8%。海霧發(fā)生的低谷時段為14—20時,其中14時觀測到的海霧頻次最少,僅有27個時次,占總樣本2.4%。
通過對海州灣海霧時間分布統(tǒng)計分析,發(fā)現海州灣海霧在年際分布上呈下降趨勢;海州灣海霧往往多發(fā)于冬春季節(jié),夏秋季節(jié)較為少見;海州灣海霧在1 d中多見于凌晨至上午,午后少有出現。
對海州灣海霧的氣象要素特征進行分析,主要從相對濕度、風向、風速等角度對海州灣海霧發(fā)生規(guī)律進行統(tǒng)計,用以描述海州灣海霧發(fā)生時氣象要素分布。
圖3為海州灣海霧發(fā)生時相對濕度的分布,可見,當相對濕度不足80%時,海霧鮮有發(fā)生,僅有6個時次觀測到海霧,占總樣本的0.5%;當相對濕度≥96%時,觀測到海州灣海霧發(fā)生的頻次最多,有792個時次觀測到海霧,占總樣本的69.5%。海州灣海霧的發(fā)生頻次隨著相對濕度的增加呈指數型增長趨勢。
圖2 2014—2018年海州灣海霧的時次分布Fig.2 Time distribution of sea fog in Haizhou Bay from 2014 to 2018
圖3 2014—2018年海州灣海霧發(fā)生頻次在不同相對濕度情況下的分布(虛線為指數趨勢線)Fig.3 Distribution of frequency of sea fog in Haizhou Bay underdifferent relative humidity conditions(Dotted line is exponential growth line)
根據海霧能見度的不同區(qū)間,對相對濕度的均值進行統(tǒng)計(圖4),發(fā)現海霧的發(fā)生往往伴隨著空氣相對濕度的顯著提高,往往相對濕度在90%以上更加有利。當能見度介于0.5~1 km之間時,相對濕度均值在94%附近,當能見度下降到0.5 km以下時,相對濕度均值升高至98%附近。
圖4 2014—2018年海州灣海霧不同能見度下相對濕度均值分布Fig.4 Mean distribution of relative humidity under differentvisibility in Haizhou Bay in 2014-2018
圖5 2014—2018年不同風力情況下海州灣海霧分布Fig.5 Sea fog distribution in Haizhou Bay under differentwind conditions from 2014 to 2018
通過上述統(tǒng)計發(fā)現,發(fā)生海霧時對相對濕度的要求較高,較高的相對濕度(98%以上)更有利于海上濃霧的發(fā)生。
海州灣海霧發(fā)生時往往伴隨著不同的天氣形勢,近地面表現為風場上的差異。通過對海州灣海霧發(fā)生時不通過風力等級情況下海霧分布的統(tǒng)計(圖5),可以看出海州灣海霧在0~6級及以上風力背景下均有發(fā)生,當風力達2~3級時發(fā)生海霧的頻次最多,其中當風力大小為2級時有419個時次發(fā)生了海霧,占比36.8%。在靜風和6級以上風力的背景下發(fā)生海霧的頻次最少,分別為16個時次和9個時次,占比1.4%和0.79%??梢园l(fā)現,在合適的風力條件下,海州灣海霧更易發(fā)生,風力過大或過小均不利于海霧的發(fā)生發(fā)展。
通過對氣象要素的統(tǒng)計分析可以發(fā)現,海州灣海霧的發(fā)生發(fā)展和氣象要素的變化密切相關,當相對濕度、風力等氣象要素在合適的條件下就可以促使海州灣海霧的發(fā)生。綜上,文章對海州灣海霧發(fā)生的時間分布規(guī)律及氣象要素特征進行了統(tǒng)計分析,結論如下:(1)季節(jié)上看,海州灣海霧多發(fā)生于冬春季節(jié),少見于夏秋季節(jié);(2)從日變化看,海州灣海霧多發(fā)生于凌晨至上午,少見于午后時段;(3)當相對濕度高于90%,風力2~3級時有利于海州灣海霧的發(fā)生和發(fā)展。
上文的統(tǒng)計分析顯示出海霧發(fā)生的基本特征和規(guī)律以及有利的氣象條件。但海霧天氣的發(fā)生發(fā)展是非常復雜且非線性的天氣過程。為了更加準確的把握海州灣海霧發(fā)生發(fā)展的規(guī)律,本文將利用2014—2018年西連島站氣象觀測數據基于機器學習中經典的C4.5算法對海州灣是否發(fā)生海霧建立決策樹模型。
圖6 基于C4.5算法的海州灣是否發(fā)生海霧預測決策樹Fig.6 Decision tree based on C4.5 algorithm for sea fog diagnosis in Haizhou Bay
本文使用的C4.5算法是一種經典的帶標簽的有監(jiān)督機器學習算法,這一類算法最長使用的建模策略為留出法,即將總數據樣本分為訓練樣本集與測試樣本集兩部分,且訓練集和測試集之間為互斥關系,利用訓練集數據建立決策樹模型,將測試集數據用于檢驗模型的一般性和魯棒性。一般地,訓練集占總樣本的80%左右,測試集數據占總樣本的20%左右。首先,將2014—2017年數據作為模型的訓練集(約占80%),將2018年數據作為測試集(約占20%),把海州灣“能見度是否低于1 km”抽象成為一個是與否的二元分類的問題。分別對訓練集數據樣本和測試集數據樣本進行統(tǒng)計,訓練集中共有34 168個數據樣本,其中能見度低于1 km的海霧樣本為959個,對測試集而言,共有8 622個數據樣本,其中能見度低于1 km的海霧樣本為180個。為了維持目標變量“是否為海霧”中“是”與“否”的樣本數量平衡關系,也為模型最后效果更加客觀真實,文章分別對訓練集和測試集中“是”海霧的數據樣本采取有放回采樣的策略,將海霧數據樣本量擴大至與非海霧數據樣本量相當,既在擴大海霧數據樣本規(guī)模的同時,也保留原始數據的數據特征。如表1所示。這樣就完成C4.5決策樹算法所需訓練集與測試集的選取與處理。
表1 通過有放回采樣方式平衡訓練集與測試集“是否發(fā)生海霧”二元目標變量樣本Table 1 Balance the binary target variable samples of “whether sea fog occurs” between training set and test setby means of sampling with playback
以是否為海霧為模型的目標變量,模型的輸入變量為氣溫、氣壓、相對濕度、10 min平均風速、10 min平均風向等觀測要素。將預處理好的訓練集輸入C4.5算法,文章選取預剪枝策略以防止模型的過擬合,增強決策樹模型的魯棒性。具體做法是控制決策樹模型的深度,通過比對發(fā)現當決策樹深度為5時模型效果最優(yōu),通過計算得到具體決策樹(圖6)。
表2 C4.5算法發(fā)現的海州灣海霧氣象觀測要素特征預測規(guī)則集Table 2 Feature diagnosis rule set of meteorological observation elements of Haizhou Bay sea fog discovered by C4.5 algorithm
決策樹具有形式直觀,符合人類邏輯判斷思維方式的特點,觀察決策樹可以發(fā)現,根節(jié)點為相對濕度,也就是說對于海州灣海霧是否發(fā)生最重要的因子就是相對濕度的大小。在決策樹模型中,每從根節(jié)點(相對濕度)到一個葉節(jié)點(T/F)均可抽象為一條If…then形式的決策規(guī)則,將決策樹中的每條規(guī)則歸納可形成方便人們學習使用的決策規(guī)則集(表2)。
通過決策樹抽象出判斷海州灣是否發(fā)生海霧的規(guī)則集,根據訓練集數據建立決策樹模型,該決策樹模型學習準確率為92.85%。接著,將根節(jié)點至葉節(jié)點抽象出決策規(guī)則,每條規(guī)則都可得到學習準確率,方便與實際情況對照參考。最后,將預處理好的測試集數據對該決策樹模型的泛化能力進行測試,測試準確率為93.51%。綜上,該決策樹模型的分類效果好,泛化能力強。對于海州灣海霧的發(fā)生提供了簡潔、可理解、有價值的參考。
本文針對海州灣海霧天氣進行了時間分布特征和氣象要素統(tǒng)計特征的分析,并利用機器學習相關算法與海洋氣象科研業(yè)務問題相結合得到了較為實用有效的結論。利用機器學習技術中經典的C4.5決策樹算法針對連云港西連島(58041)站點的海霧天氣建立了預測模型。主要結論如下:
(1)通過對海州灣海霧天氣特征的統(tǒng)計分析,發(fā)現海州灣海霧的發(fā)生具有年際的下降趨勢;季節(jié)上看,主要發(fā)生在冬春季,少發(fā)于夏秋季;日變化上看,多發(fā)生于凌晨到上午,少見于午后等時間分布特征。
(2)通過對海州灣海霧氣象要素特征的統(tǒng)計發(fā)現,當相對濕度高于90%,風力2~3級,風向有偏東風分量時有利于海州灣海霧的發(fā)生和發(fā)展;當相對濕度較低,靜風或風力過大,風向有偏西偏南的分量時不利于海州灣海霧的發(fā)生和發(fā)展。
(3)經過數據預處理,基于機器學習中經典的C4.5決策樹算法對海州灣海霧是否發(fā)生建立預測模型,并得到方便使用的海州灣海霧預測規(guī)則集;決策樹模型的自學習準確率為92.85%,測試準確率為93.51%,模型性能較好,具備較強的泛化能力和應用價值。
海霧是一種邊界層內復雜的海洋天氣現象,決策樹算法盡管能夠很好地探尋海霧發(fā)生發(fā)展的統(tǒng)計規(guī)律,但對其復雜的物理機制缺乏解釋能力。物理機制的深入研究是統(tǒng)計分析的重要基礎。相信隨著海霧基礎理論的不斷深入研究以及機器學習算法的不斷迭代升級,利用機器學習技術預測海霧會取得更加有意義的成果。