martes, 13 de noviembre de 2012

[RNA] Redes Neuronales

Haciendo referencia al proyecto que he venido desarrollando, el tema que elegí para lectura científica fue:


One-Hour-Ahead Load Forecasting Using Neural Network
Predicción de la carga (eléctrica) una hora adelante.
Autores:

  • Tomonobu Senjyu, Member, IEEE, 
  • Hitoshi Takara
  • Katsumi Uezato
  • Toshihisa Funabashi, Senior Member, IEEE

Introducción


El documento hace referencia a la importancia que tiene de predecir la carga total a la que será expuesta una instalación eléctrica durante su periodo de planeación y operación.
Multiples compañias realizan ya este tipo de procedimientos mediante técnicas convencionales, sin embargo, el comportamiento de la carga durante un periodo establecido de tiempo no es lineal.
Para tener el éxito esperado es necesario utilizar una red neuronal de estructura compacta y con un periodo de entrenamiento corto, es por ello que los autores se centran solo en predecir el comportamiento de la carga una hora adelante, en lugar de otros métodos que intentan predecir el mismo comportamiento pero 24 horas por delante.
El entrenamiento es sencillo, se aplica un factor de correción de acuerdo a una comparación realizada con datos similares de días diferentes, asi de logra un entrenamiento eficiente.

El utilizar este sistema de comparación de información con datos similares en días diferentes elimina la no linealidad de los datos, los datos similares son promediados para mejorar la precisión de la predicción.

Selección de los datos de días similares


Se utiliza un método llamado norma euclidiana la cual permite comprender al similitud de los datos, ésto se logra estudiando el coeficiente de correlación existente entre los datos ambientales del sistema y la carga de poder antes de aplicar la norma euclidiana.
La ecuación utilizada es:

[1]

Donde L(t-k) es la curva de carga en el dia de la predicción, L^P(t-k) es la curva de carga en un día similar &deltaL^t-k es la desviación de la carga entre la carga de poder del día de la predicción y la carga de poder en un día similar.
w(i)(i=1-3) es el factor de peso.

En otros métodos se utilizan como variables de la norma euclidiana las temperaturas máximas y mínimas del día de la predicción, sin embargo, dichas variables tienden a tener una rápida variación en ciertas situaciones por lo que es posible obtener una tasa de error muy alta.
En el método propuesto se subtituye las temperaturas por la carga de poder.

La red neuronal

Estructura

La red neuronal se alimentara, para su entrenamiento, de los datos de días similares; su entrada principal será la información obtenida durante el día de la predicción.
La estructura propuesta para la red neurona es multicapa. Generalmente una red neuronal con tres capas tiene la capacidad de aproximar funciones no lineales porque se incrementa el número de nodos ocultos, por ello se utiliza un modelo de tres capas donde cada capa esta completamente conectada hacia adelante. Se tiene una entrada de 9 elementos y 20 nodos ocultos, y se obtiene un solo dato de salida.
Ésta es el diagrama de la estructura de la red neuronal.

[1]

Procedimiento de aprendizaje y predicción

El método de predicción utilza el algoritmo de backpropagation. La red neuronal es entrenada con la información de 30 días antes del día de la predicción, lo cual es una cantidad de información muy grande.
También es posible utilizar la información de 60 días antes si se desean realizar predicciones de un año en el futuro.
Si el día de la predicción se cambia, es necesario reentrenar la red neuronal por completo. El procedimeinto utilizado es el siguiente:
  1. Determinar el rango de información necesario para la predicción
  2. Determinar los límites de selección de días similares para un día de aprendizaje. Por lo general 30 días similares desde el día antes del aprendizaje, si es posible, de un año antes.
  3. Seleccionar los días similares para el primer día de aprendizaje.
  4. Realizar backpropagation para los N días similares.
  5. Realizar backpropagation para todos los días dentro del rango de aprendizaje
  6. Realizar 200 iteraciones de backpropagation sin un límite específico.
  7. Seleccionar los días similares, para el día de la predicción.
  8. Seleccionar las variables de entrada.
  9. Realizar la corrección de predicción.
  10. Obtener la curva de predicción. 

Simulación

Para realizar simulaciones de las predicciones antes de su aplicación real, se pueden seguir 4 posibles casos:

  1. Predecir la curva de carga utilizando un modelo de regresión simple. Se utiliza la temperatura y la carga utilizada.
  2. Predecir la curva de carga utilizando la información de días similares. La red neuronal no se utiliza, es puramente estadístico.
  3. Predecir la curva de carga utilizando un método sin proceso de entrenamiento y aprendizaje, para ello se utiliza la información de días similares.
  4. Predecir la curva de carga utilizando un método con proceso de entrenamiento y aprendizaje, para ello se utiliza la información de días similares.

En la siguiente imagén se puede ver la comparación delas lecturas reales con la de la red neuronal

[1]

En la imágen no se puede notar muy bien, pero podemos notar que las líneas de predicción y la línea real estan completamente empalmadas, lo que indica la efectividad del sistema


Conclusión

Pues quedó mas claro el concepto de predicción de datos leyendo este tema, pienso que es posible utilizar alguno de los método aqui propuesto para realizar un modelo de predicción más general.
Pienso que es posible retomar los métodos de entrenamiento propuestos para aplicarlos a mi proyecto y asi lograr algo más sólido y eficiente en la predicción de otro tipo de eventos.


Referencias


1 comentario: