您的位置:首页技术文章
文章详情页

python - 求马尔可夫链状态转移概率矩阵

【字号: 日期:2022-07-08 09:54:13浏览:74作者:猪猪

问题描述

一个时间序列如下:

0.190.190.130.01-0.03-0.030.030.09-0.13-0.130.05-0.030.030.09-0.070.110.050.01-0.05-0.010.070.01-0.15-0.01······

这个时间序列一共有4032个值,这些值的取值空间有115个取法a=[-0.49,-0.47,-0.45······1.75,1.77,1.79],现在想求出来这个115*115的状态转移概率矩阵,写了一个matlab程序但是计算出来有问题,想问问大神们如果用Python做应该怎么做,作为刚刚入门的小白,只知道用if语句来实现,但是这样的话,就要写115个if语句了,怎么做比较简洁呢,谢谢大家

问题解答

回答1:

不太清楚马尔可夫链如何计算,猜测是状态转移,看看下面的有没有用。

a = [1,2,3,0,0,0,3,3,2,3,3,2,3,2,1,2,3]l = 4N = [[0] * l for i in range(l)]amount = 0for i in data: print i amount += 1 N[i[0]][i[1]] += 1print amountfor i in range(l): for j in range(l):N[i][j] /= float(amount)print N

标签: Python 编程
相关文章: