周明飛,熊 偉,劉還珠
(1.貴州省氣象臺,貴州 貴陽 550002;2.國家氣象中心,北京 100081)
KNN方法在貴州晴雨預報中的試驗
周明飛1,熊 偉1,劉還珠2
(1.貴州省氣象臺,貴州 貴陽 550002;2.國家氣象中心,北京 100081)
使用 2003—2007年 T213數值預報產品和貴州省 08-08時日降水量資料,建立了貴州省 9個站的 KNN晴雨預報模型,并對 2008年進行了預報試驗。在搜索 K鄰近域的過程中,與傳統的 KNN方法相比,求取了不同類別的 K值,即 K+、K-,使該方法選擇的最鄰近域中的 K值取得更為合理。通過對歷史資料的反復交叉驗證求取了最優的 K+、K-值組合。最后對 2008年貴州省 9個站進行預報試驗并評估。預報評估結果表明:KNN方法總體上降低了預報空報率,提高了晴雨預報的TS評分和預報準確率,特別是對 24h和 48h,KNN方法在對貴州降水預報的數值預報解釋應用中有一定的效果。
K鄰近域;晴雨預報;數值預報產品
貴州是一個降水比較豐富的省份,因此降水預報在貴州省是一項重要的常規預報,而在降水預報中,由于降水要素本身非連續和非正態分布的特點,以及貴州特殊的地形環境,目前貴州的降水客觀預報沒有較好的技術方法。本文嘗試將 KNN(K—NearestNeighbor)方法應用到貴州的晴雨預報中。KNN(K—NearestNeighbor)非參數估計技術[1]是近幾年來在數值預報釋用中頗為重要的一種方法,它是基于范例進行推理的人工智能領域中發展較快的一種求解問題技術,利用過去的范例或經驗來解決當前問題的類比推理方法,亦稱為相似方法。由于氣象要素樣本較長,并且獲取資料較為及時,使得 KNN技術得以在天氣預報,特別是在定性要素的判別中發揮作用。該方法不需要建立預報方程,直接根據訓練數據 (歷史天氣樣本)建立概率天氣預報的 K近鄰非參數估計仿真模型,利用訓練數據中蘊含的輸入輸出關系進行預報,可以避免統計方法的一些弊病和概率密度估計誤差的影響[2]。邵明軒等[3]曾用非參數估計技術預報風的研究,表明該方法在天氣預報中具有一定的實際參考使用價值。曾曉青等[4]利用基于交叉驗證技術的 KNN方法在降水預報中采取了不同的 K+、K-,這較好的彌補了 KNN方法的缺陷,試驗表明:K+和 K-為最佳鄰近域組合的 KNN方法在降水預報中有較好效果。在貴州一年中降水日數較多,其正負樣本較為平衡,這個特性能很好的滿足 KNN方法的要求。陳豫英等[2]基于聚類天氣分型的 KNN方法在風預報中的應用,在做 KNN之前先進行了聚類分型,聚類分型后根據不同的天氣背景提取不同的預報因子這更有利于預報的準確性,進一步提高了寧夏地區風的預報效果。本文嘗試將改進的 KNN方法應用于貴州降水的晴雨預報中。
本文利用國家氣象中心 2003—2007年逐日的T213數值預報產品作為基本因子資料。所使用的T213數值預報產品包括 15層 7個預報時效 (00、12、24、36、48、60、72h)格點場中的 14個基本氣象要素。利用這些基本氣象要素通過動力診斷得出反映降水的物理量,然后利用雙線性插值的方法將這些基本要素和擴充物理量插值到對應的站點上,建立起所需要的站點因子庫,這大大增加了可挑選的因子信息量。實況數據集是采用MEOFIS系統中的歷史實況庫及貴州省歷史資料庫,取 2003—2007年逐日 08時到次日 08時的 24h降水量。
根據預報的要素選擇因子,將歷史的資料預報要素與所有的其它氣象要素做相關分析、逐步回歸然后做 F檢驗,選取出相關最好的 10~20個氣象要素作為預報因子。
本文中的方法引用自文獻[2]和文獻[4]中改進的 KNN方法,在此做簡單介紹和特點介紹。
K最近鄰 (K-Nearest Neighbor,KNN)分類算法,是一個理論上比較成熟的方法,也是最簡單的機器學習算法之一。該方法的思路是:如果一個樣本在特征空間中的 K個最相似 (即特征空間中最鄰近)的樣本中的大多數屬于某一個類別,則該樣本也屬于這個類別。KNN算法中,所選擇的鄰居都是已經正確分類的對象。該方法在定類決策上只依據最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別。KNN方法雖然從原理上也依賴于極限定理,但在類別決策時,只與極少量的相鄰樣本有關。由于 KNN方法主要靠周圍有限的鄰近的樣本,而不是靠判別類域的方法來確定所屬類別的,因此對于類域的交叉或重疊較多的待分樣本集來說,KNN方法較其他方法更為適合。該算法在分類時有個主要的不足是,當樣本不平衡時,如一個類的樣本容量很大,而其他類樣本容量很小時,有可能導致當輸入一個新樣本時,該樣本的 K個鄰居中大容量類的樣本占多數。因此可以采用權值的方法 (和該樣本距離小的鄰居權值大)來改進。在本文中采用改進的 KNN方法,與傳統的 KNN方法相比,不同的類別取不同的 K值,可以在一定程度上彌補 KNN方法的這個缺陷。
在晴雨預報中,實驗進行有無降水預報,故分為 2個類,有降水的為正樣本,無降水的為負樣本。其中尋找鄰居的方法采用歐氏距離作為相似判據。

式 (1)中,Di∈R,i=1,2,…,n;這樣 n個樣本數可得到 n個距離,按距離依次排序,選擇第 K個作為待預報數據的判斷標準,凡小于該距離的樣本,就作為待預報的最近鄰域[4]。
接著是確定 K的值,此為改進的 KNN方法與傳統 KNN方法的區別,傳統的 KNN方法僅采取一個K值來進行類別的判定,而改進的 KNN方法采用不同的類別有不同的 K值。在本文中僅有 2個類別,有無降水即為正負樣本,故取 2個 K值,即 K+、K-。

式 (2)中,n+為訓練樣本中的正樣本數 (有降水日數),n-為訓練樣本中的負樣本數 (無降水日數)。K+為正樣本的 K值,K-為負樣本的 K值。對于不同站點的正樣本數根據自身在總體樣本中的比例而確定 K值,使正負樣本的 K值具有不同的權重,即對樣本數少的類別權重更大,而樣本數多的類別權重相對較小。通過這樣處理,KNN方法選擇的最鄰近域中的 K值更為合理。
采用歷史資料對 K值進行反復交叉驗證,最后得出確定的 K值,取 4個標準:準確率 (全體樣本)、正樣本的概括率、TS評分和空報率。

判別標準通過歷史資料反復實驗得出,預報時,大于該值預報有降水,小于則預報無降水。
利用 2003—2007年 T213資料和實況降水資料作為訓練樣本集,采用 2008年降水實況做預報檢驗。選取畢節、遵義、銅仁、都勻、安順、凱里、六盤水、貴陽、興義作為預報站點。分別對這 9個站的24h、48h、72h有無降水的預報做試驗評估。為考察KNN方法在貴州省降水預報中的價值,本文將 T213模式預報的格點降水量插值到相應的站點上與KNN方法的預報結果進行比較。其中 T213格點插值到站點的權重函數采用與距離的平方成反比。
如圖 1所示:①從 TS評分來看,24h和 48h的晴雨預報,9個站應用 KNN方法后均比直接采用T213降水量插值到站點的 TS評分高,在 72h的晴雨預報中,遵義、銅仁、凱里等 3站的晴雨預報 TS評分,KNN方法較 T213降水量的低,查看該 3個站的2008年有降水天數,3個站正樣本均較其它幾個站少。對 2008年正樣本數和 72h的 KNN方法預報TS評分做相關分析,相關系數達 0.69。總的來看,采用 KNN方法對數值預報進行解釋應用以后能提高 TS評分,尤其是在 24h和 48h。
②從空報率來看,9個站 24h、48h和 72h的晴雨預報,KNN方法的預報比 T213降水量預報空報率有明顯降低。

圖 1 2008年貴州省各站晴雨預報的 TS評分 (a)、空報率 (b)、漏報率 (c)和正確率 (d)
③從漏報率來看,24h的預報,T213降水預報 9個站均無漏報,而 KNN方法 9個站分別有 0.09到0.14的漏報率,48~72h,采用 K NN方法的漏報率也略比 T213降水預報偏高。分析發現 T213降水量預報,幾乎在所有可能降雨的天氣形勢下均報有降水,故其漏報率很低,尤其是在 24h預報中沒有漏報,而其空報率非常高。
④從正確率來看,9個站采用 KNN方法以后在晴雨預報中正確率有明顯提高。
總的看來,在晴雨預報的試驗中,采用 KNN方法對數值預報進行解釋應用后,雖然出現了一些漏報率,但明顯的減少了空報率,使得 TS評分和準確率有明顯提高。因此認為 KNN方法的數值解釋應用在貴州降水預報中有一定效果。
結合 2008年中 9個站的正樣本數和 TS評分、正確率進行分析,發現仍然是在正樣本數較多的站TS評分和正確率較高。在 72h的預報中,采用 KNN方法預報得出的 TS評分和準確率結果的優勢不如24h和 48h大,T213降水量的預報和 KNN方法均與正樣本數的相關性很大,相關系數達到 0.74和0.69,說明在 72h的預報,KNN方法的結果更依賴于模式的結果以及正樣本數的多少。因此采用KNN方法做數值預報解釋應用更適合短期內和正樣本數較多的天氣要素的預報。改進的 KNN方法采用取不同的 K+、K-,一定程度上彌補了一些因正負樣本分布不均造成的缺陷,在 24h和 48h有較好效果,但從 72h的預報來看,效果不及前兩個時效。由于作者采用的資料為全年的降水資料,而造成不同季節降水的環流背景有所不同,以后工作中可進行環流分型并對降水進行分級后再采用 KNN方法進行預報試驗,這都將在下一步工作中進行。
[1] Cover T M,Hart P E.Nearest neighbor pattern classification[J].IEEE Trans on Inf Theory,1967,13:21-27.
[2] 陳豫英,劉還珠,陳楠,等 .基于聚類天氣分型的 KNN方法在風預報中的應用[J].應用氣象學報,2008,19(5):564-572.
[3] 邵明軒,劉還珠,竇以文 .用非參數估計技術預報風的研究[J].應用氣象學報,2006,17(增刊):125-129.
[4] 曾曉青,邵明軒,王式功,等 .基于交叉驗證技術的 KNN方法在降水預報中的試驗[J].應用氣象學報,2008,19(4):471-478.
[5] 涂小萍,趙聲蓉,曾曉青,等 .KNN方法在 11—3月中國近海測站日最大風速預報中的應用[J].氣象,2008,34(6):67-73.
[6] 車軍輝,李德生,李玉華 .數值預報產品釋用業務系統歷史數據存儲與檢索[J].應用氣象學報,2006,17(增刊):152-156.
P456
B
1003-6598(2010)06-0003-03
2010-04-15
周明飛 (1984-),女,助工,主要從事短期天氣預報工作。