
Вместе с C P — это матрица выбросов и матрица перехода состояний в HMM. Цель состоит в том, чтобы вычислить N.
Давайте возьмем пример 4 из этой статьи.
[img]https:// i.stack.imgur.com/gi7KH.png[/img]
Результат в статье представлен следующим образом:

Вот код, который я использовал:
Код: Выделить всё
import numpy as np
from scipy.linalg import null_space
n = 4
P = np.array([[1/2, 0, 1/3, 1/4], [0, 1/3, 1/3, 1/4], [1/2, 0, 1/3, 0], [0, 2/3, 0, 1/2]])
C = np.array([[1/4, 1/4, 1/2, 7/16], [3/4, 3/4, 1/2, 9/16]])
N = C
for i in range(1, n):
N = np.vstack((N, np.dot(C, np.linalg.matrix_power(P, i))))
ns = null_space(N)
print(ns)
Код: Выделить всё
[[ 0.71204526 0.05287224]
[-0.69918134 0.14473901]
[ 0.03859176 0.59283375]
[-0.05145569 -0.790445 ]]
Подробнее здесь: https://stackoverflow.com/questions/783 ... -in-python