马尔可夫链的平稳分布

 假设说,抽烟和不抽烟的人群之间有一定的概率互相转化,且相互转化的概率如下图所示

 即:

  抽烟的人第二天仍然抽烟的概率是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.非周期性:所有状态的出现不是单一过程的反复循环

原文地址:https://www.cnblogs.com/alan-W/p/13945969.html