馬爾可夫鏈的平穩分布


 假設說,抽煙和不抽煙的人群之間有一定的概率互相轉化,且相互轉化的概率如下圖所示

 即:

  抽煙的人第二天仍然抽煙的概率是0.8

  不抽煙的人第二天開始抽煙的概率是0.1

  不抽煙的人第二天仍然不抽煙的概率是0.9

  抽煙的人第二天開始不抽煙的概率是0.2

我們用程序去模擬抽煙與不抽煙人群相互轉化的過程:

首先任意假定一個初始狀態:抽煙與不抽煙的人群在實驗開始前分別有500人

依據上圖,定義轉移概率矩陣為:

使用下述代碼進行模擬

import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import math
transfer_matrix = np.array([[0.8, 0.1],[0.2,0.9]],dtype='float32')
somking_matrix = np.array([[500],[500]],dtype='float32')
number_somking = [500]
number_nosomking = [500]

for i in range(30):
    somking_matrix = np.dot(transfer_matrix,somking_matrix)
    #print(somking_matrix)
    number_somking.append(somking_matrix[0][0])
    number_nosomking.append(somking_matrix[1][0])
    
print(number_somking)
print(number_nosomking)

x = np.arange(31)
plt.plot(x,number_somking,label='somking')
plt.plot(x,number_nosomking,label='nosomking')
plt.legend()
plt.show()

運行上述代碼得到的結果如下:

抽煙人數在30天內的變化為:[500, 450.0, 415.0, 390.5, 373.35, 361.34503, 352.9415, 347.05905, 342.94135, 340.05896, 338.04126, 336.62888, 335.6402, 334.94815, 334.4637, 334.1246, 333.8872, 333.72107, 333.60477, 333.52335, 333.46637, 333.42645, 333.39853, 333.379, 333.36533, 333.35574, 333.34903, 333.34433, 333.34106, 333.33875, 333.33713]

不抽煙人數在30天內的變化為:[500, 550.0, 585.0, 609.5, 626.64996, 638.6549, 647.0584, 652.94086, 657.05853, 659.9409, 661.9586, 663.37103, 664.35974, 665.0518, 665.53625, 665.87537, 666.1128, 666.279, 666.39526, 666.4767, 666.5336, 666.57355, 666.6015, 666.62103, 666.6347, 666.6443, 666.651, 666.6557, 666.659, 666.6613, 666.6629]

繪制圖像為:

 

 

 

 現在,我們更換初始狀態:抽煙與不抽煙的人群在實驗開始前分別有1000人和0人

再次運行代碼,得到的結果如下:

抽煙人數在30天內的變化為:[1000, 800.0, 660.0, 562.0, 493.4, 445.38, 411.76602, 388.2362, 371.76535, 360.23575, 352.165, 346.51553, 342.56088, 339.7926, 337.85483, 336.49838, 335.54886, 334.88422, 334.41895, 334.09326, 333.8653, 333.70572, 333.594, 333.5158, 333.46106, 333.42276, 333.39594, 333.37717, 333.36404, 333.35486, 333.34842]

不抽煙人數在30天內的變化為:[0, 200.0, 340.0, 438.0, 506.59998, 554.62, 588.234, 611.7638, 628.2346, 639.7642, 647.83496, 653.48444, 657.4391, 660.2074, 662.14514, 663.5016, 664.4511, 665.1157, 665.581, 665.9067, 666.13464, 666.29425, 666.40594, 666.48413, 666.5389, 666.57715, 666.604, 666.6228, 666.6359, 666.6451, 666.6515]

重新繪制圖像如下:

 

 

 通過兩次實驗我們可以看出:

1.隨着時間的推進,抽煙和不抽煙的人數總會保持在某個值(即馬爾可夫鏈達到了平穩分布)

2.改變初始條件,而不改變轉移概率矩陣,並不改變最終的值

並不是所有的馬爾可夫鏈都具有平穩分布,定理:不可約且非周期的有限狀態馬爾可夫鏈,有唯一平穩分布存在。

1.不可約性:一個不可約的馬爾可夫鏈,從任意狀態出發,當經過充分長時間后,可以到達任意狀態。

2.非周期性:所有狀態的出現不是單一過程的反復循環

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM