6 votos

Análisis de series de tiempo con redes neuronales

Soy nuevo en redes neuronales y aprendizaje automático y me preguntaba cómo usar los datos de series de tiempo para establecer los pesos de un FNN regular y cómo usar los pesos finales para pronosticar las series temporales. En esencia, ¿cómo se puede transformar los datos de la serie temporal en pesos y viceversa para la salida?

7voto

Tiberia Puntos 121

Un feed-forward de la red neuronal (normalmente multi-layer) es un tipo de la supervisión del alumno que va a ajustar la red pesos en su entrada y nodos internos, de manera iterativa, con el fin de minimizar los errores entre la predicción y el objetivo real de las variables. Se utiliza comúnmente estocástico de gradiente de la pendiente (a veces llamado error de propagación) sobre el número de iteraciones para encontrar un mínimo local de la respuesta de error y optimizar la red pesos en consecuencia.

La idea básica detrás de la estocástico de gradiente de la pendiente es empezar por la variación aleatoria de los pesos, a continuación, ajustar mediante la iteración a través de varios pases y la actualización de los pesos en una dirección en que se mueve el error total entre el objeto y predijo errores hacia el local de error mínimo de la pendiente de la superficie. En la práctica, una solución de compromiso que se encuentra entre la optimización de un conjunto de entrenamiento contra un conjunto de validación, con el fin de reducir el problema de sobre-ajuste.

Por último, la entrada (de series de tiempo o de otra manera) a menudo necesita ser transformado con el fin de crear una serie estacionaria que es también limitada (amplitud sabio) entre el rango de entrada de los NN de la capa de función de transferencia(s)(normalmente, de 0 a 1 o -1 a 1).

Una vez que los pesos se han capacitado, el modelo puede ser almacenada y utilizada para procesar nuevos datos de series de tiempo, como un típico regresión lineal basado en el modelo.

Un ejemplo de la ilustración de la utilización de un NN para predecir finanacial datos de series de tiempo, utilizando Weka, está publicado aquí: http://intelligenttradingtech.blogspot.com/2010/01/systems.html

Un buen texto comparando financiera AR los modelos basados en contra NN modelos es, "Aplicada Métodos Cuantitativos para el Comercio y la Inversión" Cristiano Dunis et.al.

3voto

user17541 Puntos 119

Permítanme empezar por responder a tu pregunta, a continuación, voy a añadir algunos comentarios y sugerencias.

En primer lugar, creo que cuando dices "peso" real significa "entrada" o "salida". Esto es debido a que a usted se le preguntó cómo transformar la serie de tiempo de los pesos y de cómo transformar la salida de pesos en una predicción. Red neuronal de la terminología de los usos de "peso" para significar otra cosa (pat respuesta utiliza el término "peso" correctamente).

Esto es lo que la gente suele sugerir: Si la serie de tiempo parece

X_1, X_2, ..., X_n, ...

a continuación, haga lo siguiente:

Paso 1: Decidir cuántas observaciones que desea utilizar para hacer una predicción.

Paso 2: Decidir cómo muchos pasos adelante desea predecir.

Estas dos opciones son fijos para la NN.

Para este ejemplo, digamos que usted quiere hacer uso de los últimos 5 lecturas para hacer 2 predicciones.

Entonces usted va a

Paso 3. Crear una red neuronal con 5 nodos de entrada y 2 de salida de los nodos.

Paso 4. Crea tu conjunto de entrenamiento con cada elemento consta de 5 de las lecturas secuenciales como entrada y en los próximos dos lecturas como de salida.

Aquí están los primeros DOS elementos del conjunto de entrenamiento:

Input = X_1, X_2, X_3, X_4, X_5
Output = X_6, X_7

Input = X_2, X_3, X_4, X_5, X_6
Output = X_7, X_8

etc.

Espero que eso responda tu pregunta.

Ahora un poco de gyan.

Si sus datos son ruidosos acciones, por ejemplo las garrapatas, entonces mi sensación es que esto va a ser difícil de entrenar. Sé que he tenido la mala suerte tratando de entrenar las redes neuronales de datos ruidosos.

Así que aquí está otra estrategia:

Primer modelo de su serie de tiempo de uso de la ARIMA marco. Esto vistas de una serie de tiempo como

Polynomial base +
Cyclic component +
Bounded randomness

(Echa un vistazo a los Weka ejemplo en la de pat respuesta desde este punto de vista.)

Ahora mi sentimiento (y todavía estoy experimentando) es que la componente aleatoria(s) están interfiriendo con la formación de las NN. Así que quiero evitar tratando de predecir con ellos directamente.

La foto de su serie de datos. En cada lectura que se alimentan en su ARIMA caja negra, que calcula el modelo subyacente y, a continuación, escupe el modelo ARIMA parámetros. Así que en el tiempo 0, se tiene un conjunto de parámetros y, a continuación, en el momento 1 de actualizar el conjunto de parámetros, etc.

Nota: El ARIMA caja negra es lento.

Pregunta 1: ¿Sería posible que una red neuronal para aprender cómo estos parámetros cambian? Mi sensación es que va a cambiar lentamente, por lo que este puede ser factible.

Pregunta 2: ¿se Puede entrenar una red neuronal diferente a discernir patrones en la ARIMA error? I. e. Si ARIMA predice 5.4 y el real de la siguiente lectura es de 5,5, podría entrenar una red neuronal para averiguar que 0.1?

1voto

Meri Puntos 56

Hay varias maneras en que usted puede "entrenar" a una red neuronal. Personalmente, prefiero el algoritmo genético enfoque - que cada individuo representa un conjunto de pesas, con la función de aptitud, siendo el rendimiento de la red neuronal.

El rendimiento de la red neuronal en términos de análisis de series de tiempo podría ser el error cuadrático medio de las predicciones en contra de los objetivos. Un método común en la predicción de series de tiempo con redes neuronales es utilizar el % de cambio de intervalos específicos durante un 'look back' período.

Usted puede encontrar esto útil - http://ijcai.org/Past%20Proceedings/IJCAI-89-VOL1/PDF/122.pdf

1voto

Chris Puntos 1122

Si tiene acceso a una instalación de MATLAB, primero pruebe la caja de herramientas de la red neuronal: http://www.mathworks.com/help/toolbox/nnet/gs/f9-56659.html (eche un vistazo a las capturas de pantalla)

Es muy, muy bueno para lo que intentas lograr y con una gran documentación. Es un gran punto de partida.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X