7 votos

Métodos de Modelos Ocultos de Markov para seleccionar el número óptimo de estados.

Paquete RHmm (R)

Tengo un vector que ajusto en un modelo hmm en un intento de seleccionar un número óptimo de estados para un modelo de markov oculto.

x <- c(-0.0961421466, -0.0375458485, 0.0681121271, 0.0259201028, 0.0016780785, 0.0311860542,
0.0067940299, 0.0126520055, 0.0357599812, 0.0007679569, 0.0409759326, 0.0560839083, -0.0272581160, -0.0439501404, 0.0321578353, 0.0196158110, -0.0097262133, -0.0226182376, 0.0119897380, -0.0099522863, -0.0359443106, -0.0039363349, -0.0476283592, -0.0383203835, -0.0518624079, 0.0187455678, 0.0950535435, 0.0057115192, -0.0307805051, -0.0272725295, -0.0254645538, -0.0102565781, -0.0267986024, -0.0482906267, -0.0256826510, -0.0414746754, -0.0470666997, 0.0284912760...

Cada vez que ejecuto el modelo intentando obtener el mejor número de estados para el modelo de markov oculto, obtengo un número diferente de estados, ya que creo que el modelo se entrena sobre valores nuevos seleccionados al azar y también el mínimo local. Esto no sucede si simplemente ajusto el modelo.

# puntajes proporcionales a la probabilidad de que una secuencia sea generada por un modelo dado
nhs <- c(2, 3, 4)
for (i in 1:length(nhs)) {
    fit <- HMMFit(x, dis = "NORMAL", nStates = nhs[i], asymptCov = FALSE)
    VitPath = viterbi(fit, x)
    error[i] <- fit[[3]]
}
error <- c(error)
error[is.na(error)] <- 10000
nhs[which.min(error)]    # Número óptimo de estados ocultos (método min AIC)

Sin embargo, los resultados de los dos son muy diferentes. ¿Cuál es mejor? Por un lado, tengo un modelo en el que puedo probar nuevas muestras. Por otro lado, el segundo proporciona el mejor ajuste en muestras vistas. En el caso del modelo, si repito la prueba dado que el conjunto de entrenamiento/prueba cambia (aleatoriamente), el número resultante de estados cambia a medida que cambia la muestra de entrenamiento/prueba. En este caso, ¿qué método debo usar para estar seguro de que el modelo proporciona generalización (el número de estados resulta ser el mejor)?

¿Qué métodos adicionales puedo emplear para poder seleccionar un número óptimo de estados?

Muchas gracias

0 votos

¿Hay algo más que podríamos hacer por ti? De lo contrario, sería genial si pudieras aceptar la respuesta dada - ¡Gracias :-)

0 votos

¿Hay alguna razón por la que aún no has aceptado ninguna respuesta en ninguna de tus preguntas en Quant.SE?

9voto

penti Puntos 93

Para determinar el número óptimo de estados en un HMM es realmente un tema intrincado.

Por favor, eche un vistazo al siguiente papel:

The Number of Regimes Across Asset Returns: Identification and Economic Value by M. Gatumel and F. Ielpo (2011)

Desde el resumen:

Una creencia compartida en la industria financiera es que los mercados están impulsados por dos tipos de regímenes. Los mercados alcistas se caracterizarían por altos rendimientos y baja volatilidad, mientras que los mercados bajistas mostrarían bajos rendimientos junto con alta volatilidad. Modelando la dinámica de diferentes clases de activos (acciones, bonos, materias primas y monedas) con un modelo de cambio de Markov y usando una prueba basada en densidad, nosotros rechazamos la hipótesis de que dos regímenes son suficientes para capturar la evolución de los rendimientos de los activos para muchos de los activos investigados. Una vez que la precisión de nuestra metodología de prueba ha sido evaluada a través de experimentos de Monte Carlo, nuestros resultados empíricos señalan que entre dos y cinco regímenes son necesarios para capturar las características de la distribución de cada activo. Además, mostramos que solo una parte del subyacente número de regímenes está explicada por las características distribucionales de los rendimientos como la curtosis. Un exhaustivo análisis fuera de muestra proporciona evidencia adicional de que hay más que toros y osos en los mercados financieros. Finalmente, destacamos que tener en cuenta el número real de regímenes permite tanto mejorar los rendimientos de la cartera como las previsiones de densidad.

Por otro lado, tienes que pensar en qué hacer con estos estados después de identificarlos. Normalmente quieres implementar una estrategia comercial encima de ellos. Entonces, si tienes cinco estados... ¿y ahora qué? Mi lema es mantenerlo simple, por lo que en la mayoría de los casos aún usaría solo dos estados, ya que esto se traduce muy intuitivamente en estar largo y estar plano.

Si eliges tres estados, a menudo encontrarás que un estado es un estado de crash muy corto que captura todas las colas extremas (izquierdas). Realmente no puedes usar eso porque tan pronto como identifiques este estado de crash en tiempo real, ya será demasiado tarde. Normalmente puedes esquivar mejor estas colas con un modelo de dos estados.

¡Pero me encantaría escuchar otras experiencias también!

1voto

Matthew Wilkes Puntos 23

Además de utilizar el valioso conocimiento de dominio proporcionado en otras respuestas para determinar el número óptimo de estados, y además como alternativa al uso del AIC o BIC, podemos considerar la estimación bayesiana de los parámetros incluyendo el número óptimo de estados:

Scott, S.L. (2002). Métodos bayesianos para modelos ocultos de Markov: Cálculo recursivo en el siglo XXI. J. Amer. Statist. Assoc. 97, 337–351.

Congdon, P. (2006). Elección de modelo bayesiano basada en estimaciones de Monte Carlo de las probabilidades posteriores del modelo. Computat. Estadist. y Análisis de Datos 50, 346–357.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X