matlab對(duì)國(guó)內(nèi)生產(chǎn)總值(GDP)建立馬爾可夫鏈模型(MC)并可視化
原文鏈接:http://tecdat.cn/?p=17549?
原文出處:拓端數(shù)據(jù)部落公眾號(hào)
?
本示例說(shuō)明如何創(chuàng)建并可視化Markov鏈模型的結(jié)構(gòu)和演化???紤]從隨機(jī)轉(zhuǎn)移矩陣中創(chuàng)建馬爾可夫鏈的四狀態(tài)馬爾可夫鏈,該模型模擬了國(guó)內(nèi)生產(chǎn)總值(GDP)的動(dòng)態(tài)?。
創(chuàng)建實(shí)際GDP的馬爾可夫鏈模型。指定狀態(tài)名稱。
P = [0.5 0.5 0.0 0.0;
0.5 0.0 0.5 0.0;
0.0 0.0 0.0 1.0;
0.0 0.0 1.0 0.0];
stateNames = ["Regime 1" "Regime 2" "Regime 3" "Regime 4"];
mc = mc(P,'StateNames'
可視化馬爾可夫鏈的一種方法是繪制轉(zhuǎn)移矩陣的熱圖。
figure;
imagesc(P);
colormap(jet);
colorbar;
axis squar

有向圖
有向圖將鏈中的狀態(tài)顯示為節(jié)點(diǎn),并將狀態(tài)之間的可行轉(zhuǎn)換顯示為有向邊。
繪制馬爾可夫鏈的默認(rèn)有向圖。
figure;
plot(mc);

通過(guò)基于轉(zhuǎn)移概率指定邊緣顏色來(lái)比較轉(zhuǎn)移概率。
figure;
plot(mc,'ColorEdges'

通過(guò)根據(jù)狀態(tài)類型指定節(jié)點(diǎn)顏色和標(biāo)記來(lái)識(shí)別循環(huán)狀態(tài)和瞬態(tài)狀態(tài)。
figure;
h = hplot(mc,'ColorEdges',true,

?
低均值狀態(tài)是瞬態(tài)的,最終轉(zhuǎn)移到遞歸的高均值狀態(tài)。
節(jié)點(diǎn)標(biāo)簽的默認(rèn)字體大小為8。將字體大小減少到7。
FontSize = 7;

?
混合圖
可以通過(guò)在有向圖中繪制目標(biāo)概率和預(yù)期的第一次命中時(shí)間來(lái)可視化。
?從馬爾可夫鏈中的每個(gè)狀態(tài)開(kāi)始計(jì)算命中目標(biāo)狀態(tài)的指定子集的概率。其中節(jié)點(diǎn)顏色表示命中概率。
繪制馬爾可夫鏈的有向圖,其中節(jié)點(diǎn)顏色表示命中方案1的概率。
htp(mc,"Regime 1",'Graph

?
?從馬爾可夫鏈中的每個(gè)狀態(tài)開(kāi)始,計(jì)算目標(biāo)狀態(tài)的指定子集的預(yù)期首次命中時(shí)間。其中節(jié)點(diǎn)顏色表示命中時(shí)間。
繪制馬爾可夫鏈的有向圖,其節(jié)點(diǎn)顏色表示包含狀態(tài)3和4的目標(biāo)子類的預(yù)期首次命中時(shí)間。
target = ["Regime 3" "Regime 4"];
htime(mc,target

從方案1開(kāi)始,該子類的預(yù)期首次命中時(shí)間為6個(gè)時(shí)間步長(zhǎng)。
特征值圖
特征值圖顯示了復(fù)平面上的特征值。特征值圖并標(biāo)識(shí):
Perron-Frobenius特征值,使用粗體星號(hào)為非負(fù)矩陣。
光譜間隙,即長(zhǎng)度等于第二大特征值幅度(SLEM)的半徑和長(zhǎng)度為1的半徑之間的區(qū)域。光譜間隙決定了馬爾可夫鏈的混合時(shí)間。大間隙表示混合較快,而細(xì)間隙表示混合較慢。
在復(fù)雜平面上繪制并返回轉(zhuǎn)換矩陣的特征值。
figure;
eigplt(mc)

?
eVals = 4×1
0.8090
-0.3090
1.0000
-1.0000
兩個(gè)特征值的模量為1,表明馬爾可夫鏈的周期為2。
重新分配圖
重新分布圖從初始分布繪制了狀態(tài)重新分布。?使用馬爾可夫鏈對(duì)象生成的數(shù)據(jù)來(lái)繪制重新分布???梢詫⒅匦路植祭L制為靜態(tài)熱圖或動(dòng)畫直方圖或有向圖。
從初始分布生成10步重新分布。
redis(mc,numSteps,'X0',x0);
將重新分布繪制為熱圖。

?
由于狀態(tài)1和狀態(tài)2是瞬態(tài)的,因此馬爾可夫鏈最終將概率集中在狀態(tài)3和狀態(tài)4。此外,如特征值圖所示,狀態(tài)3和狀態(tài)4的周期為2。
繪制動(dòng)畫直方圖。將幀速率設(shè)置為一秒。

?
仿真圖
仿真圖繪制了從特定初始狀態(tài)開(kāi)始的馬爾可夫鏈的隨機(jī)游動(dòng)圖。?
生成100個(gè)十步隨機(jī)游走,其中每個(gè)狀態(tài)都會(huì)初始化游走25次。
simu(mc,numSteps,
將模擬繪制為熱圖,以顯示每個(gè)步驟達(dá)到的狀態(tài)比例。

?
繪制已實(shí)現(xiàn)轉(zhuǎn)移矩陣的熱圖。
figure;
simp(mc,X,'Type','transition');

所實(shí)現(xiàn)的轉(zhuǎn)移矩陣看起來(lái)類似于理論轉(zhuǎn)移矩陣。

最受歡迎的見(jiàn)解
1.用R語(yǔ)言模擬混合制排隊(duì)隨機(jī)服務(wù)排隊(duì)系統(tǒng)
2.R語(yǔ)言中使用排隊(duì)論預(yù)測(cè)等待時(shí)間
3.R語(yǔ)言中實(shí)現(xiàn)馬爾可夫鏈蒙特卡羅MCMC模型
4.R語(yǔ)言中的馬爾科夫機(jī)制轉(zhuǎn)換(Markov regime switching)模型
5.matlab貝葉斯隱馬爾可夫hmm模型
6.用R語(yǔ)言模擬混合制排隊(duì)隨機(jī)服務(wù)排隊(duì)系統(tǒng)
7.Python基于粒子群優(yōu)化的投資組合優(yōu)化
8.R語(yǔ)言馬爾可夫轉(zhuǎn)換模型研究交通傷亡人數(shù)事故預(yù)測(cè)
9.用機(jī)器學(xué)習(xí)識(shí)別不斷變化的股市狀況——隱馬爾可夫模型的應(yīng)用
?