|
最近,小編在公司接手了一個(gè)項(xiàng)目,涉及隨機(jī)過(guò)程和馬可夫鏈。這幾天,文獻(xiàn)、博客看了很多相關(guān)內(nèi)容。這篇文章我們主要闡述一下隨機(jī)過(guò)程和馬可夫鏈。 面試問(wèn)題小編之前面試銀行,被問(wèn)過(guò)一道面試題,題干如下:
大家先思考一下這個(gè)問(wèn)題,我們先講講隨機(jī)過(guò)程和馬可夫鏈。 醉漢 隨機(jī)過(guò)程
維基百科固然很好,但是有很多概念說(shuō)的太不具體,有時(shí)候讓人很難理解。 舉個(gè)例子: 擲骰子、投硬幣都是隨機(jī)事件。比如擲骰子,1到6點(diǎn)。每次擲骰子,每個(gè)面是隨機(jī)出現(xiàn)的(假設(shè)篩子沒有被做過(guò)手腳)。那么,當(dāng)我們每次追篩子的時(shí)候,就會(huì)產(chǎn)生一個(gè)隨機(jī)變量X。我們不停的擲骰子,就會(huì)產(chǎn)生一系列的隨機(jī)變量,X1, X2 ... Xn。而這些隨機(jī)變量序列的集合,便組成了一個(gè)隨機(jī)過(guò)程。 隨機(jī)過(guò)程 馬可夫鏈前面介紹的隨機(jī)過(guò)程,每一次擲骰子都是獨(dú)立存在的。也就是說(shuō),我現(xiàn)在擲骰子的行為和點(diǎn)數(shù)和之前之后擲篩子都沒關(guān)系。每次拋擲的結(jié)果相互獨(dú)立。 但是現(xiàn)實(shí)中,真正的隨機(jī)變量之間,往往存在著互相依賴的關(guān)系。 馬可夫鏈 - 熊市、牛市和平穩(wěn)市場(chǎng) 我們已股票市場(chǎng)舉例,牛市、熊市和之間的平穩(wěn)市場(chǎng)都不會(huì)突然來(lái)臨和隨機(jī)變換。比如這周是牛市,突然下周就變成熊市,再下周又牛市了。這種頻繁突變基本不可能出現(xiàn)。今天是牛市,大多數(shù)情況下,明天還是處在牛市之中。 什么是馬可夫鏈呢? 馬爾科夫鏈?zhǔn)且粋€(gè)隨機(jī)過(guò)程,同時(shí)馬爾科夫鏈的記憶類似于“金魚的記憶只有3秒”,非常的健忘。 1 - 2 - 3 - 4 - 5 - 6 比如說(shuō),你現(xiàn)在站在5對(duì)6 進(jìn)行預(yù)測(cè),根據(jù)馬爾科夫鏈,6的狀態(tài)只和5有關(guān),而前面1到2, 2到3, 3到4,4到5的整個(gè)過(guò)程無(wú)關(guān)。 馬爾科夫鏈認(rèn)為 過(guò)去所有的信息都被保存在了現(xiàn)在的狀態(tài)下了。 馬可夫鏈 - 熊市、牛市和平穩(wěn)市場(chǎng) 從上面股市圖中,假如今天是牛市(Bull Market),那么明天依舊是牛市的概率是0.9,是熊市(Bear Market)的概率是0.075,是平穩(wěn)市場(chǎng)的概率是0.025。這樣就形成了三種市場(chǎng)相互依賴、相互轉(zhuǎn)變的隨機(jī)過(guò)程 - 馬可夫過(guò)程。 馬可夫鏈應(yīng)用股市隨機(jī)過(guò)程 理解馬可夫鏈,首先要明確整個(gè)過(guò)程有幾種狀態(tài),如股市隨機(jī)過(guò)程中存在三種狀態(tài):‘Bull Market’, ‘Bear Market’和‘Stagnant Market’。而各個(gè)狀態(tài)之間的相互轉(zhuǎn)變概率如上圖所示。注意,每一行的概率之和都為1。 各個(gè)狀態(tài)之間的轉(zhuǎn)變關(guān)系表一般叫做過(guò)渡矩陣(Transition Matrix)。 其次要明確的是現(xiàn)在的狀態(tài)。因?yàn)轳R可夫隨機(jī)過(guò)程所有的信息都存在于當(dāng)前狀態(tài)中。 假設(shè),我們現(xiàn)在身處熊市。那么,怎么用向量表示呢? 當(dāng)前狀態(tài) = [0, 1, 0]. 從左到右依次為牛市、熊市和平穩(wěn)市場(chǎng)。1表示處在該狀態(tài)。 那么,明天的狀態(tài)就可以通過(guò)矩陣相乘:當(dāng)前狀態(tài) * 過(guò)度矩陣。 明天有1.5%的可能性為牛市,80%概率是熊市,5%的概率是平穩(wěn)市場(chǎng)。 如果我們需要預(yù)測(cè)100天之后市場(chǎng)的情況,只需要將當(dāng)前狀態(tài) 乘以 100次過(guò)渡矩陣。 具體代碼如下:定義一個(gè)遞歸函數(shù)f_func 那么,100天后市場(chǎng)有62.5%是牛市,31.25%是熊市,6.25%是平穩(wěn)市場(chǎng)。 醉漢墜崖問(wèn)題計(jì)算第一步:整個(gè)過(guò)程有11個(gè)狀態(tài),0(墜崖),1,2,3,..., 10(家里); 第二步:當(dāng)前狀態(tài),醉漢站在4的位置上,[0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0] 第三部:過(guò)渡矩陣: 過(guò)渡矩陣 怎么去理解這個(gè)過(guò)渡矩陣呢?比如: 第一行,0行。當(dāng)前狀態(tài)即為0,由于已經(jīng)墜崖,醉漢不可能爬上來(lái),那么醉漢會(huì)永遠(yuǎn)處于0的狀態(tài),也就是概率為1。0到其他狀態(tài)的概率為0。 第二行,1行。當(dāng)前狀態(tài)為1,醉漢往前和往后的概率都是50%。也就是說(shuō)下一個(gè)狀態(tài)是0或者2的概率為0.5,其他狀態(tài)為0. 依次類推。。。 如果想知道最終醉漢到家或者墜崖的概率分別為多少的話?同樣可以使用上面的遞歸函數(shù)f_func將當(dāng)前狀態(tài)同過(guò)渡矩陣乘1000次或者更多。 醉漢墜崖 1000次后,醉漢墜崖概率是60%,而到家的概率是40%。 總結(jié)馬可夫隨機(jī)過(guò)程和馬可夫鏈在金融、生物等都有著很廣泛的應(yīng)用。有興趣的朋友可以自行閱讀專業(yè)文章。 大家有沒有發(fā)現(xiàn),醉漢離家6米,離懸崖4米,懸崖離家10米。而墜崖的概率是60% = 6 /10,而回家的概率是40% = 4/10。 原來(lái)結(jié)果可以直接以距離的商計(jì)算出來(lái)。這個(gè)是可以通過(guò)公式推導(dǎo)出來(lái)的,有興趣的朋友可以自行理解推導(dǎo)。推導(dǎo)的關(guān)鍵在于當(dāng)前狀態(tài)和下一狀態(tài)直接的關(guān)系推導(dǎo)。 喜歡我的文章請(qǐng)點(diǎn)個(gè)贊或者轉(zhuǎn)發(fā)。 |
|
|