2
雷鋒網 AI 科技評論按:由深圳氣象局與阿里巴巴聯合承辦的CIKM AnalytiCup 2017第一賽季已經宣告結束。本次比賽的目標是利用雷達數據(多普勒雷達回波外推數據),來建立一個準確的降水預報模型。
這次比賽吸引了1395支隊伍參賽,排行榜也已在阿里天池平臺進行公示。
在這次比賽中,來自中國科學院的懷北村明遠湖隊(隊員Zhang Rui, Qiao Fengchun, Guo Ran)在GitHub上分享了自己的代碼和方法,他們在第一階段獲得第三名,第二階段獲得第四名。雷鋒網 AI科技評論將他們發布的內容進行了整理,如下:
背景介紹
在這次比賽中,主辦方提供了一組不同時間跨度(間隔為6分鐘,共15個時間跨度)和不同高度下(0.5km、1.5km、2.5km、3.5km)測量的雷達圖,每個雷達圖都包含目標站點和目標站點周圍區域的雷達反射率值。每個雷達圖覆蓋以目標站點為中心,面積為101 * 101平方公里的區域。該區域被標記為101×101格,目標站點位于中心,即(50,50)。
數據集中包含真實的雷達圖和氣象觀測中心收集到的目標站點降水量。
比賽的任務是預測在未來1-2個小時內每個目標站點的總降雨量。

數據處理過程
Percentil Method百分位數法
他們采用統計的方法來降低雷達數據的維度。對于每個雷達圖,他們對目標站附近到整個地圖范圍內不同大小的區域都選取了雷達反射率值的25、50、75、100百分位。

圖:以目標站點為中心選取不同的區域
Wind法
他們首先將原始數據(15*4*101*101)壓縮成稍小的數據(15*4*10*10),然后通過判斷風向,將數據壓縮到15*4*6*6個特征。整個預處理過程都是利用卷積神經網絡的方法,特別是卷積運算和最大池化。

圖:卷積計算表征

圖:池化計算表征
他們利用第四層的數據來判斷風向。然后,為了計算最終風向,用兩種方法來選擇有代表性的數據。第一種方法在每10*10單元中使用最大的值作為表征,第二種方法則采用最大的5個數據的平均值作為表征。
在選出有代表性的數據之后,通過每兩個時間間隔之間數據的偏差值算出移動方向,最終基于給定的閾值統計不同移動方向的數目,按照數目最多移動方向的確定最終風向。

圖:當風向為西、西北、西南時提取特征的方法
模型
在這次任務中,他們的模型結合了Random Forestry、XGBoost和雙向GRU單元(Bidirectional Gated Recurrent Unit)等,得出了較為滿意的結果。
運用的工具
Python 3.6
Keras
XGBoost
Sklearn
他們的代碼:https://github.com/zxth93/CIKM_AnalytiCup_2017
via:GitHub
雷鋒網 AI科技評論
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。