how to programme in Matlab to obtain transition probability matrix?
    3 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
I have a sequence x= [12,14,6,15,15,15,15,6,8,8,18,18,14,14] so I want to make transition probability matrix. Transition probability matrix calculated by equation i.e. probability=(number of pairs x(t) followed by x(t+1))/(number of pairs x(t) followed by any state). Matrix should be like below
                      6     8     12     14     15      18
                6     0     1/2   0       0      1/2     0
                8     0     1/2   0       0       0     1/2
                12    0      0    0       1       0      0
                14   1/2     0    0      1/2      0      0
                15   1/4     0    0       0      3/4     0
                18    0      0    0       0      1/2    1/2
by following code I can do
m = max(x);
n = numel(x);
y = zeros(m,1);
p = zeros(m,m);
for k=1:n-1
    y(x(k)) = y(x(k)) + 1;
    p(x(k),x(k+1)) = p(x(k),x(k+1)) + 1;
end
p = bsxfun(@rdivide,p,y); p(isnan(p)) = 0;
but with this code matrix forms of order maximum state present in sequence i.e. matrix becomes of 18*18, and much more places zero occurs. I want matrix like above posted by me how to do it.
0 comentarios
Respuestas (0)
Ver también
Categorías
				Más información sobre Markov Chain Models en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
