我试图找到马尔可夫链的平衡分布,这意味着找到代表它的转移矩阵的特征值,但是,eig函数自动标准化它返回的特征向量,在MatLab中有一个标志你可以传递给函数停止这种行为
eig(X, '无平衡')
其中 X 是矩阵。请参阅 http://www.mathworks.com/help/techdoc/ref/eig。 html。但是,当我在八度音程中尝试此操作时,我收到一个错误:
错误:eig:错误类型参数“sq_string”
是否还有其他我应该调用的函数?
干杯
I'm trying to find the equilibrium distribution of a markov chain, which means finding the eigenvalues of the transition matrix representing it, however, the eig function automatically normalises the eigenvectors it returns, in MatLab there is a flag you can pass to the function to stop this behaviour
eig(X, 'nobalance')
Where X is a matrix. See http://www.mathworks.com/help/techdoc/ref/eig.html. However, when I try this in octave I just get an error:
error: eig: wrong type argument `sq_string'
Is there some other function I should be calling?
Cheers
发布评论
评论(1)
如果您的目标是计算马尔可夫链的均衡分布,请查看 PMTK3 工具箱 中的 rel="nofollow">mcStatDist 函数实现。它显示了计算结果的四种不同方法。示例:
如链接代码的注释中所述,此方法在某些情况下可能在数值上不稳定,因此您可能需要考虑其他选项之一......
If your goal is to compute the equilibrium distribution of a Markov chain, take a look at the mcStatDist function implementation from the PMTK3 toolbox. It shows four different ways to compute the result. Example:
As noted in the comments of the linked code, this method can be numerically unstable for some cases, so you might want to consider one of the other options...