劉 健 江天樂
(1.南方海洋科學與工程廣東省實驗室(珠海) 珠海 519080)
(2.復(fù)旦大學 上海 200433)
在氣象學中,氣旋是指圍繞著低氣壓的中心旋轉(zhuǎn)的大型氣團,通常所說的臺風或者颶風都屬于氣旋。以我國為例,平均每年有約7 個氣旋登錄,帶來嚴重的財產(chǎn)損失[1]。氣旋預(yù)報對于災(zāi)害預(yù)報十分重要,氣旋路徑的預(yù)報準確率已經(jīng)有了大幅度提高,但氣旋強度預(yù)測準確性并不如對氣旋軌跡預(yù)測的準確度高[2]。導(dǎo)致軌跡與強度預(yù)測之間的這種差異的主要原因是影響氣旋強度變化的因素有很多,目前科學家還沒有完全掌握氣旋強度變化的機理,這使得能夠預(yù)測未來氣旋強度變化較為困難[3~4]。
迄今為止,所使用的最穩(wěn)定的氣旋強度預(yù)測模型是基于數(shù)值模擬或回歸模型[5],計算過程較為復(fù)雜,初始狀態(tài)干擾相對較大,需要設(shè)計大量特征[6]。Jarvinen 等[7]早在1979 年建立了SHIFOR 強度預(yù)測模型,可以預(yù)測72h 內(nèi)的強度變化。后來,Pike[8]、Merrill[9]等在此模型基礎(chǔ)上,將氣候影響因子導(dǎo)入模型,預(yù)測效果有所進步。DeMaria 等[10]在1994 年利用多元線性回歸方法建立了SHIPS模型,導(dǎo)入如海表溫度等更多影響因子,預(yù)測效果有了較大提高。Drton M 等[11]提出的基于馬爾科夫鏈來實現(xiàn)氣旋強度預(yù)測,其準確度由聚類的準確度決定,用于氣旋預(yù)測的實用性不足,如果將輸出結(jié)果僅作為未來6 小時候的氣旋強度預(yù)測結(jié)果,該模型的預(yù)測準確度將會非常低。
通常將神經(jīng)網(wǎng)絡(luò)模型認為是一種黑盒模型,即它可以直接輸出所解決問題的結(jié)果,Baik J J 等[12]利用神經(jīng)網(wǎng)絡(luò)對氣旋強度進行了預(yù)測且獲得較好的預(yù)測結(jié)果,但是對于結(jié)果無法做出合理解釋。黃小剛等[13]應(yīng)用神經(jīng)網(wǎng)絡(luò)模型建立了西北太平洋熱帶氣旋強度預(yù)測模型,預(yù)報結(jié)果評測優(yōu)于線性回歸方法結(jié)果,但預(yù)報穩(wěn)定性隨著時效的增長在減小。
已有的關(guān)聯(lián)分析預(yù)測模型也存在一定的缺陷,例如,挖掘關(guān)聯(lián)規(guī)則的過程中很容易忽視一些極端的現(xiàn)象,這些現(xiàn)象出現(xiàn)頻率較低,尤其是氣象環(huán)境監(jiān)測領(lǐng)域,極端氣象現(xiàn)象總是對周圍環(huán)境造成較大的影響[14],而Yang R 等[15]提出的基于關(guān)聯(lián)分析對氣旋強度進行預(yù)測時,對所有預(yù)測因子的最小支持度閾值均為同一個值;另外,已有的氣旋強度關(guān)聯(lián)分析預(yù)測算法中,沒有考慮到所有預(yù)測變量的變化情況,最終所獲得的規(guī)則只能反映出,當某些預(yù)測變量的實際值處于某個范圍時,可能會導(dǎo)致氣旋強度發(fā)生變化。雖然關(guān)聯(lián)分析可以發(fā)現(xiàn)現(xiàn)象的變化規(guī)律,但是由于先天缺陷,并不適用于預(yù)測領(lǐng)域,使用規(guī)則預(yù)測無法達到較高的準確度,利用關(guān)聯(lián)分析對氣旋強度進行預(yù)測仍有很大的改進空間。
本文中的研究數(shù)據(jù)來自SHIPS 目前已公布的全球氣旋監(jiān)測數(shù)據(jù),數(shù)據(jù)按分布區(qū)域劃分:大西洋(1982-2016)、東北太平洋(1982-2016)、太平洋中部(1982-2016)、西北太平洋(2000-2012)、北印度洋(1998-2012),1982 年-2016 年間出現(xiàn)的1902 個氣旋,共計45385條記錄。
如表1 所示,列舉了氣旋監(jiān)測的部分參數(shù),其中VMAX 用于衡量氣旋強度。目前,SHIPS 提供的氣旋監(jiān)測數(shù)據(jù)中,同一個氣旋每條氣旋監(jiān)測記錄的時間間隔為6 個小時,每條記錄都記錄了那一時刻的氣旋各個預(yù)測因子的實際值。
表1 氣旋監(jiān)測的主要參數(shù)
原始的氣旋記錄,不能直觀地反映氣旋的強度的變化,以及氣旋的每個參數(shù)的變化趨勢。氣旋是一個極其復(fù)雜的系統(tǒng),監(jiān)測要素之間的相互影響共同決定氣旋強度未來的變化,而要素之間的相互影響不僅僅是要素值的高低造成的,要素值的變化趨勢也是不可忽視的。本文主要目的是實現(xiàn)預(yù)測氣旋的強度變化,即VMAX在未來會有怎樣的變化趨勢,為了預(yù)測變化趨勢,必定需要攜帶有變化信息的輸入變量來進行預(yù)測,這類信息只有通過對比兩條相鄰的記錄才能獲得,由此引入了滑動窗口。
為了描述氣旋的當前狀態(tài),引入了一個時間跨度為12 小時滑動窗口,由于氣旋每條記錄之間的時間為6 小時,即一個窗口內(nèi)僅包含了三條記錄,如圖1 所示,通過滑動窗口將三個時刻的數(shù)據(jù)整合成了一條數(shù)據(jù),這條數(shù)據(jù)由三部分組成,以圖中的窗口為例,滑動窗口W1內(nèi)包含了T1、T2 和T3 時刻的氣旋數(shù)據(jù),首先計算時刻T2 和T1 相同預(yù)測要素監(jiān)測值的差,將差值根據(jù)所制定的范圍進行離散化,輸出該要素在T1 到T2 時刻之間發(fā)生變化,然后再根據(jù)T2 時刻要素值所處的范圍進行離散化,可表示當前時刻(T2 時刻)各要素值所處的等級,最后計算T3 時刻和T2 時刻氣旋強度的差值,得到氣旋強度的變化值,根據(jù)制定的范圍,得到氣旋強度的變化情況,即未來的時刻(T3 時刻)氣旋強度發(fā)生的變化。處理后的數(shù)據(jù)相較于處理前包含了更多信息,即要素的變化趨勢信息,用這樣的數(shù)據(jù)預(yù)測未來氣旋強度變化也更加合理,有助于提高氣旋強度預(yù)測模型的預(yù)測準確度。
圖1 滑動窗口處理數(shù)據(jù)
圖2 最佳個體適應(yīng)度對比
因為氣旋的狀態(tài)是一個不斷變化的過程,當某一個要素數(shù)值處于某個范圍內(nèi)時會對其造成一定的影響,而且當某個要素的值在短期內(nèi)發(fā)生了急劇的變化,或者在短期內(nèi)沒有發(fā)生劇烈變化,這也會對未來的氣旋強度產(chǎn)生一定影響,目前已有的氣旋強度預(yù)測模型均沒有考慮要素的變化,這使得最終的預(yù)測結(jié)果準確率不理想。最終,每個要素均會得到兩個量來進行描述,分別表示數(shù)值變化程度和數(shù)值當前所處范圍。
基于上述思想將其轉(zhuǎn)化為用于Apriori 算法發(fā)現(xiàn)規(guī)則的事務(wù)型數(shù)據(jù)。分別將各個氣旋強度預(yù)測變量的值劃分為三個范圍,分別用低(LO)、中(M)、高(HI)來表示,從而實現(xiàn)離散化,假設(shè)某個要素的值為X,m表示該因子的平均值,s表示其標準差,當X ≥m+s/2 時,用HI 來表示,當m-s/2 ≤X GA-MSApriori 算法將遺傳算法和Apriori 算法相結(jié)合,遺傳算法通常用于找到給定問題的最佳適應(yīng)性的個體,作為該問題的解決方案,借助群體中的個體經(jīng)歷進化過程,通過模擬物種在自然選擇過程中的物種選擇和遺傳機制,通過多次迭代過程篩選候選物種,并對保留下來的物種進行組合,從而產(chǎn)生下一代的候選物種,重復(fù)迭代直到滿足某一個收斂條件,以此來解決最優(yōu)化問題。本文中需要解決的是如何確定各個要素的最小支持度,以獲得預(yù)測準確度最高的規(guī)則。 所有項的最小支持度均被轉(zhuǎn)換為二進制,連接成一串二進制序列,作為遺傳算法中的染色體,如果選取了m個要素作為模型預(yù)測的輸入,經(jīng)過滑動窗口處理之后會產(chǎn)生6m 個項,如果每個項的最小支持度用n 位二進制數(shù)表示,則每條染色體的二進制串長度為6mn,求最優(yōu)解的搜索空間大小為2^6mn,本模型中每個項的最小值支持度限制在5%~20%之間,所以采用4 位二進制來對支持度進行編碼,選取的參數(shù)有9 個,所以整個搜索空間的大小為2^216。GA-MSApriori中通過選擇、交叉、突變實現(xiàn)物種的迭代進化,雖然突變的概率通常很低,當時它是物種進化的重要動力之一,并且這種突變不是僅僅只有一個突變點,而是有多個突變點出現(xiàn)在后代染色體中,當然這也是隨機的,初始種群通過隨機產(chǎn)生,對于每個個體的適應(yīng)度的計算,實際上是對個體染色體編碼(二進制編碼)進行解碼,每個基因解碼后的值對應(yīng)了每個項的最小支持度。根據(jù)多個基因設(shè)置各項最小支持度,之后利用修改的多最小支持度算法獲得一系列為氣旋強度變化項的強關(guān)聯(lián)規(guī)則,利用這些規(guī)則對測試數(shù)據(jù)集進行預(yù)測,并獲得預(yù)測準確度,以預(yù)測準確度作為個體的適應(yīng)程度的衡量標準,計算所有個體的適應(yīng)度之后,再利用遺傳算子生成下一代個體,GA-MSApriori 偽代碼如下所示,其中D_Train 為用于訓(xùn)練的事務(wù)數(shù)據(jù)集、D_Test 為用于測試的事務(wù)數(shù)據(jù)集、gene為染色體基因長度、num 為染色體基因個數(shù)、mm_sup 為各項最小支持度的最小值、min_conf 為最小置信度。 GA-MSApriori偽代碼如下。 遺傳算法的性能受其本身的一些參數(shù)影響,例如種群大小、如何編碼、編碼長度以及遺傳算子中的概率等因素,GA-MSApriori 由于基于遺傳算法實現(xiàn),所以其性能同樣也受這些因素影響,考慮到實際利用關(guān)聯(lián)算法挖掘氣旋關(guān)聯(lián)規(guī)則時的最小支持度范圍,GA-MSApriori 采用二進制對最小支持度進行編碼,且編碼規(guī)則如下公式: 其中init為各項最小支持度的最小閾值,bin為染色體中對應(yīng)的二進制編碼,將該二進制數(shù)轉(zhuǎn)換為十進制數(shù),再加上init值得到對應(yīng)項的最小支持度,完成解碼。 GA-MSApriori 算法中遺傳算法采用最優(yōu)保留策略,如式(2)所示,P為保留的最優(yōu)個體,其中pk為第k 代群體的最優(yōu)解f(pk)為對應(yīng)的適應(yīng)度,如果f(pk)>f(pk+1) ,則第k+1 代的最優(yōu)個體pk+1為上一代的最優(yōu)個體pk,即f(pk+1) =f(pk),如果上一代的最優(yōu)個體并不優(yōu)于最新一代的最優(yōu)個體,則不保留上一代最優(yōu)個體,可以看出如果在某一代群體中發(fā)現(xiàn)了該問題的最優(yōu)解,則這個解將會一直保留下去。并且規(guī)定,如果第k 代最優(yōu)個體的適應(yīng)度大于第k+1代的最優(yōu)個體,會將第k代個體保留,并且它將同k+1 代的其它個體一起產(chǎn)生第k+2 代個體,相當于k+1 代在原有的基礎(chǔ)上新增了一個個體,參與后續(xù)的種群遺傳。 對每個個體的適應(yīng)度計算均是要利用多關(guān)聯(lián)度的Apriori算法進行關(guān)聯(lián)規(guī)則挖掘,利用規(guī)則進行預(yù)測得到對應(yīng)的預(yù)測準確度,該準確度即為個體的適應(yīng)度。Apriori算法中有一個重要的先驗性質(zhì),即頻繁項集的所有子集也是頻繁的,如果每個項的最小支持度是不同的,假設(shè)有A、B、C 三個項,其中最小支持度有MIS(A)>MIS(B)>MIS(C) ,2-項集{A,B},假設(shè)有sup{A,B} GA-MSApriori 算法運算復(fù)雜度取決于每次產(chǎn)生的新一代種群個數(shù)S以及種群的迭代次數(shù)G,每個個體的適應(yīng)度計算時間復(fù)雜度取決于訓(xùn)練集的大小T,即本算法的時間復(fù)雜度為Ο(SGT)。 實驗中選取了9 個與氣旋強度變化有關(guān)的監(jiān)測要素,分別是VMAX,CD20,U200,REFC,T000,O500,MSLP,DTL,SHRD。在經(jīng)過滑動窗口處理之后得到的記錄中,每個監(jiān)測要素均被離散化為6 個布爾值,表示在6h 內(nèi)的變化,以及當前值所處的范圍,氣旋強度用當前最大海表面風(VMAX)的值來表示,本文僅考慮VMAX 在6h 后的變化情況而非它的數(shù)值,根據(jù)在6h 后,風速提高、降低5kt來反映氣旋強度是加強還是減弱,如果風速沒有變化則為穩(wěn)定狀態(tài)。當相鄰兩條記錄的時間間隔遠遠超過6h,滑動窗口將直接滑過當前記錄,然后再對一個窗口中的數(shù)據(jù)進行離散化,經(jīng)過滑動窗口處理后新的記錄條數(shù)為39332 條,其中強度變強的記錄占28.9%,強度減弱的記錄占25.8%,強度不變的記錄占45.3%。用于預(yù)測的要素用于離散化的相關(guān)值如表2所示。 表2 要素值劃分閾值 由于本文中所設(shè)計的模型僅為預(yù)測氣旋強度,所以通過關(guān)聯(lián)分析算法僅獲得后繼為氣旋強度項的規(guī)則,通過對Apriori 算法加以改進,使得其支持對每個項單獨設(shè)置最小支持度,且獲得關(guān)聯(lián)規(guī)則時,僅考慮后繼為氣旋強度項。本實驗利用遺傳算法來獲得規(guī)則預(yù)測準確度最高時各個項的最小支持度。最小置信度為60%,每個項的最小支持度設(shè)置范圍在4%~19%之間,所以利用4 位二進制對每一項的支持度編碼,由于共有9 個預(yù)測要素,共產(chǎn)生54個項,所以遺傳算法個體染色體為長度216的二進制數(shù),共54個基因,設(shè)置種群規(guī)模為100,第一代個體的編碼隨機生成,最大種群迭代次數(shù)為50次。遺傳算子包括選擇,交叉和變異,其中選擇算子采用輪盤法,利用規(guī)則的實際預(yù)測準確度來衡量每個個體的適應(yīng)度,即當在Apriori算法中將各項的最小支持度設(shè)置為當前個體的每個基因所對應(yīng)的值,從而獲得規(guī)則,用這些規(guī)則進行預(yù)測得到對應(yīng)的預(yù)測準確度。采用的歷史數(shù)據(jù)為1982年至2016年的已經(jīng)處理為事務(wù)型數(shù)據(jù)的氣旋監(jiān)測數(shù)據(jù),數(shù)據(jù)共39332 條,其中1982 年至2009 年間的數(shù)據(jù)作為訓(xùn)練集,共29180 條數(shù)據(jù),剩下的2010 年至2016 年間的10152條數(shù)據(jù)作為測試集。 規(guī)則獲取到之后,根據(jù)每條規(guī)則的置信度進行排序,測試數(shù)據(jù)優(yōu)先與置信度高的規(guī)則進行匹配,如果記錄中包含了該規(guī)則先導(dǎo)條件中的所有項,則驗證其真實的氣旋強度變化與規(guī)則中的結(jié)果是否一致,若不一致則該條規(guī)則預(yù)測不準確,對比了基于動態(tài)的交叉率和變異率的GA-MSApriori 和固定動態(tài)交叉率變異率的GA-MSApriori,動態(tài)的交叉率最大值為0.9,初始交叉率為0.75,高變異率為0.003,正常變異率為0.001;固定交叉概率為0.85,固定變異概率為0.001。種群迭代過程中,每代的最優(yōu)個體適應(yīng)度對比如圖(3)所示,其中GAMSApriori 采用最優(yōu)保留策略,可以從圖中明顯地看出基于動態(tài)的交叉率和變異的率的GA-MSApriori 收斂速度更快,而且在迭代50 次后得到較優(yōu)的結(jié)果,只考慮所有匹配規(guī)則的數(shù)據(jù),其預(yù)測準確度為71.8%,而由于部分數(shù)據(jù)無法與所獲得的規(guī)則匹配,實際準確度為66.5%。 實驗中,對比了基于統(tǒng)一設(shè)置各項最小支持度時預(yù)測準確度和基于GA優(yōu)化后的多最小支持度的預(yù)測準確度,分別對比了支持度為9%和10%時,2010至2016年的預(yù)測準確度,如圖3,顯然GA優(yōu)化后可以明顯地提升規(guī)則的預(yù)測準確度。 表3是迭代50次得到的最優(yōu)解,獲得規(guī)則總數(shù)為119 條,其中置信度超過65%的規(guī)則有75 條,部分規(guī)則如附錄中所示,可以從規(guī)則中發(fā)現(xiàn)氣旋強度變化的規(guī)律,例如規(guī)則:“SHRD_LO;MSLP_Decreasing;REFC_M;REFC_Stable;VMAX_Increasing;->I”,該條規(guī)則反映了若當前氣旋切向量風速(SHRD)很低,海面氣壓(MSLP)有降低趨勢,200hPa相對渦流動量通量輻合(REFC)過去變化穩(wěn)定且值處于低和高之間,且氣旋風速有增大趨勢,則在6h 以后氣旋強度增大的可能性比較大,該條規(guī)則的支持度為5.5%,置信度為73.8%,對比傳統(tǒng)的基于關(guān)聯(lián)分析的氣旋強度預(yù)測模型,其輸出的規(guī)律中并不包含要素的變化,例如“SHRD_LO;REFC_M;REFC_Stable;->I”,傳統(tǒng)的預(yù)測規(guī)則中包含的信息相對較少。 表3 各項最小支持度 氣旋強度預(yù)測的重要程度不言而喻,本文提出模型首先利用滑動窗口對歷史數(shù)據(jù)進行處理,盡可能發(fā)現(xiàn)數(shù)據(jù)中隱藏的信息,使得處理后的每條數(shù)據(jù)中不僅包含了預(yù)測變量值所處的范圍,還包括了預(yù)測變量在近期的變化趨勢,這意味著如果采用相同的預(yù)測變量,經(jīng)過滑動窗口處理后的數(shù)據(jù)將蘊含更多的信息,這些數(shù)據(jù)有助于提高氣旋強度預(yù)測的準確性。GA-MSApriori 算法獲得了預(yù)測準確度最高的一系列規(guī)則,這些規(guī)則揭示了預(yù)測變量過去的變化對未來氣旋強度的影響,但是在對數(shù)據(jù)進行預(yù)處理時,如何劃分預(yù)測變量的變化范圍仍需要進一步的深入研究,需要結(jié)合氣象學的相關(guān)專業(yè)知識,使得算法的輸入數(shù)據(jù)更加合理,對提高氣旋強度的預(yù)測準確度有重要意義。3 GA-MSApriori預(yù)測算法
4 實驗
5 結(jié)語