第一部分:為什麼要研究隨機過程?
人類認識世界的歷史,就是一認識和描繪各種運動的歷史,從宏觀的天體運動到分子的運動,到人心理的運動-我們通稱為變化,就是一個東西隨時間的改變。
人們最成功的描繪運動的模型是牛頓的天體運動,確定性是牛頓體系最大的特徵。給定位置和速度,運動軌跡即確定。但是20實際後的科學卻失去了牛頓美麗的確定性光環。
因為當人們試圖描繪一些真實世界,充滿複雜而未知因素的運動時候,人們發現不確定的因素(通常稱之為噪音)對事物的變化至關重要,而牛頓的方法幾乎難以應用。而我們所能夠給出的最好的對事物變化的東西,是一套叫概率論的東西。而與之相應的產生的一個全新的研究運動的方法-隨機過程, 對不確定性下的運動進行精細的數學描述。
我們周邊充滿了各種各樣的數據,所謂大數據時代,這些數據最基本的特點就是含有巨量的噪音, 而隨機過程就是從這些噪音裡提取信息的武器。
* 其實我們生活中也處處充滿「噪音」。比如說我們每天發郵件,經常有一些人時回時不回。那些不回的人到底是忘了還是真的不想回,我們卻不知道。一個書呆子統計學家會告訴你,你無法從一次的行為評判他,而要看他一貫的表現。
第一個隨機過程方法的偉大勝利是愛因斯坦的布朗運動。一些小花粉在水裡,受到水分子不停碰撞,而呈現隨機的運動(花粉顆粒由於很小比較容易受到水分子熱擾動的影響) 。 研究這些花粉的微小運動似乎有點天然呆,我們卻從中找到了分子世界重要的信息。而花粉那無序與多變的軌道,也為我們提供了隨機運動的範式(隨機遊走)。
計算機生成的十個粒子的布朗運動軌跡
如果給隨機過程打個比方,它就像是一個充滿交叉小徑的花園。你站在現在的點上,看未來的變化,未來有千萬種變化的方式, 每一種可能又不斷分叉變化出其它可能。
第二部分: 描述隨機過程的武器
隨機過程怎麼研究?幾樣神器是不可缺少的。
1. 概率空間:
面對不可確定的未來,無非有兩件事需要關心,一個是有哪些可以實現的可能,一個是每種可能的大小, 前者定義一個事件空間(態空間), 後者定義一個數-概率。
關鍵這些信息從哪裡來呢? 我們如何知道要發生什麼? 又如何知道多多大可能發生? -- 歷史。
概率論的思維基點其實是: 日光之下並無新事。
我們對未來的預測來源於對過於的經驗積累, 而溝通過去經驗與未來預測的工具就是概率。所謂一件事發生可能性大小,就是一件事在歷史中發生的頻率。
當然很多情況下概率也可以通過已知理論用演繹法推得,但是最根本的,還是由經驗確定的概率。
概率,我們中學數學都學過它是一個事件出現的頻率,但它的含義其實很深很深。因為一個事件出現的頻率來自於歷史,而概率卻用於對未來的預測,因此,概率包含的一個基本假設就是未來和過去的一致性-你要用概率,你所研究的對象要有可重複性。這其實假設了概率所研究的事件具有的某種穩定性,一旦這些一個過程是一個隨時間劇烈變化的過程,概率幾乎就不能應用。所以這裡只能說概率是一種近似,他對於研究那些比較簡單的物理過程,如投擲硬幣,才完全有效。
所以, 所謂概率空間,只能是一種近似,他是人類現有知識的總和, 我們用它描述已知的未知, 但是卻從來無法描述未知的未知-被我們稱作黑天鵝的事件,因為真正的未來,永遠無法只有已知的可能性(感興趣的請參看本人舊文-高斯與天鵝)。在大多數時候,我們還是日光之下並無新事,因此,概論的威力依然不可小覷。
有關概率空間的思維,可以立刻滅掉一些看似燒腦實際腦殘的題目:
假設你在進行一個遊戲節目。現給三扇門供你選擇:一扇門後面是一輛轎車,另兩扇門後面什麼都沒有。你的目的當然是要想得到比較值錢的轎車,但你卻並不能看到門後面的真實情況。主持人先讓你作第一次選擇。在你選擇了一扇門後, 知道其餘兩扇門後面是什麼的主持人,打開了另一扇門給你看,而且,當然,那裡什麼都沒有。現在主持人告訴你,你還有一次選擇的機會。那麼,請你考慮一下,你是堅持第一次的選擇不變,還是改變第一次的選擇,更有可能得到轎車?
回答這個問題的關鍵即事件空間,在主持人打開門之前,事件空間即車的位置有三種可能,你有1/3 的可能拿到車。當主持人選擇打開門的時候, 它實際上幫你做了一個選擇,那就是告你某個車庫沒有車,這時候事件空間發生了變化,因為你的已知變了。如果說以前的事件空間是或者你選擇的車庫有車(1/3), 或者另外兩個車庫中的某一個有車(各1/3)。現在的情況呢?被打開的車庫有車的概率變為0, 因此你選擇的車庫沒車的情況下車的位置已經變成確定的了,概率為2/3。而原來你車庫有車的選項卻不受到這一事件的影響(依然1/3概率), 所以你當然要選擇換車庫。
這個例子第一個說明的道理是概率是主觀的,來自於你頭腦中的信息。
回過頭看, 主持人的舉動增加了你對兩個車庫的信息, 而車是不變的,所以你要根據新的信息調整概率空間。
* 此實例是好的思維方法的力量的典範,如果你沒有這個事件空間的角度, 恐怕要做無數的試驗了。
條件概率: 現實生活中的一般都以條件概率的形式出現,即給定一定的已知條件,信息我們會得到什麼樣的概率。對這一大類問題可以引出整個貝葉斯分析理論,將在後續篇章中介紹。
2. 隨機變量 :
你投擲篩子,得到6個結果,每種結果有1/6 的可能。你把態空間的種種可能性都用數字表達出來,用一套用輕度裝逼的數學語言描述, 就是隨機變量。 這個東西包含所有輸出的可能性以及相應的概率,這些可能性(態空間)和概率的對應關係我們稱之為分布函數。如果態空間是連續的,我們就得到連續的分布函數形式。
圖: 一個二維高斯分布
分布函數:
隨機變量已經包含了兩個隨機過程研究的核心武器:態空間和分布函數。分布函數是提取隨機過程內有用信息的第一手段。分布函數-是在大量數據中提取信息的入口。
隨機變量的實現:隨機變量可以看做一個實驗,你在實驗之前,結果是不確定的,你所有的是一團可能性。 當你做完實驗,卻得到一個唯一的結果,只是預先不可知。
期望: 對一個隨機變量,已知其分布函數,可以定義一個期望。這個東西由每個結果的取值和它的可能性共同決定,表達未來結果的加權平均值。
實際中我們可以用實驗的方法確定這個數字,就是所謂蒙特卡洛方法,不停的投篩子然後做個統計,你所得到的結果的平均就是期望。(平均值和期望的區別就是第一個來自已有的數據的平均,第二是對根據已有的平均對未來的預測。)
關於期望包含著一種投資世界裡的基本思維方式,就是對收益的幅值和風險(概率)一起考慮。經常有一些時候一些出現機會極少而收益特別大的可能性決定了期望,如果你的心臟足夠強大,就應該充分考慮這些高風險高收益的可能。
相關性: 對於兩個隨機變量,你可以定義一個相關性covariance,描述一個隨機變量隨另一個而變化的趨勢。這個函數特別有用,它是現實生活中我們說兩個事物相關性的精確表達。
理解這個算式特別簡單,這個量就是x和y波動乘積的期望,當兩個變量是此消彼長,則為負,共生共榮則為正,若兩個過程不相關,則為0.
方差: 上述關係當x=y我們得到方差,方差就是自己和自己的關聯函數,當隨機變量比較接近正態分布時候它可以描繪波動性的大小。
對於N個隨機變量,任意兩個隨機變量可得到一個covariance,而這樣一組covariance構成大名鼎鼎的covariance matrix.
測量分布函數的武器-蒙特卡洛方法:
搞定一個分布函數,笨辦法也是最有用的方法就是蒙特卡洛方法。 一般篩子情況下,篩子有6各面, 每個面出現的概率有1/6,但是萬一篩子被做過手腳呢? 所以最好的方法還是所謂蒙特卡洛抽樣,不停的玩,知道你認為你可以穩定得到每次可能性出現的頻率。 所謂笨辦法確是最常用的,尤其是隨著高速計算機的普及。一些重大的工程, 涉及太多複雜不好確定因素時候,我們就讓計算機模擬,設計一系列的蒙特卡洛抽樣來求得一些結果。
* 此名來自Monte Carlo 摩納哥的賭場, 其實賭場裡也可以產生一些最厲害的數學思想。
抽樣:
在計算機裡研究牽扯隨機變量的過程最基本的方法就是抽樣,抽樣就是已知分布函數取得一個隨機的結果的過程。我們要在計算機裡模擬一個隨機過程都是通過抽樣來實現的。抽樣的成功與否決定這些計算機模擬(simulation)能在多少程度逼近真實。計算機的抽樣都是基於最簡單的隨機數生成器產生的,產生概率均等的均與分布(Uniform distribution)。但是這些「隨機數」實際是早已設定好的,因此更準備的被稱作「偽隨機數」。而對於更加複雜的分布函數的抽樣, 則有如層出不窮的算法解決它,比如大名鼎鼎的Markov Chain Monte Carlo (MCMC)方法,將在之後的章節介紹。
第三部分: 什麼是隨機過程
確定性過程研究一個量隨時間確定的變化,而隨機過程描述的是一個量隨時間可能的變化,在這個過程裡,每一個時刻變化的方向都是不確定的,或者說隨機過程就是由一系列隨機變量組成,每一個時刻系統的狀態都由一個隨機變量表述,而整個過程則構成態空間的一個軌跡(隨機過程的實現)。
一個隨機過程最終實現,會得到一組隨時間變化的數值(態空間裡的軌跡),實踐中我們都是從數據結果中推測一個隨機過程的性質的。
剛說過概率是建立在可重複性上,是一個理想模型,而建立在此上的隨機過程就更是一個理想化的模型,它暗含的是歷史可無限重複,然後你把他們收集在一起看一看。我在一開頭的說的充滿分叉小徑的花園是一種比喻,但說的也是你需要站在平時時空(每一個時空包含一種歷史的可能性)的角度來看一個隨機過程的全貌。
我們立刻發現這是一個超級複雜的問題,因為一個隨機過程具有無限多可能性。試想像一個最簡單的隨機過程,這個過程由N步組成,每一步都有兩個選擇(0,1),那麼可能的路徑就有2的N次方個,這個隨機過程就要由2^N-1個概率來描述(概率只和為一減掉一個維度),用數學物理的語言就是極高維度的問題。
* 離散的時間序列是清晰表述隨機過程的入門方式,雖然更一般的表述是時間是連續的
因此,能否研究一個隨機過程的關鍵就是減少問題的維度-這也是物理的核心思想。
一下講一下達到這個目的發明的神器:
馬爾科夫過程(Markov Processes)
馬爾科夫過程,是隨機過程中的精華部分,其地位猶如牛頓定律在力學的地位。
對於最一般的隨機過程,是無限複雜的,幸好,在我們日常生活中,很多隨機過程符合或近似更簡單的模型。其中目前一種最有效的框架成為馬爾科夫過程. 所謂馬爾科夫過程,即隨機過程的每一步的結果最多只與上一步有關,而與其它無關。 好比你不停撒篩子,你每一次的結果不會影響未來的成績。
馬爾可夫鏈(Markov chain):
makov過程用數學語言表述就是馬爾科夫鏈,就像一臺熊熊駛過的火車,前一個車廂(上一步)拉著後一個(下一步),向前運行。
如果一個過程是markov過程,這個過程就得到了神簡化,你只需要知道第n步是如何與第n-1步相關的,一般由一組條件概率表述,就可以求得整個過程。一個巨大的隨機過程,其內核僅僅是這樣一組條件概率,而知道了這組條件概率,就可以衍生整個過程。
圖: 一個典型的markov過程, 每一個的結果只與上一步相關,我們只需要一組條件概率(箭頭)來描述,每個條件概率告你如果態空間中的某一個事件發生,那麼從這一點出發, 下一個事件發生的概率。
我們不妨多想一下,如果第n步和第n-1步的關係不是隨機的,而是確定的,那我們得到了什麼?我們聯想到牛頓力學,牛頓力學也是此刻的狀態決定下一刻的變化,其本質也是鏈式法則,通過此刻與此刻最鄰近的未來的關係,衍生出整個宇宙的過去和未來, 其靈魂同樣是降維。或者說markov就是隨機過程裡的牛頓法則。
Markov是不是真的是一個歷史無關的過程? No! 雖然第N+1步只與第N步有關,但是第N步又包含第N-1步,所以通過鏈式法則,歷史的信息還是可以傳遞到現在的。
經典表述:
馬爾科夫鏈的核心條件概率表達式就是這臺火車連結不同車廂的鏈條。 如果這個條件概率關係不隨時間變化,我們就得到經典的穩態馬爾科夫鏈。它有一個良好的性質,就是當這個過程啟動一段時間就會進入統計穩態,穩態的分布函數與歷史路徑無關。
一個簡單的例子: 關於生育偏好是否影響男女比例的問題。
我們知道過去的人喜歡生男孩,往往生女孩子就不停生,直到生到一個男生為止,因此就造成很多一大堆姐姐只有一個弟弟的家庭。我接觸過的一些特別聰明的人都會認為這樣的行為會影響男女比例。大部分人覺得會造成女孩比例多,少數人認為會增加男孩比例。 實際呢?
一言以蔽之: 不變。 為什麼? 生育問題是典型的穩態馬爾科夫過程,下一次生育不受上一次生育的影響。 根據馬氏過程的特性,你知道歷史無需考慮歷史路徑, 最終的平衡概率只取決於每一步的概率。所以無論你怎麼玩,不論是你拼命想生男孩還是女孩,都無法影響人口比例。
但是有一招卻是有影響的,就是打胎。 為什麼? 答案依然很簡單,你改變了每一步的概率。
這就是馬爾科夫過程的威力和魅力,可惜人生卻不是馬爾科夫過程, 因為每一步都高度依賴於過去n步,因此人生是高度歷史路徑依賴的。
關於馬爾科夫過程的進一步理解及幾個經典的隨機過程範式將在下文講解。