0
本文作者: 汪思穎 | 2018-08-30 15:25 |
提到 KDD Cup,相信數(shù)據(jù)挖掘領域的同學并不陌生。作為目前數(shù)據(jù)挖掘領域最有影響力、最高水平的國際頂級賽事,KDD Cup 至今已舉辦 21 屆,每年都會吸引世界數(shù)據(jù)挖掘界的頂尖專家、學者、工程師、學生等前來參賽,被外界譽為大數(shù)據(jù)領域的「奧運會」。
今年的 KDD Cup 從空氣問題入手,組委會在比賽中提供中國北京和英國倫敦的相關數(shù)據(jù),比賽選手需要預測未來 48 小時內 PM2.5, PM10 和 O3 的濃度(倫敦只需要預測 PM2.5 和 PM10)。在 48 小時后,選手提交的結果將通過真實的天氣數(shù)據(jù)評分。
雖然 KDD Cup 2018 在今年 6 月就已經(jīng)結束,冠軍團隊也早已揭曉,但對冠軍團隊的正式頒獎是在剛剛結束的 KDD 2018 上。
本次比賽共吸引了來自全球 4183 支隊伍,包括 49 個國家的 3000 多所學?;驒C構,北京郵電大學韓金棟、張前前、劉娟,中南大學羅賓理、蔣浩然組成的「first floor to eat latiao」團隊在該項賽事中取得第一名。作為此次比賽的冠軍,「first floor to eat latiao」團隊受邀參與此次大會,在會上展示了他們的解決方案,也第一時間對雷鋒網(wǎng) AI 科技評論進行分享。
看到隊名,相信大家便對這一團隊充滿好奇。在組隊的時候,隊員張前前提出這個以吃為主題的名字,并得到大家全票通過。「我們都很喜歡吃辣條,辣條是中華民族的傳統(tǒng)美食,我們想要得第一,將中華美食傳揚出去?!?/p>
團員組成如下:
隊長韓金棟,北京郵電大學碩士在讀,喜歡用數(shù)學建模方法去解決實際生活中的問題;
隊員張前前,北京郵電大學碩士在讀,擅長特征工程和深度學習;
隊員劉娟,北京郵電大學碩士在讀,對數(shù)據(jù)分析和數(shù)據(jù)可視化感興趣;
隊員羅賓理,中南大學本科二年級在讀,擅長特征工程和模型融合(騷操作);
隊員蔣浩然,中南大學碩士在讀,擅長數(shù)據(jù)分析與時間序列。
以下便是這一團隊帶來的解決方案:
主要的挑戰(zhàn)有三點:
空氣質量變化十分迅速,并且有很多突變點;
污染物會向周邊擴散,具有復雜的空間依賴關系;
空氣質量受很多復雜因素的影響,因此需要很強的專業(yè)領域知識。
使用到的基本特征:
過去 72 小時的空氣質量
預測前最后一小時的天氣
未來 48 小時的天氣預報
月份、周末、小時、假期、站點 id
除了基本特征,我們還從時域、空域、頻域和專業(yè)領域知識四個方面分別構建特征群,一共提取了 100 多個特征,這些特征是模型提分的關鍵。
時域特征
利用預測時間附近天氣預報數(shù)據(jù)的統(tǒng)計(不同的統(tǒng)計方式,可以統(tǒng)計預測時間節(jié)點之前的統(tǒng)計信息,也可以以預測時間節(jié)點為中心進行統(tǒng)計)防止天氣突變。
針對短期預測問題,過去的天氣變化可以影響到未來幾個小時的空氣質量。因此我們設計了不同大小的窗口,用來提取過去天氣的統(tǒng)計特征,這些特征提高了模型的短期預測能力。
我們還發(fā)現(xiàn)未來 48 小時的天氣預報是影響空氣質量長期預測和突變預測的一個關鍵因素,因此我們針對未來的天氣預報設計了很多細粒度的特征,具體可以看下圖。如果綠色點是我們要預測的時間節(jié)點,為了描述預測時間點之前和附近的天氣變化,我們使用滑動窗口提取了預測時間點之前的天氣預報統(tǒng)計信息以及附近的天氣預報統(tǒng)計信息。通過這些特征,提高了長期預測的準確率。
此外,為了區(qū)分要預測的是第一天還是第二天,我們使用了一個標志位特征,將預測時間標為 0~47。
頻域特征
為了得到時間序列中隱藏的周期信息和波動信息,對空氣質量,溫度,濕度,氣壓等時間序列進行傅立葉變換,提取頻域特征。
空域特征
未來的空氣質量不僅與過去的空氣質量有關,而且還受到周邊空氣質量和天氣的影響。為了對空間相關性進行建模,我們針對過去的空氣質量、天氣以及未來的天氣預報分別提取了表征空間相關性的特征。我們嘗試使用了所有的空氣質量站點和天氣監(jiān)測站點的數(shù)據(jù),這樣會增大模型的復雜度,導致嚴重的過擬合。于是我們假設只有部分站點會對我們要預測的站點產(chǎn)生影響,并使用一些技巧去降低空間特征的輸入維度。
對于過去的空氣質量和天氣,我們又將其分為兩類:
一類是沒有方向的特征,包括壓強、溫度、濕度。為了提取這類特征,我們使用兩個半徑不同的圓將待預測站點周邊劃分為兩個區(qū)域,分別為內圓區(qū)域和外部的圓環(huán)區(qū)域,具體劃分方式可以見下圖。我們提取了每一個區(qū)域的壓強、溫度和濕度的均值。
另一類是有方向的特征,污染物濃度和風的擴散都是有方向的。為了建模這一類特征對空氣質量的影響,我們將目標站點的方位劃分為八個方向,分別考慮八個不同方向區(qū)域對目標站點的影響。對于每一個區(qū)域,提取其風速和污染物濃度的均值。此外,我們又將風向離散為八個方向,每一個區(qū)域的風向由眾數(shù)決定。如果某一區(qū)域污染物濃度缺失,我們使用插值的方法進行補全。
以上兩類特征我們均只提取了預測前最后一小時的數(shù)據(jù),這些特征對于短期預測起到了良好的效果。
對于未來的天氣預報,由于天氣網(wǎng)格點和空氣質量監(jiān)測站點的位置不是對應的,因此我們采用了一種 k 近鄰的方法去提取空氣質量監(jiān)測站點周邊的天氣網(wǎng)格點。具體做法是尋找距離空氣質量檢測站點最近的四個天氣網(wǎng)格點,使用這些網(wǎng)格點的特征表征未來天氣預報對空氣質量的影響,這種方法可以提高長期預測的準確率。
專業(yè)領域特征
查閱氣象學和空氣污染相關論文,通過風向 uv 坐標系,日照時長,不同時刻濕度的差值,污染物之間的相關性等方面提取特征。
模型
因為不同的污染物具有不同的分布,因此需要分別對每一種污染物建模。我們采用微軟開源的 LightGBM,具體的建模方式可以參看下面這一張圖:
此外,我們還分析了北京和倫敦的每一種污染物的分布,發(fā)現(xiàn)北京的 PM2.5 和 PM10 是長尾的分布,存在很多嚴重污染的情況,這會給模型帶來偏差。而北京的 O3 以及倫敦的 PM2.5、PM10 的數(shù)值相對來說跨度沒有那么大,異常點較少。因此我們在訓練模型的時候對北京 PM2.5 和 PM10 的標簽做了 log 變換,在預測未來的時候使用指數(shù)變換。這個技巧可以給模型帶來幾個千分位的提升。
以下是關于比賽的更多細節(jié):
團隊共有來自北郵和中南大學的五名成員,大家在比賽中的分工如何?
在比賽初期,我們首先對賽題的技術難點進行了分析,總結出空氣質量預測問題存在的幾點挑戰(zhàn)。然后針對每一個挑戰(zhàn),我們都有一個隊員去獨立探索,去嘗試一些應對該挑戰(zhàn)的解決方案。最后充分融合各自的方案,集成為一個模型。
此外,我們還有兩名隊員做了深度學習模型的探索,嘗試使用端到端的模型去解決空氣質量的預測問題。在比賽后期,我們的模型遇到瓶頸,我們又進行討論,互相補充了思路,在特征工程上去掉了很多冗余的特征,又提取了不少新的特征,這讓我們的模型在最后幾天又有了大幅度提升。
比賽的三個難點分別是空氣質量突變迅速、污染物復雜的空間依賴關系、需要很強的專業(yè)領域知識,對于這三大挑戰(zhàn),分別是如何應對的?
本次 KDD CUP 的比賽有三個挑戰(zhàn),我們主要是從特征工程角度出發(fā),去解決這些挑戰(zhàn)。
第一個挑戰(zhàn)是空氣質量變化十分迅速,并且有很多突變點,我們對空氣質量時間序列做了大量的分析工作,了解其影響因素。針對這一挑戰(zhàn),我們從信號處理的角度出發(fā),使用傅立葉變換將時間序列變換到頻域,更好地提取時間序列的周期和波動信息。此外,我們還設計了更細粒度的天氣統(tǒng)計特征去表征天氣變化。
第二個挑戰(zhàn)是污染物具有復雜的空間依賴關系,舉個例子,如果有強風從污染嚴重的區(qū)域吹向周邊區(qū)域,那么周邊空氣質量也會變差。但是如果將所有監(jiān)測站的數(shù)據(jù)作為特征,那么將會導致嚴重過擬合。因此我們假設只有一部分相鄰的監(jiān)測站會影響到我們要預測的監(jiān)測站,并且針對與方向有關和與方向無關的天氣特征,我們使用了一種降維技巧去降低輸入的維度,防止過擬合。
比賽遇到的第三個挑戰(zhàn)是預測空氣質量需要很強的專業(yè)領域知識,空氣質量受很多復雜因素的影響,需要結合專業(yè)知識去建模。在比賽期間,團隊成員閱讀了大量與空氣污染和氣象學相關的文獻,從而構造了很多與領域知識相關的特征,這些特征給模型帶來顯著的提升。
你們在比賽中采用 GBRT 模型,此前有嘗試過其他模型嗎?
我們還嘗試了 seq-seq 模型建模時間序列,以及使用圖卷積網(wǎng)絡建模網(wǎng)絡拓撲圖的關系,因為數(shù)據(jù)集的問題,線上效果并不穩(wěn)定,所以后來線上提交的只是 GBRT 單模型。
你們 PPT 的總結中特別強調了特征,在這次比賽中,特征占據(jù)比重有多大?這次比賽有哪些在特征方面的經(jīng)驗可以分享?
特征工程是我們這次比賽獲得冠軍的關鍵,這次比賽在訓練集構造和數(shù)據(jù)預處理方面,大家都大同小異。我們在特征工程方面做了一些創(chuàng)新性的工作,提取了一些我們獨有的特征,因此在比賽初期就建立了優(yōu)勢。
關于特征工程方面的經(jīng)驗,首先特征要有可解釋性,提取的每一簇特征都是有理有據(jù)的。
其次特征要分群,不要因為效果的提升或下降隨機刪減某個特征,將特征分群處理可能會更加有效果。
最后特征要結合領域,一些好的特征是通過和業(yè)務領域結合產(chǎn)生的,通過查閱論文或者資料可以提取到和別人不一樣的特征。
你們這次去 KDD 的體驗如何?參加這次大會有哪些收獲?
KDD 是數(shù)據(jù)挖掘方面的最頂級會議,而 KDD Cup 可以說是數(shù)據(jù)挖掘競賽里的皇冠,能摘下桂冠,對我們的意義是非同凡響的。我們團隊中也有歷史上年齡最小拿到這一冠軍的參賽者;而在會議上,認識的小伙伴基本上都是能在 KDD 上發(fā)論文的大牛,他們的科研實力都非常強;當然更有頭條、阿里、京東、騰訊等大廠在現(xiàn)場,能夠與部門主管/VP 直接交流,也是一件非常不錯的事情,開闊了我們的眼界與思路。
目前,解決方案 PPT 也已經(jīng)在 GitHub 上公開。
地址: https://github.com/luoda888/2018-KDD-Cup-Top1-Solutions
(完)
雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權禁止轉載。詳情見轉載須知。