У меня есть вопрос о построении матрицы скорости перехода в Python, у меня есть график перехода, который описан в словаре:
graph={((), ('a',)): [ 0.0],
(('a',), ('b',)): [78.71428571428571],
(('a',), ('c',)): [18.142857142857142],
(('a',), ('d',)): [132.66666666666666],
(('a',), ('e',)): [64.0],
(('b',), ('a',)): [215.1139240506329],
(('b',), ('c',)): [13.26923076923077],
(('b',), ('d',)): [10.333333333333334],
(('c',), ('a',)): [60.333333333333336],
(('c',), ('b',)): [181.31034482758622],
(('c',), ('d',)): [507.0],
(('d',), ('a',)): [56.0],
(('d',), ('b',)): [968.0],
(('e',), ('a',)): [860.0]}
Как видно из словарного графика, ключ иллюстрирует переходы, а значение - это скорость, по которой цепь Маркова с непрерывным временем перемещается между состояниями. Например, от «а» переходит к «б», скорость 78,71428571428571, и так далее. Простой пример матрицы переходных показателей для понимания:
graph = {(('a',), ('b',)): 78.71428571428571,
(('a'), ('c',)): 18.142857142857142,
(('c',), ('b',)): 181.31034482758622}
#the corresponding matrix for this sample graph:
q_matrix = np.asmatrix([[-96.85714285714285, 78.71428571428571, 18.142857142857142],
[0, 0, 0],
[0, 181.31034482758622, -181.31034482758622]])
Я пытался построить матрицу для этого вопроса:
M = [[0]*5 for _ in range(5)]
, но индекс в M не соответствует переходам на графике какая-нибудь помощь? Спасибо