以股市模型为例
首先由马尔科夫链模型得出他的状态转移矩阵:
0.9 0.075 0.025
p =( 0.15 0.8 0.05 )
0.25 0.25 0.5
矩阵三行分别表示牛市,熊市和横盘到这三个状态转换的概率
性质:
代码演示如下
[0.3,0.4,0.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.3,0.4,0.3]], dtype=float)
for i in range(100):
vector1 = vector1*matrix
print("Current round:" , i+1)
print(vector1)
输出结果:
可以看到循环到一定次数后,最后的概率分布稳定在[[0.625 0.3125 0.0625]]
当试着改变初始的概率分布后:
改为[0.7,0.1,0.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.7,0.1,0.2]], dtype=float) #改变初始的概率分布
for i in range(100):
vector1 = vector1*matrix
print("Current round:" , i+1)
print(vector1)
结果:
j结果也未发生改变
即马尔科夫链模型的状态转移矩阵收敛到的稳定概率分布与初始状态概率分布无关!