# Author:Wyy
# -*- coding = utf-8 -*-
# @Time :2022/11/14
# @Author:WYY
# @Site :
# @File :马尔科夫链模型状态转移矩阵.py
# @Software: PyCharm
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)# 假设我们当前股市的概率分布为:[0.3,0.4,0.3]
for i in range(100):# vector1作为序列概率分布的初始状态t0,将其带入这个状态转移矩阵计算t1,t2,t3...的状态
vector1 = vector1*matrix
print("Current round:", i+1)
print(vector1)
# 更换一个初始概率分布
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)# 假设当前股市的概率分布为[0.7,0.1,0.2]
for i in range(100):# 带入矩阵计算t1、2、3的状态
vector1 = vector1*matrix
print("Current round:" , i+1)
print(vector1)
# 尝试证明对于一个确定的状态转移矩阵P,它的n次幂Pn在当n大于一定的值的时候也可以发现是确定的
matrix = np.matrix([
马尔科夫矩阵
最新推荐文章于 2023-06-16 10:06:01 发布