我們先看幾個重要的概念,這里的一些知識點和例子可以參照《Foundations of stochastic inventory theory》番枚。
首先是隨機(jī)過程,Markov過程,和Markov(馬爾可夫)鏈葫笼。?Markov過程在工程系統(tǒng)中的噪 聲和信號分析渔欢、通信網(wǎng)絡(luò)的模擬、統(tǒng)計 物理學(xué)奥额、生物學(xué)垫挨、數(shù)字計算方法触菜、經(jīng)濟(jì) 管理和市場預(yù)測等領(lǐng)域中都有十分重要 的作用和廣泛的應(yīng)用涡相,它在人工智能和 在人工神經(jīng)網(wǎng)絡(luò)中也有重要的應(yīng)用催蝗。比如,在金融領(lǐng)域丙号,馬爾可夫鏈模型被用于預(yù)測企業(yè)產(chǎn)品的市場占有率犬缨。
馬爾可夫鏈?zhǔn)且环N相當(dāng)常見的、相對簡單的統(tǒng)計模型隨機(jī)過程的方法刺彩。它們已經(jīng)被應(yīng)用于許多不同的領(lǐng)域,從文本生成到金融建模三热。
一:馬爾可夫過程的分類
? ? ?馬爾可夫過程按其狀態(tài)和時間可參數(shù)是連續(xù),離散分為三類:
1. 時間三幻,狀態(tài)都是離散的馬爾可夫過程念搬,稱馬爾可夫鏈
2.?時間連續(xù)朗徊,狀態(tài)離散的馬爾可夫過程,稱為連續(xù)的馬爾可夫過程
?3.?時間有缆,狀態(tài)都是連續(xù)的馬爾可夫過程
二:馬爾可夫鏈的定義
時間和狀態(tài)都是離散的馬爾可夫過程稱為馬爾可夫鏈棚壁。
通過上面的數(shù)學(xué)推導(dǎo)可見袖外,馬爾可夫鏈的馬爾可夫性可以表示為:
? ? ? ? ? ? ? P{Xn+1 =in+1 | Xn = in }
也就是說當(dāng)前狀態(tài)只與前一個狀態(tài)有關(guān)曼验,與其他狀態(tài)無關(guān)鬓照。
下面是我找到的網(wǎng)上對隨機(jī)過程和馬爾可夫鏈比較有意思的解釋豺裆,感興趣的同學(xué)可以去看看微信公眾號紅猴子坛芽。
隨機(jī)過程咙轩,顧名思義阴颖,它其實就是個過程量愧,比如今天下雨,那么明天下不下雨呢煞烫?后天下不下雨呢?從今天下雨到明天不下雨再到后天下雨凛俱,這就是個過程料饥。那么怎么預(yù)測N天后到底下不下雨呢岸啡?這其實是可以利用公式進(jìn)行計算的巡蘸,隨機(jī)過程就是這樣一個工具悦荒,把整個過程進(jìn)行量化處理逾冬,用公式就可以推導(dǎo)出來N天后的天氣狀況产还,下雨的概率是多少嘀趟,不下雨的概率是多少牛隅。說白了媒佣,隨機(jī)過程就是一些統(tǒng)計模型默伍,利用這些統(tǒng)計模型可以對自然界的一些事物進(jìn)行預(yù)測和處理也糊,比如天氣預(yù)報狸剃,比如股票,比如市場分析钞馁,比如人工智能瑟枫。它的應(yīng)用還真是多了去了。
再次指攒,我們看看什么是馬爾可夫鏈 (Markov Chain)慷妙。
馬爾可夫鏈?zhǔn)请S機(jī)過程中的一種過程,到底是哪一種過程呢允悦?
先說說我們村智商為0的王二狗膝擂,人傻不拉幾的,見人就傻笑隙弛,每天中午12點的標(biāo)配架馋,仨狀態(tài):吃,玩全闷,睡。這就是傳說中的狀態(tài)分布。
你想知道他n天后中午12點的狀態(tài)么?是在吃山涡,還是在玩唐责,還是在睡?這些狀態(tài)發(fā)生的概率分別都是多少科盛??
先看個假設(shè)榨崩,他每個狀態(tài)的轉(zhuǎn)移都是有概率的乳怎,比如今天玩秫逝,明天睡的概率是幾金蜀,今天玩抒线,明天也玩的概率是幾。
這個矩陣就是轉(zhuǎn)移概率矩陣P抑进,并且它是保持不變的,就是說第一天到第二天的轉(zhuǎn)移概率矩陣跟第二天到第三天的轉(zhuǎn)移概率矩陣是一樣的炬称。(這個叫時齊(time-homogeneity)跷车,時齊性是指不铆,系統(tǒng)由狀態(tài)?ii?到狀態(tài)?jj?的轉(zhuǎn)移概率只依賴于其時間間隔的長短许帐,與起始時間無關(guān)循帐。)瘪匿。
有了這個矩陣顽染,再加上已知的第一天的狀態(tài)分布,就可以計算出第N天的狀態(tài)分布了翔悠。
S1 是4月1號中午12點的的狀態(tài)分布矩陣[0.6, 0.2, 0.2],里面的數(shù)字分別代表吃的概率站超,玩的概率生宛,睡的概率莱睁。
那么4月2號的狀態(tài)分布矩陣 S2 = S1 * P (倆矩陣相乘)酥馍。
月3號的狀態(tài)分布矩陣 S3 = S2 * P (看見沒施无,跟S1無關(guān)嫂便,只跟S2有關(guān))拷邢。
4月4號的狀態(tài)分布矩陣 S4 = S3 * P (看見沒廷臼,跟S1,S2無關(guān),只跟S3有關(guān))。
...
4月n號的狀態(tài)分布矩陣 Sn = Sn-1 * P (看見沒,只跟它前面一個狀態(tài)Sn-1有關(guān))盛正。
總結(jié):馬爾可夫鏈就是這樣一個任性的過程,它將來的狀態(tài)分布只取決于現(xiàn)在徊哑,跟過去無關(guān)。
就把下面這幅圖想象成是一個馬爾可夫鏈吧奸披。實際上就是一個隨機(jī)變量隨時間按照Markov性進(jìn)行變化的過程样刷。
Note: 馬爾可夫過程的平衡狀態(tài)與初始值無關(guān)邑茄。
一個馬爾科夫?qū)嵗?(參見:https://blog.csdn.net/robert_chen1988/article/details/81234790):
1. 狀態(tài)(state)
一個零售商面對的顧客有兩種狀態(tài)秕硝,
狀態(tài) s1: 上一個月買過該零售商的商品
狀態(tài) s2:上一個月沒有買過該零售商的商品
2. 決策 (action)
零售商可以做出 3 個決策及對應(yīng)的決策成本:
決策 a1 : 什么都不做 成本:0
決策 a2 : 發(fā)禮物,小促銷 成本:0.5
決策 a3: 發(fā)禮物洲尊, 大促銷 成本:0.5
3. 狀態(tài)轉(zhuǎn)移及轉(zhuǎn)移概率 (transition equation and possibility)
Initial state action next state s1 and possibility next state s2 and possibility?
S1? ?a1? s1? 0.99 s2 0.01
S1? ? a2? s1 0.93 s2 0.07
S1? ?a3 s1? 0.85 s2 0.15
S2? ?a1 s1 0.80 s20.20
S2? a2 s1 0.72 s2 0.28
S2 a3 s1 0.50 s2 0.50
4. 折現(xiàn)率 (discount factor)
?折現(xiàn)率?\alpha=0.09
有效轉(zhuǎn)移概率p=q*a
5. 即時收益(immediate value)
Initial state action action cost expected return
S1? ?a1? 0? 0.08
S1? ? a2? 0.5 -0.01
S1? ?a3 0.5 -0.05
S2? ?a1 0 1.6
S2? a2 0.5 1.4
S2 a3 0.5 1
若顧客不購買商品远豺,收益為 0;
不促銷時坞嘀,顧客購買商品躯护,收益為 8;
小促銷時丽涩,顧客購買商品棺滞,收益為 7;
大促銷時矢渊,顧客購買商品继准,收益為 3;
減去成本矮男,得到的期望即時回報(immediate return)
若是單周期決策移必,從上表可以看出,不論初始狀態(tài)是什么昂灵,最有決策都是?a1a1避凝,即不促銷不發(fā)禮物。
6. 兩階段決策
若是兩階段決策眨补,則期望回報和需要再算一層管削。
Initial state action action cost expected return expected immediate return
S1? ?a1? 0? 0.08 0.1736
S1? ? a2? 0.5 -0.01 0.17
S1? ?a3 0.5 -0.05 0.2
S2? ?a1 0 1.6 1.87
S2? a2 0.5 1.4 1.85
S2 a3 0.5 1 1.75
從上表可以得出最優(yōu)決策策略是:若初始狀態(tài)為 s1s1,最優(yōu)決策 a3a3撑螺,即大促銷含思;若初始狀態(tài)為 s2s2, 最優(yōu)決策 a1a1,即不促銷含潘。
7. 最優(yōu)遞推方程
定義 fn(s)fn(s) 表示初始狀態(tài)為 ss饲做,之后 nn 個階段的最優(yōu)期望回報,則最優(yōu)遞推方程可以表示為:
f_n(s)=sup(r(s,a))+\alpha\sumP_{sj}f_{n-1}(j}
界限方程一般是:f_0(s)=v(s)
這就是一個動態(tài)規(guī)劃表達(dá)式遏弱。
另外一個馬爾科夫?qū)嵗?(參見https://blog.csdn.net/weaponsun/article/details/50007411)
假設(shè)我們在研究一個粒子的運動盆均。這個粒子隨機(jī)地在A門與B門之間跳動。如果這個粒子跳入A門漱逸,那么它下一次跳入A門的概率為0.8泪姨。如果這個粒子跳入B門,那么它下次跳入B門的概率為0.7饰抒。我們的問題是肮砾,現(xiàn)在有100000個這樣的粒子讓它們跳躍,讓它們跳躍1000次,我們會觀察到多少個粒子在A門多少個在B門袋坑?
首先隨機(jī)生成100000個粒子仗处。1代表該粒子在A門,0代表在B門枣宫。
生成10000個以概率0.8為1婆誓,概率0.2為0的隨機(jī)數(shù)。同時在生成10000個以概率0.7為0镶柱,概率0.3為1隨機(jī)數(shù)旷档。
用2a-AA模叙。如果值為1說明該粒子從A門跳轉(zhuǎn)到A門歇拆;如果值為2則說明該粒子從A門跳轉(zhuǎn)到B門。另外值為0范咨,-1則說明該粒子初始狀態(tài)是在B門故觅。
用2a-BB。如果值為0說明該粒子從B門跳轉(zhuǎn)到B門渠啊;如果值為-1則說明該粒子從B門跳轉(zhuǎn)到A門输吏。另外值為2,1則說明該粒子初始狀態(tài)是在A門替蛉。
找到A中大于等于1的元素與B中小于等于0的元素贯溅。同時新建一個向量a2用于存儲結(jié)果。
將A中大于等于1的元素與B中小于等于0的元素按照對應(yīng)的位置放入新的向量a中躲查。
這時a2中1和-1代表粒子在A門它浅;2和0代表粒子在B門。將-1換成1镣煮,2換成0姐霍。
通過while loop讓粒子跳躍1000次。
得出的結(jié)果大概在60000左右。也就是說大概能觀察到60000個粒子在A門镊折,40000個在B門胯府。
再看一個馬爾科夫?qū)嵗?(參見http://blog.sciencenet.cn/blog-255662-513722.html)
例子: 姜華平、陳海泳對某城市2002年居民出行方式所占比例進(jìn)行了調(diào)查恨胚。結(jié)果如下
公交車bus,自行車Bicycle,步行walk,其他other
19%, 14%, 56%, 11%
本時期各出行方式轉(zhuǎn)移概率如下表(%)
bus??? bicycle? walk? other
Bus????? 90????? 4????? 2???? 4
bicycle?? 7???? 86????? 1???? 6
walk????? 8????? 7???? 80???? 5
other??? 10????? 2????? 3???? 85
假設(shè)該城市居民每天出行總?cè)藬?shù)為468萬人次骂因,出行人數(shù)不變,各出行方式的轉(zhuǎn)移概率也不變赃泡,
問題:
(1) 預(yù)測2006年該城市乘公交出行的人數(shù)
(2) 經(jīng)歷足夠長的時間侣签,求出行方式的比例是多少?
寫出轉(zhuǎn)移矩陣
T?<-?matrix(c(90,?4?,?2?,?4?,
?7?,?86,?1?,?6?,
?8?,?7?,?80,?5?,
?10,?2?,?3?,?85?)/100,
?nrow?=?4,?ncol?=?4, byrow?=?TRUE)
寫出初始矩陣
p?<-?matrix(c(19,?14,?56,?11)/100,?nrow?=?1,?ncol?=?4, byrow?=?TRUE)
下一年的概率應(yīng)該為當(dāng)年分配概率和轉(zhuǎn)移矩陣的乘積
2003
p1?<-?p%*%T
2004
p2?<-?p1%*%T
2005
p3?<-?p2%*%T
2006
p4?<-?p3%*%T
2006年乘坐公交車出行的總?cè)藬?shù)應(yīng)為
res?<-?468?*?p4[1]