来自马尔可夫链转移矩阵的负特征向量
Negative eigenvectors from transition matrix of a Markov chain
我有以下片段来计算转移矩阵的稳态:
import numpy as np
import scipy.linalg as la
if __name__ == "__main__":
P = np.array([[0.5, 0.2 , 0.3, 0],
[0.5, 0 , 0.1 , 0.4],
[0.6, 0.1, 0, 0.3],
[0.5, 0.2, 0.3, 0]])
# Sanity check:
assert np.sum(P, axis=1).all() == 1.0
print la.eig(P,left=True)[1]
并打印:
[[ -8.78275813e-01 -7.07106781e-01 -5.00000000e-01 1.47441956e-01]
[ -2.51874610e-01 -1.58270385e-16 -5.00000000e-01 -2.94883912e-01]
[ -3.50434239e-01 -2.60486675e-16 5.00000000e-01 -5.89767825e-01]
[ -2.05880116e-01 7.07106781e-01 5.00000000e-01 7.37209781e-01]]
如果我没理解错的话第一列确实是稳态。处于某种状态的概率为负对我来说没有意义。我错过了什么?
特征向量的任何非零标量倍数都是特征向量。因此,这也包括 v = -n * w、n > 0 和 w 形式的向量正特征向量。
我有以下片段来计算转移矩阵的稳态:
import numpy as np
import scipy.linalg as la
if __name__ == "__main__":
P = np.array([[0.5, 0.2 , 0.3, 0],
[0.5, 0 , 0.1 , 0.4],
[0.6, 0.1, 0, 0.3],
[0.5, 0.2, 0.3, 0]])
# Sanity check:
assert np.sum(P, axis=1).all() == 1.0
print la.eig(P,left=True)[1]
并打印:
[[ -8.78275813e-01 -7.07106781e-01 -5.00000000e-01 1.47441956e-01]
[ -2.51874610e-01 -1.58270385e-16 -5.00000000e-01 -2.94883912e-01]
[ -3.50434239e-01 -2.60486675e-16 5.00000000e-01 -5.89767825e-01]
[ -2.05880116e-01 7.07106781e-01 5.00000000e-01 7.37209781e-01]]
如果我没理解错的话第一列确实是稳态。处于某种状态的概率为负对我来说没有意义。我错过了什么?
特征向量的任何非零标量倍数都是特征向量。因此,这也包括 v = -n * w、n > 0 和 w 形式的向量正特征向量。