当前位置:   article > 正文

python马尔可夫链_马尔可夫链的演示Python

求稳态概率(马尔科夫链)python csdn

# -*- coding: utf-8 -*-

import numpy as np

from random import random

#转移矩阵

trans_matrix = np.array(

[[0.5 , 0.1 , 0.25 , 0.05],

[0.15 , 0.5 , 0.2 , 0.05],

[0.1 , 0.2 , 0.5 , 0.4],

[0.25 , 0.2 , 0.05 , 0.5 ]])

#数据

dt = np.array([[0] , [1] , [0] , [0]])

#进行转换

res = np.dot(trans_matrix,dt)

res = np.dot(trans_matrix , res) #50次

'''

#执行50次后,基本稳定

array([[ 0.22720144],

[ 0.21947408],

[ 0.31993815],

[ 0.23338634]])

'''

#真实模拟

#状态计数器, 四个数分别代表停留在此状态的次数

cnt_list = [0 , 0 , 0 , 0] # 0 1 2 3

#初始状态 0 1 2 3 随意

origin = 2

#当前状态设为初始状态

now = origin

cnt = 0

while True :

#进行1000000次状态转移

cnt += 1

if cnt > 10000

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/819097
推荐阅读
相关标签
  

闽ICP备14008679号