預測類問題與時間序列
什麼是所有預測類問題所共同包含的特點?
模式識別。
所謂模式, 是在隨機和無序的現象中蘊含的規律性(用另一個詞說就是信息), 可是我們信以為真的規律有時候卻會把我們騙的團團轉。比如你在書里看到受一些超市裡發現買啤酒的顧客通常有較高的概率買尿布, 你就在你在的小超市裡給給買啤酒的人推薦尿布, 結果最後往往是南轅北轍。
圖: 模式在自然和社會中無處不在
所以我們不僅需要知道模式的存在, 更要理解它們為什麼會存在, 以及了解挖掘它們的方法 。
這裡就涉及兩個基本的方法, 一個叫複雜科學(複雜系統), 一個叫機器學習。 複雜科學試圖告訴我們模式從哪裡來, 機器學習試圖告訴我如果突破人類的局限, 去尋找這些模式。 因此我們開發了無數有趣有用的工具。
而在預測類問題中,我們的目的是從現象中識別模式,預測時間序列上的現象。
時間序列指某個物理量對時間的函數。這是一個高度抽象的東西, 但是生活中無數特別重要的東西都可以用它來表述, 比如股市啊, 你一天的血糖變化啊, 你的大腦興奮性啊,甚至你的語言, 你的思維, 歷史王朝的興衰,都可以把它看作一個離散的時間序列。 無論你是想要預測一個股市的漲落, 還是要從你一天的血糖變化里總結健康狀況, 還是要讓計算機識別一段語音, 你都面臨的一個核心問題, 就是時間序列的理解。 而這點,恰恰是機器學習和複雜系統共同合作的典範。
圖: 時間序列
時間序列本身無非是一堆數, 你真正要掌握的是時間序列的類型判別,然後是預測它 。當你拿到一個時間序列, 你可以像一個偵探一樣從以下幾個角度去認識和挖掘它:
1 隨機vs確定:
一個時間序列,往往是外界給與的另一個時間導致的一個東西, 而這樣一個東西, 可以隨外界的變化而確定, 但也可以由於更複雜的原因是不確定的。 因此, 你要有一個概率空間的概念, 首先思考這個時間序列是否是可以重複的。
2 沒有記憶vs歷史依賴
時間序列這一刻的狀態如果只和上一刻相關, 則可以說它是沒有複雜記憶的(馬爾科夫過程),反之, 時間序列此刻的狀態如果不僅和上一刻相關, 還和上刻,上上刻相關, 那就不具有馬氏性,而是複雜歷史依賴。
3 線性vs非線性
如果影響時間序列變化的因素之間相互獨立, 則它們總的效果可以分解為單個因素的影響的疊加,我們稱之為線性,對於線性系統我們有一套現成工具解決。 反之如果影響它的因子不能被單獨拆分, 則是非線性的。一旦具有非線性, 則問題變得極為複雜,各種類型的相變, 混沌應運而生。
4 問題有多少維? 升維還是降維?
時間序列往往一個隨時間變化的高維向量, 首先你要看看你的序列是多少維度的, 然後你要做一個物理學家最常面臨的決策: 是否降維? 有時候降維之後問題變得無比簡單(PCA分析), 但有時候恰好相反, 把一個低維度的東西投影到高維度才是最簡單的(神經網路)。
5 如果這些都給定了, 如何預測一個時間序列的走勢?
好了, 這才是核心, 如果你了解了時間序列的上述特性, 你可以試著使用一系列工具, 比如對於線性的問題, 線性回歸這類非常一般的方法有時候都會得到不錯的解決。 如果不具備複雜的記憶, 則隱變數馬爾科夫過程HMM就可以很好的解決這個問題。 如果恰好所有的都被否定了, 則你要考慮寄出神經網路大法碰碰運氣。
6 那麼有沒有可能一切試過了還是不能預測?
這裡複雜科學就會碰上用場, 因為你完全可能發現所有的預測方法都失控, 而真相就是問題本身包含不可預測性。
比如說股市,從剛才的三個指標看, 股市是一個典型的具有巨大隨機性, 複雜歷史依賴,與非線性的時間序列 ,任何用簡單因素預測股市的方法都是扯,即使一些最複雜的工具比如神經網路也很難取得特別好的突破。
這是為什麼?
因為股市這個系統其實處於物理里所說的某種臨界態上, 首先動力學高度混沌, 收到微小因素影響就會與原有預測分道揚鑣,第二它具有反身性, 即你的預測會反饋到未來里,使得最終結果更加撲朔迷離。 第三股票經常受到突發事件影響, 而如911這樣的大新聞從根本上說是不可預測的黑天鵝事件。
那麼是不是那些研究股市的人都是瞎的? 也不是,股市這個東西呢,你要是想賺的多, 只需要把預測的正確率提高1個百分點, 而不是要準確預測, 1個百分點對於大的機構來說, 就可能是無窮大的收入增長。 而複雜的模型,還是有可能把正確率提升1個百分點以上的 ,否則quant幹什麼吃呢?
7 甚至有些初看覺得特別有規律的東西, 也不是完全可預測的
比如心跳這個看似簡單的問題, 首先心跳是個時間序列,然後心跳不是周期性的嗎? 那不是可以完全預測? 事實上, 如果你細緻的看, 心跳還是有長短不同的間隔。而對於一些心臟病人, 它們的心跳也會顯示類似混沌系統的十分複雜的模式。 而對於心跳出現偶然不齊的預測, 則可以成為預防一個人心臟病突發死亡的基礎, 雖然這並非總是很簡單。
8 自然語言處理與時間序列
語言, 你不要以為和數學沒有關係。 當你把它轉化為數字, 它也無非是一個隨時間變化的高維向量。這種時間序列也是可以用精美的概率模式描述的, 而如果寄出神經網路大法,我們甚至可以發現它也是可以預測的。 這個神奇的工具叫遞歸神經網路(RNN), 它真的是會試著回答你的問題的哦。 如果有一天人類真能做出突破圖靈測試的AI-Machina, 估計就是以她為原件哦。
9. 隨機之美
概率作為一個數學工具的存在,也描述了人在隨機性面前的無力,隨機性在同時賦予世界創造與毀滅世界的力量的時候所帶來的悲劇之美。 在我眼裡,好的科學與梵高的名畫,莫扎特的音樂是異曲同工的。
人類發明了人工智慧,人工智慧又反過來促使我們自身的提高。而在進行模式識別預測未來時間點的變化的過程中,也在一步一步重構自身的世界。
本文首發於微信公眾號混沌巡洋艦(chaoscruiser)
歡迎關注混沌巡洋艦,追尋自然界複雜下的簡單,帶你學習各路跨界乾貨。
廣告:如果你想對最先進的預測和決策工具進行概覽式了解,鐵哥的複雜系統與機器學習特訓課將於2016年8月13日在北京五道口附近開班,詳情諮詢鐵哥微信(562763765)
推薦閱讀:
※小白學數據 | 除了計算大姨媽周期,時間序列分析還有什麼用
※[時間序列分析][5]--非平穩時間序列模型與差分
※時序數據分析有哪些套路(一)
※EGARCH與GARCH的區別?
※時間序列的Garch模型怎麼定階?