• 马尔可夫链的平稳分布


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

     即:

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

  • 相关阅读:
    jQuery Easing 动画效果扩展
    【百度地图】标注点的动画效果
    CSS3制作404立体字体
    最长上升子序列的回溯 ZOJ 2432
    HDU 1423 最长上升公共子序列(LCIS)
    HDU 1114 完全背包问题的转化
    HDU 1085 多重背包转化为0-1背包问题
    opengl 对投影变化函数的理解
    HDU 1081 DP找最大和的矩阵
    HDU 1274 递归拼接字符串
  • 原文地址:https://www.cnblogs.com/alan-W/p/13945969.html
Copyright © 2020-2023  润新知