2016-01-07 1 views
0

Je fais référence à cette question: Estimate Markov Chain Transition Matrix in MATLAB With Different State Sequence Lengthschaîne de Markov Matrice de transition: la fonction Matlab clairsemée - index dépasse les dimensions de la matrice

La procédure décrite était parfait pour moi, mais je ne suis pas en mesure d'adapter la dernière commande Matlab pour créer la matrice de transition S = sparse(i,j,v,m,n)

transitionMatrix = sparse(uniqueTransitions(:,1), uniqueTransitions(:,2), p, 6,6) 

Voici mes données avec 18 transitions uniques et les probabilités correspondantes:

uniqueTransitions  p 
5405 5414   0,046511628 
5414 5420   0,046511628 
5420 5420   0,139534884 
5420 9999   0,046511628 
5414 5430   0,046511628 
5430 5414   0,023255814 
5430 5191   0,023255814 
5191 5462   0,023255814 
5462 5414   0,023255814 
5414 5414   0,139534884 
5414 9999   0,023255814 
5405 5419   0,023255814 
5419 5419   0,162790698 
5419 5412   0,069767442 
5412 5419   0,046511628 
5412 5414   0,023255814 
5405 5405   0,046511628 
5405 9999   0,046511628 

Comment calculer les paramètres 'm' et 'n'? J'ai déjà lu la documentation Matlab en ligne et essayé beaucoup de paramètres mais je ne trouve pas de solution.

+2

Vous devriez savoir m et n! Quelle est la taille de la matrice que vous tentez de construire? –

Répondre

1

Vous créez une matrice clairsemée de taille 6 sur 6, mais vos données sont évidemment plus grandes. En supposant que chaque état est accessible, vous pouvez ignorer simplement l'argument de taille:

transitionMatrix = sparse(uniqueTransitions(:,1), uniqueTransitions(:,2), p) 

Il est important que si vous voulez créer une matrice avec la dernière ligne ou dernière colonne contenant des zéros seulement.