如何用機器學習進行天氣預報?
如題
謝Naiyan Wang大神邀!我是Naiyan說的論文 (ConvLSTM)的作者,覺得題主的問題也能算一種時空序列預測問題 (spatiotemporal sequence prediction)。ConvLSTM是一種將cnn與lstm在模型底層結合,專門為時空序列設計的深度學習模塊,理論上也能作為基礎單元去搭建適當的網路結構解決題主關注的天氣預報問題。
我預感題主一通卷積、一通識別後出來的結果是二十四節氣。
能,已邀請相關paper一作同學回答問題。
統計推斷遵循結構主義原則;也就是
1. 輸入端存在信號
2. 機制能夠被下面二者之一描述
2.1 prior knowledge
2.2 預報所需的機制已被觀測包含而且能夠被觀測分辨
假設你已經分離氣候態,也就是去除了 annual cycle 的信號;從這裡開始還是很難做出好的預報;
首先,為保證input 存在信號,以 rossby wave 速度估計為 20m/s;300km的觀測 input 無法提供超過 1 day 的預報;
而大多數地區的 Hours ~ 1 Day 預報已經做得不錯了;如果你目標放在這個地方,你需要 resolve 一些極端天氣的機制。但是極端天氣是突發事件,前50天內的 observation 常常沒有包含極端天氣;observation 也不一定達到能分辨極端天氣內部機制的條件。也就是說,nothing in, nothing out.
最後強調一下,統計推斷並不代表可以不考慮物理了,實際上統計推斷是在有物理知識下 seeking alpha
PS: 題主如果有興趣的話,可以從 QG 入手;通過 QG 等等簡單模式構造 pseudo observation; 如果你的統計方法在 QG 之類的簡單情況下不能跑過,那麼恐怕難以應用到真實情況。
PS4: seeking alpha
PSP: 最後強調一下,統計推斷並不代表可以不考慮物理了,實際上統計推斷是在有物理知識下 seeking alpha;如果你覺得不需要物理那麼你一定做錯了可以,有用光流和卷積神經網路做短期天氣預報的例子,而且已經商業化了。參考:彩雲天氣。
PS:已邀請彩雲天氣的CEO來回答這個問題怎麼居然 @袁行遠沒來反而貼那麼多圖去回答圍棋問題去了.. .
機器學習的關鍵在於減小bias和variance,減小bias非常容易,但減小variance就意味著必須對系統本身的動力學有充分的了解,並反映到模型中。
回到天氣預報的例子,我們知道天氣系統(或一切物理系統)最本質的特點就是時空平移不變性以及相互作用的局域性,而CNN完美地滿足這兩點(順便一提,一層CNN表達的就是線性微分方程的迭代解法),從而極大地減少variance,因此我預言CNN能取得和傳統數值天氣預報相似的準確性。從物理學的觀點看,我們知道動力學方程都是近似,因此必須要引入修正項,然而我們無法知道修正項的精確形式,因此修正項必須帶有未知參數。當未知參數足夠多,這本質上就成為了機器學習演算法。另一方面,我們也知道天氣參數並不能完整描述整個系統,此時我們必須引入隱變數,此時模型就變得與RNN非常類似。
總結地說,我相信機器學習是數值天氣預報下一步的發展方向,但模型背後一定會有物理背景。沒必要,天氣預報這種可以通過差值等方法計算出來的東西為啥要把它看做黑盒?好處是什麼?
很多人遇到一個問題,上來就套機器學習的方法。。。
機器學習不是萬能的啊
可恥的匿了(逃
針對有人提出的彩雲天氣APP中天氣現象的預測提出一下自己的觀點。
彩雲天氣目前主要是利用國家氣象局網站上的雷達圖進行扣圖,然後通過演算法對回波強度的移動趨勢進行預測,進而對部分天氣現象進行預測。其實也就是預報員常用的「外推法」的機器版。
這種演算法對於天氣系統的發展趨勢的預報效果一般比較準確,畢竟之前在沒有數值預報的年代,也是用外推法進行天氣圖分析預測的。但是如果說彩雲天氣就是用機器學習做出來的短期天氣預報,我認為不甚全面,主要有以下幾點原因:
1. 天氣雷達只能對部分天氣現象進行探測和預測。
天氣雷達是探測降水系統的主要手段,是對強對流天氣進行監測和預警的主要工具之一。而且隨著技術的發展,過去傳統的天氣雷達只能測量回波強度,即僅能提供反射率因子產品。新一代多普勒天氣雷達在此基礎上還能提供徑向速度產品和表徵速度脈動程度的速度譜寬產品。
也就是說雷達圖主要用途是對降水現象和強對流天氣進行探測、監測和預警,對於其他天氣現象目前暫時不能進行有效的監測,更不要說利用雷達產品進行預報了。
2. 目前只對基本反射率進行了處理。
目前中國天氣網上面只能看到基本反射率(R)的拼圖,而彩雲天氣也正是利用的這種數據。
雷達反射圖並不是降水量的實時分布(或者預報圖),雷達原理很複雜,就不介紹了。一般來說反射率越大,則雲內的含水量就越大,雲內的上升氣流就愈發強烈,那麼就越有可能形成強烈發展的積雲(就是夏天打雷下暴雨的那種雲)。而且雷達回波圖一般是預報員來看系統的移動方向、回波上面的一些顯著特徵(如前懸回波、鉤狀回波等)來進行判斷的。你的這張圖中的雷達反射率因子都很小的,可能只是有一點雲,事實上,如果當你在回波圖上看到超過45dBZ的回波時(即紅色),則表明在幾個小時內有可能會出現強對流天氣,當然這只是可能,並不一定,還要結合很多條件進行判斷。而大範圍的降水,如層狀雲系,反射率因子就會小很多,但是你可以在圖上看到成片成片的分布區域。
(感謝匿名用戶https://www.zhihu.com/question/21207841/answer/17525851)
也就是說僅僅使用基本反射率對天氣現象進行判斷有所偏頗。事實上在業務中,單純通過基本反射率進行判斷導致失誤的例子也不少。因此僅僅通過基本反射率對天氣現象進行判斷也是不全面的。
3. 對於強對流天氣的發生不能有效的進行預報
這個其實也是最關鍵的一個問題。夏季是強對流天氣多發季,存在大量不穩定能量,有很多強對流天氣都是局地發生髮展,事先在雷達圖上面是沒有預兆的。在這種情況下,我個人不相信機器學習能夠進行預報。
比如說5月7日的廣州突發的暴雨。在事先沒有回波的前提下,這種機器學習模式是不會預報出會產生大量強回波的。只有在產生回波之後,才會預報出後面回波的走勢和發展。但是這種天氣一旦產生了回波,那就是已經開始了暴雨。因此,對於強對流天氣的發生,機器學習模式還是存在一定問題的。
暫時就考慮到這三點,肯定有考慮的不充分的部分,還請大家批評指正。
能,app彩雲天氣
理論上來說是可以的。
實際操作中,由於天氣系統是一個全球性的體系,會有很多挑戰。比如說數據的搜集和處理、數據傳輸交互、超大變數的綜合考慮。
這幾天天氣熱,正好關注到相關的話題,把整理出來的資料做一些分享。
相關新聞:「大數據」將來可幫助預測未來40天的天氣情況_36氪
每天搜集3TB數據用於天氣預報
氣象觀測數據是開展各項氣象業務的基礎。上世紀90年代及之前,中國氣象資料大部分局限於地面及高空觀測。當時,2000多個地面站以小時為單位收集氣象信息;120多個高空站每天觀測最多不超過4次。從數據量上看不算太多,即便考慮到衛星和雷達資料,其總體日增量也局限在GB量級。
目前,全國共有2000多個地面站、120多個高空探測站、6顆在軌衛星、5萬多個自動監測站、600多個農業監測站、300多個雷達站等,逐日逐小時甚至到逐分鐘掃描著中國出現的各種各樣的大氣數據。
據中國氣象局2015年公布的消息,氣象部門需要永久保存的數據目前約有4PB~5PB,年增量約1PB。每年的氣象數據已接近PB量級(1000GB=1TB,1000TB=1PB,約合每天3TB)。這也呈現出大數據規律的體現,觀測信息量越大,所蘊藏的真實信息越多,就更能做好預報。
*氣象衛星示意圖
不可避免的信息延遲影響預測的及時性
一般來說,地面、高空、雷達觀測數據的採集和傳輸過程較快,從數據採集到可視化向預報員展示,通常幾分鐘時間就可以完成。相對而言,靜止氣象衛星觀測的時間稍長,中國的風雲衛星一般需要20多分鐘才能完成全球掃描,大概半小時後,預報員才能在電腦上看到衛星雲圖。
由氣象觀測站觀測到的數據信息會首先在各省的氣象台進行匯總,然後通過「質量控制」的環節,去掉或訂正某些由於觀測設備故障造成的錯誤數據,質量控制過程同樣也是由計算機程序自動實現的。完成初步的質量控制後,各省就利用FTP文件傳輸的方式,將該省該時刻全部觀測站點全部物理量數據打包為一個大文件,上傳到位於北京的國家氣象信息中心的通信台。世界其他國家的觀測數據的採集和傳輸也基本大同小異。除此以外,國與國之間也要進行實況數據的交換,而且必須是無償交換。
*中山國家氣象觀測站
除了實況數據之外,天氣預報中還需要用到一種模擬數據。模式數據可以說更簡單也可以說更複雜。簡單的是,這類數據僅由各類計算機的程序運算生成,屬於預測未來的「一般將來時數據」;說它複雜則是因為計算量非常龐大,運用到的計算公式也異常複雜,為了更真實地模擬全球大氣的走向,運算出的數據量十分驚人的,對應的傳輸交流速度也最慢。
以上午08時起報的歐洲中心模式系統為例,首先計算未來3小時(上午11時)的所有物理量,打包為1個GRIB文件並向其他國家傳輸,然後再計算未來6小時的數據,打包傳輸,直到最後完成10天後上午08時的預報數據計算並傳輸,每個預報時效的GRIB文件大概100多兆,計算一個預報時效大概需要幾分鐘時間,模式系統啟動也需要很長時間,這樣北京收到歐洲中心在早08時起報的第1個GRIB文件大概要到下午1時45分,完成最後一個240小時預報時效GRIB文件的接收要到下午3時。這樣,如果要做早08時到下午3時的天氣預報,只能使用前1個起報時刻的模式數據,比如前一天晚20時的模式數據。
*GRIB 碼是與計算機無關的壓縮的二進位編碼,主要用來表示數值天氣預報的產品資料。
*中國天河二號,世界上運行速度最快的超級計算機之一,能夠快速計算、處理天氣預報的相關數據
基於上萬個變數的發展趨勢預測
全球影響天氣的成千上萬個變數時刻都在不停地變化,而傳統的模型沒有辦法將所有的因素考慮在內。因此,傳統模型總需要一些基本的假設,一旦這些假設的初始條件有誤,那麼整個分析預測也會謬之千里。
以EarthRisk為代表的一些新興技術公司已經嘗試開始利用大數據對未來天氣情況作出預報。EarthRisk採用的預測模型項源自加州大學斯克利普斯海洋研究所,該模型不同於以往的數值預報模式,可基於 820 億次計算以及 60 年的氣象歷史數據來識別天氣模式,然後將這些模式與當前的氣候條件進行比較,再運用預測性分析進行天氣預測,其預測時間更長、預測準度更高,最長可提前 40 天生成冷熱天氣概率,遠遠超過傳統主觀觀測模型一星期左右的準度。
*氣象要素追蹤的可視化效果圖
從天氣預報看大數據未來的發展挑戰
天氣預報作為最常見、和日常生活聯繫最緊密、最具有代表性的全球化大數據應用,它所面臨的挑戰也極有可能是大數據未來發展將面對的瓶頸。小智在這裡進行一下大膽的總結:
1、數據源。數據量、信息量越大,所蘊藏的真實信息越多,就更能做好對應的應用。
2、數據存儲和計算能力。已有不少項目需要完成日均TB級別的數據計算、存儲任務(以全球最大的社交網路Facebook為例,早在2012年,每天需要處理的數據量就達到500TB),未來隨著VR等新興應用的不斷湧現,數據量還將呈現指數級增長。
3、信息時延。據華為最新資料透露,目前大流量信息面對的時延主要來自四個方面。第一,光速限制。光的理論速度每秒30萬公里,實際在光纖中的速度是每秒20萬公里,從中國傳到美國也需要50毫秒。第二,物理時延。現在的傳輸方式是IP轉發,就會產生線路時延,電容也是會產生時延的。第三,網路時延。網路時延的根本原因是因為擁塞造成的,擁塞又不可能完全避免。當全世界普及VR等應用的時候,擁塞就更厲害,而且擁塞還具有隨機性。第四,存儲帶來的時延。(小智再額外補充一個:計算帶來的時延。如果數據傳送前需要進行初步的分析處理,就需要面臨數據計算帶來的時延)
4、人工智慧。在天氣預測中,影響天氣變化的因素成千上萬個,而且每一個變數都在時刻不停的變化。人工智慧需要對他們進行全面的考慮,才有可能進一步地提高準確率。涉及到的變數越多,對人工智慧的要求就越高。
END
能
http://blogs.microsoft.com/next/2015/08/10/hows-the-weather-using-artificial-intelligence-for-better-answers/
首先,要明白兩個概念,1、天氣預報怎麼產生的,2、機器學習在天氣預報中的作用
1、目前,真正的天氣預報不是靠機器學習學出來的,而是靠物理模型推算出來,物理模型就是數值天氣預報,比如全球模式美國的GFS,歐洲的EC, 這些模式甩我朝「自主研發」的模式幾百條長安街。題外話了。 這些模式都是帶有時間的偏微分方程組,通過求解積分這些偏微分方程組得到預報結果。當然,求解出來的預報結果和實際情況會有一定的偏差。但是總體宏觀情況基本一致。有點像量子力學和經典物理學,宏觀可以準確描述,微觀就無法準確觀測到。
2、機器學習僅僅能解決的問題就是在數值模式產生出預報結果後,進行偏差訂正。尋找出數值預報模式與實況觀測直接的誤差規律,從而讓預報更佳準確。但是目前沒有一種方法能統治整個偏差訂正。每種方法都各有優缺點。
所謂的彩雲天氣基於雷達的機器學習,在專業人士看來僅僅是一種方法的實現,具體預報效果如果較真起來並不一定比傳統的方法好很多。
天氣不是混沌系統么?混沌是不能用機器學習解決的。
持續關注這個問題。剛剛問了一下飯飯,嗯,氣象界認為最終是動力預報幹掉統計預報,但是這個過程中,現在動力和統計在相互用,先統計後動力,或者先動力後統計,我在想,統計的這一塊是不是能優化一下呢?用機器學習和模式進行聯用?
題主不知道「蝴蝶效應」么,而且314km對於天氣系統而言實在是太小了
拋開以流體力學為基礎的大氣基本運動方程,不考慮基本的雲微物理機制么?能呀
pred&<-function(x,k){
n&<-length(x)
k2&<-k/2
pred&<-vector(length = n-k)
for(i in 1:(n-k)){
if(sum(x[i:(i+k-1)])&>=k2) pred[i]&<-1 else pred[i] &<-0
}
return(mean(abs(pred-x[(k+1):n])))
}
——摘自《R語言編程藝術》P32
一個統計模型,可以用於參考
推薦閱讀:
※海洋工程領域有哪些經典的教材(涉及傳統力學結構、機械電子、信息技術等各方面)?
※如果外星科技中也有電腦,但是他們基礎科學中的數字不是阿拉伯數字,還能做出與我們電腦一樣的功能么?
※目前超級計算機的性能局限是硬體還是軟體,為什麼?
※有沒有哪個時刻讓你突然感覺到:「我的計算機專業白學了」?
※為什麼華爾街看重大學出身,而矽谷不看?