18

He estado trabajando en redes neuronales con diversos fines últimamente. He tenido un gran éxito en reconocimiento de dígitos, XOR y varias otras aplicaciones easy/hello world'ish.Predicción de series de tiempo a través de redes neuronales

Me gustaría abordar el dominio de la estimación de series de tiempo. No tengo una cuenta de la Universidad en este momento para leer todos los trabajos de IEEE/ACM sobre el tema (de forma gratuita), ni puedo encontrar muchos recursos que detallen el uso de ANN para el forcast de series de tiempo.

Me gustaría saber si alguien tiene alguna sugerencia o puede recomendar algún recurso relacionado con el uso de ANN para forcasting a través de datos de series de tiempo?

Supongo que para entrenar a la NN, inserta unos pocos pasos de tiempo inmediatamente y la salida esperada sería el siguiente paso de tiempo (ejemplo: entradas de n-5, n-4, n-3, n-2 , n-1 debería salir con una salida de resultado en el paso de tiempo N. ... y deslizarse hacia abajo una cierta cantidad de pasos de tiempo y volver a hacerlo.

¿Alguien puede confirmar esto o comentar sobre él? ¡Lo agradecería!

Respuesta

21

creo que tienes la idea básica: un enfoque de "ventana deslizante", donde se entrena una red para utilizar los últimos k los valores de una serie (T nk ... T n-1) para predecir el valor actual (T n).

Sin embargo, hay muchas maneras de hacerlo. Por ejemplo:

  • ¿Qué tan grande debería ser esa ventana?
  • ¿Deben preprocesarse los datos de alguna forma (por ejemplo, para eliminar valores atípicos)?
  • ¿Qué configuración de red (por ejemplo, # de nodos ocultos, # de capas) y algoritmo deberían usarse?

A menudo la gente termina averiguando la mejor manera de aprender de sus datos particulares por prueba y error.

Hay un buen número de documentos de acceso público sobre estas cosas. Comience con estos, y mirar a sus citas y documentos que les citan a través de Google Scholar, y usted debe tener un montón de leer:

+0

Sí, una "ventana deslizante" es un término mejor para lo que estaba pensando. Su respuesta y referencias son excelentes. Lo aprecio – digitalfoo

1

Técnicamente esto es el mismo que el reconocimiento de dígitos - Es reconocer algo y regresando lo que era .. .

Bien - ahora tus entradas son los pasos anteriores (T -5 ... T -1) - y los resultados o salidas son los pasos previstos (T , T . ..).

La mecánica en la propia ANN es la misma: tendrás que enseñar cada capa para la detección de características, corrigiendo su reconstrucción del objeto, para que se vea como lo que realmente va a suceder.

(algo más de información acerca de lo que quiero decir: tech talk)

2

Hay un tipo de redes neuronales denominadas recurrent neural networks (RNNs. Una ventaja del uso de estos modelos es que no tiene que definir una ventana deslizante para los ejemplos de entrada. Una variante de RNN conocida como Long-Short Term Memory (LSTM) puede tener en cuenta muchas instancias en las marcas de tiempo anteriores y se usa una "puerta de olvido" para permitir o no permitir recordar los resultados anteriores de las marcas de tiempo anteriores.

Cuestiones relacionadas