Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

hmmgenerate

Estados y emisiones del modelo de Markov ocultos

Sintaxis

[seq,states] = hmmgenerate(len,TRANS,EMIS)
hmmgenerate(...,'Symbols',SYMBOLS)
hmmgenerate(...,'Statenames',STATENAMES)

Descripción

[seq,states] = hmmgenerate(len,TRANS,EMIS) toma un conocido modelo de Markov, especificado por la matriz de probabilidad de transición y la matriz de probabilidad de emisión, y lo utiliza para generarTRANSEMIS

  • Una secuencia aleatoria de símbolos de emisiónseq

  • Una secuencia aleatoria de EstadosEstados

La longitud de ambos y es. es la probabilidad de transición de un estado a un estado. es la probabilidad de que el símbolo se emita desde el estado.seqEstadoslenTRANS(i,j)ijEMIS(k,l)lk

Nota

La función comienza con el modelo en el estado 1 en el paso 0, antes de la primera emisión.hmmgenerate A continuación, el modelo realiza una transición al estado i1, con probabilidad T1i1, y genera una emisión Unk1 con probabilidad Ei1k11. Devuelve ihmmgenerate1 como la primera entrada de, yEstados Unk1 como la primera entrada de.seq

hmmgenerate(...,'Symbols',SYMBOLS) especifica los símbolos que se emiten. se pueden especificar como una matriz numérica, una matriz de cadenas o una matriz de vectores de caracteres.SYMBOLS Los símbolos predeterminados son enteros a través de, donde es el número de posibles emisiones.1NN

hmmgenerate(...,'Statenames',STATENAMES) especifica los nombres de los Estados. se pueden especificar como una matriz numérica, una matriz de cadenas o una matriz de vectores de caracteres.STATENAMES Los nombres de estado predeterminados son a través, donde es el número de Estados.1MM

Puesto que el modelo siempre comienza en el estado 1, cuyas probabilidades de transición están en la primera fila de, en el ejemplo siguiente, la primera entrada de la salida es 1 con la probabilidad 0,95 y 2 con la probabilidad 0,05.TRANSEstados

Ejemplos

 trans = [0.95,0.05;           0.10,0.90];  emis = [1/6 1/6 1/6 1/6 1/6 1/6;     1/10 1/10 1/10 1/10 1/10 1/2];  [seq,states] = hmmgenerate(100,trans,emis) [seq,states] = hmmgenerate(100,trans,emis,...     'Symbols',{'one','two','three','four','five','six'},...     'Statenames',{'fair';'loaded'})

Consulte también

| | |

Introducido antes de R2006a