一個(gè)時(shí)間序列如下:
0.19
0.19
0.13
0.01
-0.03
-0.03
0.03
0.09
-0.13
-0.13
0.05
-0.03
0.03
0.09
-0.07
0.11
0.05
0.01
-0.05
-0.01
0.07
0.01
-0.15
-0.01
······
這個(gè)時(shí)間序列一共有4032個(gè)值,這些值的取值空間有115個(gè)取法a=[-0.49,-0.47,-0.45······1.75,1.77,1.79],現(xiàn)在想求出來(lái)這個(gè)115*115的狀態(tài)轉(zhuǎn)移機(jī)率矩陣,寫了一個(gè)matlab程式但是計(jì)算出來(lái)有問(wèn)題,想問(wèn)大神們?nèi)绻肞ython做應(yīng)該怎麼做,作為剛剛?cè)腴T的小白,只知道用if語(yǔ)句來(lái)實(shí)現(xiàn),但是這樣的話,就要寫115個(gè)if語(yǔ)句了,怎麼做比較簡(jiǎn)潔呢,謝謝大家
不太清楚馬可夫鏈如何計(jì)算,猜測(cè)是狀態(tài)轉(zhuǎn)移,看看下面的有沒(méi)有用。
a = [1,2,3,0,0,0,3,3,2,3,3,2,3,2,1,2,3]
l = 4
N = [[0] * l for i in range(l)]
amount = 0
for i in data:
print i
amount += 1
N[i[0]][i[1]] += 1
print amount
for i in range(l):
for j in range(l):
N[i][j] /= float(amount)
print N