hmmtrain.m with unknown state sequence (Baum-Welch)
이전 댓글 표시
I have a vector of observations Y. I do not know the state sequence of the latents. I wish to find the the transistion and emission matrices hence I want Baum-Welch.
My Min Working example is here:
T = 1000; % Number of timesteps
Y= 1000+cumsum(randn(T,1));
K = 200; %number of states
beta = 0.5;
TRGUESS = get_stateTransitionMatrix(K, beta); %flat start model
N = 2;
EMITGUESS = (1/N) .* ones(K,N);
[TRANS,EMIS] = hmmtrain(Y,TRGUESS,EMITGUESS);
function TRGUESS = get_stateTransitionMatrix(K, beta)
TRGUESS = beta.*eye(K,K);
for i=1:K
for j=1:K
if (TRGUESS(i,j)==0)
TRGUESS(i,j) = (1-beta)/(K-1);
end
end
end
end
On running this I get:
Error using hmmdecode (line 100)
SEQ must consist of integers between 1 and 1.
Error in hmmtrain (line 213)
[~,logPseq,fs,bs,scale] = hmmdecode(seq,guessTR,guessE);
I fear I have misunderstood the hmmtrain documentation. Can anyone help?
thanks!
(using 2012A and all the toolboxes)
채택된 답변
추가 답변 (2개)
amani
2015년 6월 18일
0 개 추천
Any thoughts about the default prior vector (pi) used in hmmtrain.m ??
카테고리
도움말 센터 및 File Exchange에서 Mathematics and Optimization에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!