周明飛,熊 偉,劉還珠
(1.貴州省氣象臺,貴州 貴陽 550002;2.國家氣象中心,北京 100081)
KNN方法在貴州晴雨預(yù)報中的試驗
周明飛1,熊 偉1,劉還珠2
(1.貴州省氣象臺,貴州 貴陽 550002;2.國家氣象中心,北京 100081)
使用 2003—2007年 T213數(shù)值預(yù)報產(chǎn)品和貴州省 08-08時日降水量資料,建立了貴州省 9個站的 KNN晴雨預(yù)報模型,并對 2008年進行了預(yù)報試驗。在搜索 K鄰近域的過程中,與傳統(tǒng)的 KNN方法相比,求取了不同類別的 K值,即 K+、K-,使該方法選擇的最鄰近域中的 K值取得更為合理。通過對歷史資料的反復(fù)交叉驗證求取了最優(yōu)的 K+、K-值組合。最后對 2008年貴州省 9個站進行預(yù)報試驗并評估。預(yù)報評估結(jié)果表明:KNN方法總體上降低了預(yù)報空報率,提高了晴雨預(yù)報的TS評分和預(yù)報準(zhǔn)確率,特別是對 24h和 48h,KNN方法在對貴州降水預(yù)報的數(shù)值預(yù)報解釋應(yīng)用中有一定的效果。
K鄰近域;晴雨預(yù)報;數(shù)值預(yù)報產(chǎn)品
貴州是一個降水比較豐富的省份,因此降水預(yù)報在貴州省是一項重要的常規(guī)預(yù)報,而在降水預(yù)報中,由于降水要素本身非連續(xù)和非正態(tài)分布的特點,以及貴州特殊的地形環(huán)境,目前貴州的降水客觀預(yù)報沒有較好的技術(shù)方法。本文嘗試將 KNN(K—NearestNeighbor)方法應(yīng)用到貴州的晴雨預(yù)報中。KNN(K—NearestNeighbor)非參數(shù)估計技術(shù)[1]是近幾年來在數(shù)值預(yù)報釋用中頗為重要的一種方法,它是基于范例進行推理的人工智能領(lǐng)域中發(fā)展較快的一種求解問題技術(shù),利用過去的范例或經(jīng)驗來解決當(dāng)前問題的類比推理方法,亦稱為相似方法。由于氣象要素樣本較長,并且獲取資料較為及時,使得 KNN技術(shù)得以在天氣預(yù)報,特別是在定性要素的判別中發(fā)揮作用。該方法不需要建立預(yù)報方程,直接根據(jù)訓(xùn)練數(shù)據(jù) (歷史天氣樣本)建立概率天氣預(yù)報的 K近鄰非參數(shù)估計仿真模型,利用訓(xùn)練數(shù)據(jù)中蘊含的輸入輸出關(guān)系進行預(yù)報,可以避免統(tǒng)計方法的一些弊病和概率密度估計誤差的影響[2]。邵明軒等[3]曾用非參數(shù)估計技術(shù)預(yù)報風(fēng)的研究,表明該方法在天氣預(yù)報中具有一定的實際參考使用價值。曾曉青等[4]利用基于交叉驗證技術(shù)的 KNN方法在降水預(yù)報中采取了不同的 K+、K-,這較好的彌補了 KNN方法的缺陷,試驗表明:K+和 K-為最佳鄰近域組合的 KNN方法在降水預(yù)報中有較好效果。在貴州一年中降水日數(shù)較多,其正負(fù)樣本較為平衡,這個特性能很好的滿足 KNN方法的要求。陳豫英等[2]基于聚類天氣分型的 KNN方法在風(fēng)預(yù)報中的應(yīng)用,在做 KNN之前先進行了聚類分型,聚類分型后根據(jù)不同的天氣背景提取不同的預(yù)報因子這更有利于預(yù)報的準(zhǔn)確性,進一步提高了寧夏地區(qū)風(fēng)的預(yù)報效果。本文嘗試將改進的 KNN方法應(yīng)用于貴州降水的晴雨預(yù)報中。
本文利用國家氣象中心 2003—2007年逐日的T213數(shù)值預(yù)報產(chǎn)品作為基本因子資料。所使用的T213數(shù)值預(yù)報產(chǎn)品包括 15層 7個預(yù)報時效 (00、12、24、36、48、60、72h)格點場中的 14個基本氣象要素。利用這些基本氣象要素通過動力診斷得出反映降水的物理量,然后利用雙線性插值的方法將這些基本要素和擴充物理量插值到對應(yīng)的站點上,建立起所需要的站點因子庫,這大大增加了可挑選的因子信息量。實況數(shù)據(jù)集是采用MEOFIS系統(tǒng)中的歷史實況庫及貴州省歷史資料庫,取 2003—2007年逐日 08時到次日 08時的 24h降水量。
根據(jù)預(yù)報的要素選擇因子,將歷史的資料預(yù)報要素與所有的其它氣象要素做相關(guān)分析、逐步回歸然后做 F檢驗,選取出相關(guān)最好的 10~20個氣象要素作為預(yù)報因子。
本文中的方法引用自文獻[2]和文獻[4]中改進的 KNN方法,在此做簡單介紹和特點介紹。
K最近鄰 (K-Nearest Neighbor,KNN)分類算法,是一個理論上比較成熟的方法,也是最簡單的機器學(xué)習(xí)算法之一。該方法的思路是:如果一個樣本在特征空間中的 K個最相似 (即特征空間中最鄰近)的樣本中的大多數(shù)屬于某一個類別,則該樣本也屬于這個類別。KNN算法中,所選擇的鄰居都是已經(jīng)正確分類的對象。該方法在定類決策上只依據(jù)最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別。KNN方法雖然從原理上也依賴于極限定理,但在類別決策時,只與極少量的相鄰樣本有關(guān)。由于 KNN方法主要靠周圍有限的鄰近的樣本,而不是靠判別類域的方法來確定所屬類別的,因此對于類域的交叉或重疊較多的待分樣本集來說,KNN方法較其他方法更為適合。該算法在分類時有個主要的不足是,當(dāng)樣本不平衡時,如一個類的樣本容量很大,而其他類樣本容量很小時,有可能導(dǎo)致當(dāng)輸入一個新樣本時,該樣本的 K個鄰居中大容量類的樣本占多數(shù)。因此可以采用權(quán)值的方法 (和該樣本距離小的鄰居權(quán)值大)來改進。在本文中采用改進的 KNN方法,與傳統(tǒng)的 KNN方法相比,不同的類別取不同的 K值,可以在一定程度上彌補 KNN方法的這個缺陷。
在晴雨預(yù)報中,實驗進行有無降水預(yù)報,故分為 2個類,有降水的為正樣本,無降水的為負(fù)樣本。其中尋找鄰居的方法采用歐氏距離作為相似判據(jù)。
式 (1)中,Di∈R,i=1,2,…,n;這樣 n個樣本數(shù)可得到 n個距離,按距離依次排序,選擇第 K個作為待預(yù)報數(shù)據(jù)的判斷標(biāo)準(zhǔn),凡小于該距離的樣本,就作為待預(yù)報的最近鄰域[4]。
接著是確定 K的值,此為改進的 KNN方法與傳統(tǒng) KNN方法的區(qū)別,傳統(tǒng)的 KNN方法僅采取一個K值來進行類別的判定,而改進的 KNN方法采用不同的類別有不同的 K值。在本文中僅有 2個類別,有無降水即為正負(fù)樣本,故取 2個 K值,即 K+、K-。
式 (2)中,n+為訓(xùn)練樣本中的正樣本數(shù) (有降水日數(shù)),n-為訓(xùn)練樣本中的負(fù)樣本數(shù) (無降水日數(shù))。K+為正樣本的 K值,K-為負(fù)樣本的 K值。對于不同站點的正樣本數(shù)根據(jù)自身在總體樣本中的比例而確定 K值,使正負(fù)樣本的 K值具有不同的權(quán)重,即對樣本數(shù)少的類別權(quán)重更大,而樣本數(shù)多的類別權(quán)重相對較小。通過這樣處理,KNN方法選擇的最鄰近域中的 K值更為合理。
采用歷史資料對 K值進行反復(fù)交叉驗證,最后得出確定的 K值,取 4個標(biāo)準(zhǔn):準(zhǔn)確率 (全體樣本)、正樣本的概括率、TS評分和空報率。
判別標(biāo)準(zhǔn)通過歷史資料反復(fù)實驗得出,預(yù)報時,大于該值預(yù)報有降水,小于則預(yù)報無降水。
利用 2003—2007年 T213資料和實況降水資料作為訓(xùn)練樣本集,采用 2008年降水實況做預(yù)報檢驗。選取畢節(jié)、遵義、銅仁、都勻、安順、凱里、六盤水、貴陽、興義作為預(yù)報站點。分別對這 9個站的24h、48h、72h有無降水的預(yù)報做試驗評估。為考察KNN方法在貴州省降水預(yù)報中的價值,本文將 T213模式預(yù)報的格點降水量插值到相應(yīng)的站點上與KNN方法的預(yù)報結(jié)果進行比較。其中 T213格點插值到站點的權(quán)重函數(shù)采用與距離的平方成反比。
如圖 1所示:①從 TS評分來看,24h和 48h的晴雨預(yù)報,9個站應(yīng)用 KNN方法后均比直接采用T213降水量插值到站點的 TS評分高,在 72h的晴雨預(yù)報中,遵義、銅仁、凱里等 3站的晴雨預(yù)報 TS評分,KNN方法較 T213降水量的低,查看該 3個站的2008年有降水天數(shù),3個站正樣本均較其它幾個站少。對 2008年正樣本數(shù)和 72h的 KNN方法預(yù)報TS評分做相關(guān)分析,相關(guān)系數(shù)達 0.69??偟膩砜?采用 KNN方法對數(shù)值預(yù)報進行解釋應(yīng)用以后能提高 TS評分,尤其是在 24h和 48h。
②從空報率來看,9個站 24h、48h和 72h的晴雨預(yù)報,KNN方法的預(yù)報比 T213降水量預(yù)報空報率有明顯降低。
圖 1 2008年貴州省各站晴雨預(yù)報的 TS評分 (a)、空報率 (b)、漏報率 (c)和正確率 (d)
③從漏報率來看,24h的預(yù)報,T213降水預(yù)報 9個站均無漏報,而 KNN方法 9個站分別有 0.09到0.14的漏報率,48~72h,采用 K NN方法的漏報率也略比 T213降水預(yù)報偏高。分析發(fā)現(xiàn) T213降水量預(yù)報,幾乎在所有可能降雨的天氣形勢下均報有降水,故其漏報率很低,尤其是在 24h預(yù)報中沒有漏報,而其空報率非常高。
④從正確率來看,9個站采用 KNN方法以后在晴雨預(yù)報中正確率有明顯提高。
總的看來,在晴雨預(yù)報的試驗中,采用 KNN方法對數(shù)值預(yù)報進行解釋應(yīng)用后,雖然出現(xiàn)了一些漏報率,但明顯的減少了空報率,使得 TS評分和準(zhǔn)確率有明顯提高。因此認(rèn)為 KNN方法的數(shù)值解釋應(yīng)用在貴州降水預(yù)報中有一定效果。
結(jié)合 2008年中 9個站的正樣本數(shù)和 TS評分、正確率進行分析,發(fā)現(xiàn)仍然是在正樣本數(shù)較多的站TS評分和正確率較高。在 72h的預(yù)報中,采用 KNN方法預(yù)報得出的 TS評分和準(zhǔn)確率結(jié)果的優(yōu)勢不如24h和 48h大,T213降水量的預(yù)報和 KNN方法均與正樣本數(shù)的相關(guān)性很大,相關(guān)系數(shù)達到 0.74和0.69,說明在 72h的預(yù)報,KNN方法的結(jié)果更依賴于模式的結(jié)果以及正樣本數(shù)的多少。因此采用KNN方法做數(shù)值預(yù)報解釋應(yīng)用更適合短期內(nèi)和正樣本數(shù)較多的天氣要素的預(yù)報。改進的 KNN方法采用取不同的 K+、K-,一定程度上彌補了一些因正負(fù)樣本分布不均造成的缺陷,在 24h和 48h有較好效果,但從 72h的預(yù)報來看,效果不及前兩個時效。由于作者采用的資料為全年的降水資料,而造成不同季節(jié)降水的環(huán)流背景有所不同,以后工作中可進行環(huán)流分型并對降水進行分級后再采用 KNN方法進行預(yù)報試驗,這都將在下一步工作中進行。
[1] Cover T M,Hart P E.Nearest neighbor pattern classification[J].IEEE Trans on Inf Theory,1967,13:21-27.
[2] 陳豫英,劉還珠,陳楠,等 .基于聚類天氣分型的 KNN方法在風(fēng)預(yù)報中的應(yīng)用[J].應(yīng)用氣象學(xué)報,2008,19(5):564-572.
[3] 邵明軒,劉還珠,竇以文 .用非參數(shù)估計技術(shù)預(yù)報風(fēng)的研究[J].應(yīng)用氣象學(xué)報,2006,17(增刊):125-129.
[4] 曾曉青,邵明軒,王式功,等 .基于交叉驗證技術(shù)的 KNN方法在降水預(yù)報中的試驗[J].應(yīng)用氣象學(xué)報,2008,19(4):471-478.
[5] 涂小萍,趙聲蓉,曾曉青,等 .KNN方法在 11—3月中國近海測站日最大風(fēng)速預(yù)報中的應(yīng)用[J].氣象,2008,34(6):67-73.
[6] 車軍輝,李德生,李玉華 .數(shù)值預(yù)報產(chǎn)品釋用業(yè)務(wù)系統(tǒng)歷史數(shù)據(jù)存儲與檢索[J].應(yīng)用氣象學(xué)報,2006,17(增刊):152-156.
P456
B
1003-6598(2010)06-0003-03
2010-04-15
周明飛 (1984-),女,助工,主要從事短期天氣預(yù)報工作。