В a lecture on YouTube, профессор сказала цепь Маркова может быть упрощена Start(S) * Transition Matrix(Q)^State#
Понимание цепи Маркова в терминах умножения матриц
Я пытаюсь повторить это с помощью NumPy.
import numpy as np
S = np.zeros(shape=(1,2))
Q = np.zeros(shape=(2,2))
#starting state
S[0] = [.2,.8]
#transition matrix
Q[0] = [.9, .1]
Q[1] = [.7, .3]
Если я print S.dot(Q).dot(Q)
, это дает мне [[0.848 0.152]]
, который, как представляется, правильный ответ (в двух шагах в будущее).
Однако, это точно не так, как SQ^x
, поэтому я пробовал print S.dot(np.power(Q,2))
, но это дает мне [[0.554 0.074]]
. Где я иду не так, или что я не понимаю здесь?