马尔科夫链

1. 马尔科夫链概述
    马尔科夫链定义本身比较简单,它假设某一时刻状态转移的概率只依赖于它的前一个状态。举个形象的比喻,假如每天的天气是一个状态的话,那个今天是不是晴天只依赖于昨天的天气,而和前天的天气没有任何关系。当然这么说可能有些武断,但是这样做可以大大简化模型的复杂度,因此马尔科夫链在很多时间序列模型中得到广泛的应用,比如循环神经网络RNN,隐式马尔科夫模型HMM等,当然MCMC也需要它。
马尔科夫链_第1张图片

2. 马尔科夫链模型状态转移矩阵的性质 

import numpy as np
matrix = np.matrix([[0.9,0.075,0.025],[0.15,0.8,0.05],[0.25,0.25,0.5]], dtype=float)
vector1 = np.matrix([[0.3,0.4,0.3]], dtype=float)
for i in range(100):
    vector1 = vector1*matrix
    print ("Current round:" , i+1)
    print(vector1)

马尔科夫链_第2张图片

马尔科夫链_第3张图片 

import numpy as np
matrix = np.matrix([[0.9,0.075,0.025],[0.15,0.8,0.05],[0.25,0.25,0.5]], dtype=float)
vector1 = np.matrix([[0.7,0.1,0.2]], dtype=float)
for i in range(100):
    vector1 = vector1*matrix
    print ("Current round:" , i+1)
    print(vector1)

马尔科夫链_第4张图片 

马尔科夫链_第5张图片 

 import numpy as np
matrix = np.matrix([[0.9,0.075,0.025],[0.15,0.8,0.05],[0.25,0.25,0.5]], dtype=float)
for i in range(10):
    matrix = matrix*matrix
    print ("Current round:" , i+1)
    print(matrix)

马尔科夫链_第6张图片

马尔科夫链_第7张图片 

 

 

你可能感兴趣的:(numpy,python,开发语言)