Autorizada la entrega del proyecto del alumno: Javier Muñiz Corral EL DIRECTOR DEL PROYECTO Alberto Cruz García Fdo.: …………………… Fecha: ……/ ……/ …… Vº Bº del Coordinador de Proyectos Susana Ortiz Marcos Fdo.: …………………… Fecha: ……/ ……/ …… UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL PROYECTO FIN DE CARRERA PREDICCIÓN DEL PRECIO DE LA ELECTRICIDAD MEDIANTE REDES NEURONALES AUTOR: Javier Muñiz Corral MADRID, septiembre de 2010 PREDICCIÓN DEL PRECIO DE LA ELECTRICIDAD MEDIANTE REDES NEURONALES. Autor: Muñiz Corral, Javier Director: Cruz García, Alberto Entidad Colaboradora: ICAI - Universidad Pontificia Comillas RESUMEN DEL PROYECTO Tras la liberalización del sector eléctrico, resulta crucial para las empresas competidoras del mercado tratar de predecir el precio de la electricidad en un horizonte de corto plazo, puesto que a partir de estimaciones precisas las empresas pueden optimizar sus estrategias de oferta, y en último término maximizar su beneficio. En este proyecto se tratará de abordar el problema mediante técnicas de inteligencia artificial. En concreto, se desarrollarán varios modelos de redes neuronales artificiales para realizar la predicción del precio de la electricidad en un horizonte de 24 horas. Las redes neuronales artificiales son estructuras adaptativas de procesamiento de información, donde el procesamiento se lleva a cabo mediante la interconexión de elementos muy sencillos a los que se denomina neuronas. La principal característica de estas redes es que poseen la capacidad de captar relaciones complejas no lineales entre distintas variables. Esto hace que las redes neuronales sean capaces de resolver cierto tipo de problemas muy complejos donde no se conocen las relaciones existentes entre las variables explicativas y la salida, como puede ser la predicción del precio de la electricidad en mercados eléctricos liberalizados. El precio de la electricidad depende de una gran cantidad de factores que habrá que analizar. Entre otras variables se estudiarán: la demanda prevista, la cantidad de energía generada mediante distintas tecnologías, los intercambios de energía con otros países, etc. Estos datos serán introducidos en varios modelos de redes neuronales desarrolladas mediante la Toolbox de redes neuronales del programa de cálculo numérico MATLAB. En primer lugar se realizará un estudio de los principales modelos que existen en la actualidad para la predicción del precio de la electricidad, tanto tradicionales como los basados en redes neuronales. Una vez realizado este estudio se comenzarán a desarrollar tres modelos de redes neuronales. El primer modelo que se estudiará será un perceptrón multicapa feedforward, es decir, una red neuronal con varias capas de neuronas interconectadas sin ningún tipo de conexiones de realimentación. El segundo modelo será una red NARX (nonlinear autoregressive exogenous model), que es similar a la anterior pero presenta una realimentación desde su salida hasta las neuronas de entrada. Este modelo no es tan común como el anterior y será interesante estudiar si puede competir con él. Finalmente, el último modelo es una red recurrente como la NARX pero que además de realimentar la salida de la red, realimenta el error cometido por la misma en predicciones pasadas. Este modelo apenas ha sido estudiado por lo que los resultados obtenidos de su estudio serán muy importantes para comprobar su validez frente a las redes neuronales convencionales. En una primera etapa se estudiará el problema de predicción con el modelo más simple, el Feedforward. Con este modelo se realizará un estudio para determinar las variables significativas del precio de la electricidad mediante un análisis estadístico de sensibilidades. También se propondrá un algoritmo genético básico como un posible sustituto de las funciones de entrenamiento tradicionales de redes neuronales. A partir de los resultados obtenidos mediante estos análisis se desarrollarán los otros dos modelos de redes neuronales y se ajustará su diseño para obtener las predicciones más precisas posibles. Por último, se obtendrán los resultados finales entrenando los tres modelos con todos los datos disponibles del mercado eléctrico español correspondientes al año 2007 y se hará una predicción del precio para todas las horas del año 2008. Se analizarán los resultados obtenidos en las predicciones para determinar qué modelo predice mejor el precio. Una vez se han desarrollado los modelos a lo largo del proyecto se han obtenido los siguientes resultados: Se ha comprobado que es muy beneficioso para las redes neuronales aplicar un tratamiento previo a los datos que maneja. Se hace especialmente indicada la transformación de las variables de entrada a la red de tal forma que todas tengan media nula y varianza unitaria. Además, la eliminación de la tendencia del precio de la electricidad para que tenga una media estacionaria mejora sustancialmente las predicciones. Finalmente, también es conveniente eliminar de la fase de entrenamiento los valores extremos que a veces presenta el precio de la electricidad conocidos como spikes. Sin embargo, no se ha conseguido que el algoritmo genético por sí mismo, como función de entrenamiento, suponga una mejora respecto a los algoritmos de entrenamiento tradicionales. Aún así, sí se ha comprobado que la combinación de un algoritmo convencional inicializado con un algoritmo genético proporciona una mejoría respecto al entrenamiento solamente con algoritmos tradicionales, consiguiéndose errores de predicción mejores y más constantes. Este resultado propicia una futura línea de desarrollo donde se investiguen algoritmos genéticos más complejos y depurados que los utilizados en este proyecto para el entrenamiento de redes neuronales que puedan mejorar sustancialmente las predicciones realizadas con los modelos de redes neuronales. En cuanto a las predicciones, los tres modelos proporcionan resultados similares, siendo el error absoluto porcentual medio inferior al 9% para todos ellos. Se ha comprobado que tanto el modelo NARX como el modelo recurrente con error pueden proporcionar resultados similares a los de las redes convencionales. Aún así, no se puede afirmar que ninguno de los tres modelos sea el mejor, pues sus predicciones son muy parecidas en la mayoría de los casos. Si se analiza la predicción mensualmente, se observa que los meses más difíciles de predecir para las redes neuronales son los meses de invierno con un error prácticamente el doble que en los meses de verano. En definitiva, se ha comprobado que los modelos de predicción del precio de la electricidad basados en redes neuronales suponen una buena alternativa a los modelos tradicionales, proporcionando buenos resultados sobre todo en períodos donde el precio presenta relaciones más complejas entre las variables que lo definen. Es en estos períodos donde las características propias de los modelos de redes neuronales destacan sobre las de los modelos convencionales. ELECTRICITY PRICE FORECASTING USING NEURAL NETWORKS After the liberalization of the electricity market, it is crucial for market agents to try to forecast the electricity price in a short-term horizon, since accurate estimations make them able to optimize their bidding strategies and, ultimately, maximize their profits. This project will seek to address the problem through artificial intelligence techniques. In particular, several neural networks models will be developed to predict the electricity price up to a day ahead. Artificial neural networks are adaptive structures of information processing, where processing is carried out by interconnecting very simple elements called neurons. The main characteristic of these networks is that they have a great ability to grasp complex relationships between different variables with non-linear relationships. This makes neural networks to be able to solve certain types of very complex problems where the relationships between the input variables and the output are unknown, such as forecasting the electricity price in deregulated power markets. The electricity price depends on many factors that will be necessary to analyze. Some of the variables that will be studied are: the expected demand, the amount of energy generated by different technologies, energy exchanges with other countries, etc. These data will be introduced in several neural networks models developed using the Neural Network Toolbox of the numerical calculation software MATLAB. Firstly, a study of the main price forecasting models that currently exist will be performed, both traditional and those based on neural networks. Once this study has been carried out, three neural networks will be developed. The first model to be studied is a multilayer feedforward perceptron, i.e. a neural network with several interconnected layers of neurons without any kind of feedback connections. The second model is a NARX (nonlinear autorregresive exogenous model) network, which is similar to the feedforward network but with a feedback connection from the output neuron to the input layer of neurons. This model is not as common as the feedforward and it would be interesting to study if it can compete with it. Finally, the last model is a recurrent network as the NARX model but in addition to the feedback connection from the output to the input layer it has a feedback connection that feeds back the error made by the network in past forecasts. This model has not been studied yet and it will be interesting to analyze its results to see if it can be compared to the conventional models. In a first stage, the forecasting problem will be studied with the simplest model, i.e. the feedforward model. Through this model a study of the key variables that affect the electricity price will be performed by using a statistical sensitivities analysis. Moreover, a genetic algorithm will be proposed as a possible substitute to the traditional neural networks training functions. Based on the results of such analysis the other two models will be developed and their design will be adjusted so that to obtain the most accurate forecasts possible. Finally, the three models will be trained using the data of the Spanish electricity market in the year 2007 to forecast the prices for the year 2008. The results obtained will be analyzed to determine which model is the best to forecast the electricity price. Once the three models have been developed throughout this project, the following results have been obtained: It has been proved that it is very beneficial to the neural networks to use preprocessing functions for the input data they manage. The processing of the input variables so that all have zero mean and unit variance makes predictions more accurate. Moreover, the elimination of the price trend, so that it has a stationary mean, substantially improves the forecasts. Finally, it is also convenient to eliminate extreme values or spikes in the electricity price from the training dataset. However, it has not been possible to use a genetic algorithm by itself to train a neural network, as its results are not as good as the predictions obtained using traditional training functions. Nevertheless, it has been proved that the combination of a conventional training algorithm initialized with a genetic algorithm produces better results than the traditional training function alone. The combined algorithm makes the forecasting errors smaller and more consistent. This result brings about a new line of future studies where more complex and refined genetic algorithms that should be developed to enhance the forecasts made with neural networks models. Regarding the forecasts obtained with these three models, the results are very similar and accurate with mean absolute percentage errors of less than 9% for the forecasting of electricity price in 2008. It has been proved that NARX and error models provide very similar results to the conventional neural networks. However, none of these models performed significantly better than the rest, because they all provide similar results. If the forecast is analysed monthly, it is shown that the most difficult months to forecast are the winter months with an error almost twice that in the summer months. As a conclusion, it has been proved that neural networks models for electricity price forecasting are a good alternative to traditional models, providing good results especially in periods where the price presents more complex relationships among the variables that define it. It is in these periods where the characteristics of neural network based models stand out from those of conventional models. UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Índice Capítulo 1 Introducción ................................................................................... 1 1.1 Motivación del proyecto............................................................................... 2 1.2 Objetivos del proyecto.................................................................................. 6 1.3 Mercado eléctrico ........................................................................................... 7 1.4 Factores que afectan al precio de la electricidad.................................... 12 Capítulo 2 Modelos de predicción del precio de la electricidad .................... 18 2.1 Introducción ................................................................................................. 19 2.2 Clasificación general ................................................................................... 20 2.3 Modelos de redes neuronales.................................................................... 25 Capítulo 3 Redes neuronales .......................................................................... 34 3.1 Introducción ................................................................................................. 35 3.2 Estructura de la red...................................................................................... 37 3.3 Modelo matemático ..................................................................................... 43 3.4 Entrenamiento de redes neuronales......................................................... 45 3.5 Análisis de las variables significativas ................................................... 60 3.6 Algoritmos de poda ..................................................................................... 65 Capítulo 4 Algoritmos Genéticos.................................................................... 71 4.1 Introducción ................................................................................................. 72 4.2 AG como función de entrenamiento........................................................ 82 I UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 4.3 AG como inicialización de los pesos ....................................................... 86 Capítulo 5 Caso estudio: Mercado Eléctrico Español................................... 88 5.1 Introducción ................................................................................................. 89 5.2 Tratamiento de los datos ............................................................................ 92 5.3 Análisis de las variables significativas ................................................. 109 5.4 Funciones de entrenamiento ................................................................... 128 5.5 Diseño de la topología .............................................................................. 131 5.6 Entrenamiento con algoritmos genéticos .............................................. 138 5.7 Modelos de predicción del precio de la electricidad para el mercado eléctrico español...................................................................................................... 149 5.8 Resultados ................................................................................................... 161 Capítulo 6 Conclusiones ............................................................................... 172 Capítulo 7 Futuros Desarrollos.................................................................... 177 Bibliografía ..................................................................................................... 180 II UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL Predicción del precio de la electricidad mediante redes neuronales Índice de figuras Figura 1-1. Red neuronal sencilla. ......................................................................... 4 Figura 1-2. Curvas agregadas de oferta y demanda. (Fuente: OMEL) ............... 10 Figura 1-3. Gráfico del precio en función de la demanda ...................................... 13 Figura 1-4.Comparación entre los precios de dos semanas consecutivas. ............. 16 Figura 2-1. Estructura de un perceptrón multicapa. ............................................ 26 Figura 2-2. Función de activación gaussiana. ...................................................... 28 Figura 2-3. Estructura de una red NARX. ........................................................... 29 Figura 2-4. Gráfica de una wavelet típica (el sombrero mexicano). ...................... 33 Figura 3-1. Estructura de una red neuronal sencilla. .......................................... 39 Figura 3-2. Red feedforward. ................................................................................ 41 Figura 3-3. Red recurrente ................................................................................... 42 Figura 3-4. Red neuronal con dos matrices de pesos............................................. 44 Figura 3-5. Red neuronal con una matriz de pesos equivalente ........................... 45 Figura 3-6. Superficie de error en función de dos pesos ........................................ 59 Figura 3-7. Red neuronal antes y después de aplicar un algoritmo de poda......... 66 Figura 4-1. Evolución de un algoritmo genético. .................................................. 74 Figura 4-2. Reproducción en un algoritmo genético. ........................................... 77 Figura 4-3. Mutación en un algoritmo genético con codificación binaria. .......... 80 -1- UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL Predicción del precio de la electricidad mediante redes neuronales Figura 5-1. Comparación entre distintas medias móviles ..................................... 94 Figura 5-2. Red feedforward para realizar el estudio ............................................ 96 Figura 5-3. Predicción sin ningún tratamiento de datos ...................................... 96 Figura 5-4. Predicción eliminando tendencias con ventana de 6 horas ................ 97 Figura 5-5. Predicción eliminando tendencias con ventana de 12 horas .............. 98 Figura 5-6. Predicción eliminando tendencias con ventana de 24 horas .............. 98 Figura 5-7. Predicción eliminando tendencias con ventana de 1 semana ............. 99 Figura 5-8. Predicción eliminando tendencias con ventana de 1 mes ................ 100 Figura 5-9. Predicción eliminando tendencias con ventana de 3 meses ............. 100 Figura 5-10. Comparación sin tendencia (izq.) y mapstd (dcha.) ....................... 103 Figura 5-11. Comparación entre los métodos de limitación de picos (fijo y móvil) ............................................................................................................................. 105 Figura 5-12. Período dónde el precio presenta gran cantidad de picos ............... 107 Figura 5-13. Comparación entre la red sin tratamientos y con tratamientos ..... 109 Figura 5-14. Función de autocorrelación simple de la demanda ......................... 111 Figura 5-15. Función de autocorrelación parcial de la demanda ........................ 112 Figura 5-16. Función de autocorrelación simple del precio ................................ 113 Figura 5-17. Función de autocorrelación parcial del precio ................................ 114 Figura 5-18. Predicción con 3 variables y 5 neuronas ........................................ 115 Figura 5-19. Predicción con 12 variables y 18 neuronas .................................... 116 Figura 5-20. Evolución del error al aumentar el número de variables ............... 118 Figura 5-21. Histograma de sensibilidades con 19 variables .............................. 123 Figura 5-22. Gráfico (media, desviación típica) de sensibilidades con 19 variables ............................................................................................................................. 124 -2- UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL Predicción del precio de la electricidad mediante redes neuronales Figura 5-23. Diagrama de centiles del 95% normalizado con 19 variables ........ 126 Figura 5-24. Diagramas de cajas y bigotes del error y el tiempo para 9 funciones de entrenamiento ................................................................................................. 130 Figura 5-25. Funciones de transferencia ............................................................. 133 Figura 5-26. Evolución del error mínimo en la población a lo largo de 100 generaciones ........................................................................................................ 140 Figura 5-27. Predicción del precio con entrenamiento mediante algoritmos genéticos .............................................................................................................. 142 Figura 5-28. Errores cometidos en sucesivas ejecuciones con entrenamiento genético y tradicional. ......................................................................................... 145 Figura 5-29. Comparación del entrenamiento con un algoritmo genético y un algoritmo tradicional ........................................................................................... 146 Figura 5-30. Comparación del entrenamiento con un algoritmo genético y un algoritmo tradicional ........................................................................................... 147 Figura 5-31. Función de autocorrelación parcial del precio ................................ 152 Figura 5-32. Modelo feedforward ........................................................................ 159 Figura 5-33. Modelo NARX ............................................................................... 160 Figura 5-34. Modelo Recurrente con Error ........................................................ 161 Figura 5-35. Errores MAPE mensuales cometidos por los tres modelos durante 2008 ..................................................................................................................... 166 Figura 5-36. Precios de la electricidad en el verano de 2008 .............................. 167 Figura 5-37. Predicciones con el modelo feedforward en agosto y diciembre de 2008 ..................................................................................................................... 168 Figura 5-38. Predicciones con el modelo NARX en julio y diciembre de 2008 .. 169 -3- UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL Predicción del precio de la electricidad mediante redes neuronales Figura 5-39. Predicciones con el modelo Recurrente con Error en septiembre y diciembre de 2008 ................................................................................................ 170 NOTA: Mientras no se diga lo contrario, todas las figuras son de elaboración propia. -4- UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL Predicción del precio de la electricidad mediante redes neuronales Índice de tablas Tabla 5-1. Errores con distintas ventanas temporales para la eliminación de la tendencia. ............................................................................................................ 101 Tabla 5-2. Errores de los modelos sin tendencia y mapstd................................. 103 Tabla 5-3. Errores obtenidos con limitación de picos fija y móvil. .................... 105 Tabla 5-4. Errores variando el parámetro λ en limitación de picos móvil. ........ 108 Tabla 5-5. Comparación de errores entre modelos con y sin tratamientos. ....... 109 Tabla 5-6. Errores obtenidos al variar el número de variables de entrada. ...... 117 Tabla 5-7. Variables explicativas en estudio. ..................................................... 122 Tabla 5-8. Errores y tiempos de ejecución de distintas funciones de entrenamiento. ..................................................................................................... 129 Tabla 5-9. Análisis del número de neuronas (I). ................................................. 136 Tabla 5-10. Análisis del número de neuronas (II). ............................................. 137 Tabla 5-11. Análisis del número de neuronas (III). ............................................ 138 Tabla 5-12. Errores de un algoritmo genético y uno tradicional. ...................... 141 Tabla 5-13. Análisis del número de neuronas en el modelo feedforward. .......... 155 Tabla 5-14. Análisis del número de neuronas en el modelo NARX (I). .............. 156 Tabla 5-15. Análisis del número de neuronas en el modelo NARX (II). ............. 156 Tabla 5-16. Análisis del número de neuronas en el modelo recurrente con error (I). ........................................................................................................................ 157 Tabla 5-17. Análisis del número de neuronas en el modelo recurrente con error (II). ....................................................................................................................... 158 Tabla 5-18. Errores de predicción para el año 2008.......................................... 163 Tabla 5-19. Errores de predicción mensuales para el año 2008. ....................... 165 -5- UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO INDUSTRIAL Predicción del precio de la electricidad mediante redes neuronales NOTA: Todas las tablas son de elaboración propia. -6- UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Capítulo 1 INTRODUCCIÓN -1- UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Capítulo 1 INTRODUCCIÓN 1.1 MOTIVACIÓN DEL PROYECTO Tras la liberalización del sector eléctrico, resulta crucial para las empresas competidoras del mercado tratar de predecir el precio de la electricidad en un horizonte de corto plazo, puesto que a partir de estimaciones precisas las empresas pueden optimizar sus estrategias de oferta, y en último término maximizar el beneficio. Los modelos de predicción del precio existentes en la literatura no resultan del todo satisfactorios, y en este proyecto se tratará de abordar el problema mediante técnicas de inteligencia artificial, en concreto redes neuronales. Muchos sistemas eléctricos a nivel mundial ya han liberalizado el mercado permitiendo así que las empresas participantes compitan libremente. El principal producto con el que se comercia es la energía. Estos mercados están normalmente organizados en pools eléctricos que están administrados por un operador independiente del sistema. La principal diferencia entre los distintos mercados es el porcentaje de energía que se comercia en el pool. Hay algunos mercados donde toda la energía se compra en el pool y otros donde puede haber otras transacciones fuera del pool, como acuerdos bilaterales, por ejemplo. En un entorno como este es -2- UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales fundamental poder conocer con antelación el precio que tomará la electricidad. En general hay dos tipos de técnicas más frecuentemente usadas para realizar la predicción: las basadas en el análisis clásico de series temporales o modelos econométricos, y aquellas que se basan en técnicas del campo de la inteligencia artificial. Las redes neuronales surgieron del estudio del funcionamiento del cerebro y de su comparación con el funcionamiento de los ordenadores digitales. El paralelismo encontrado ha motivado a muchos investigadores en la interpretación biológica de las redes neuronales artificiales, proponiendo nuevos modelos conexionistas y nuevos métodos de aprendizaje basados en la modelización del cerebro. El objetivo es conseguir una capacidad de generalización y robustez similar a la del cerebro. -3- UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Figura 1-1. Red neuronal sencilla. Una red neuronal artificial es una estructura de procesamiento paralelo de información distribuida, bajo la forma de grafo orientado como se ve en la figura 1-1, con las siguientes subdefiniciones y restricciones: • Los nodos del grafo son llamados elementos de proceso o neuronas. • Las uniones del grafo se denominan conexiones. • Se admite cualquier número de conexiones de entrada. • Cada elemento de proceso sólo puede tener una señal de salida, que puede ramificarse en cualquier número de conexiones de salida. • Los elementos de proceso pueden tener memoria local. • Cada elemento de proceso tiene una función de transferencia que puede utilizar y alterar la memoria local, puede usar las señales de entrada, y produce la señal de salida. Las funciones de transferencia más típicas son la lineal, la sigmoidea y la tangente hiperbólica. -4- UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Las redes neuronales artificiales son estructuras adaptativas de procesamiento de información, donde el procesamiento se lleva a cabo mediante la interconexión de elementos muy sencillos a los que se denomina neuronas. Durante la fase de aprendizaje, se expone la red a un entorno de información para que pueda adaptar sus pesos (parámetros libres que dan forma a las funciones de transferencia de sus elementos de proceso) y posiblemente también su estructura. Durante la fase de evaluación, los pesos de la red se mantienen fijos y la red se limita a tratar la información de entrada que se le suministra. Las redes neuronales artificiales deben su capacidad de procesamiento de información a su estructura distribuida y paralela y a su capacidad de aprendizaje y, por tanto, de generalización. Esto hace que las redes neuronales sean capaces de resolver cierto tipo de problemas muy complejos que hasta el momento no habían quedado resueltos de forma satisfactoria, como puede ser la predicción del precio de la electricidad en mercados eléctricos liberalizados. El precio de la electricidad depende de muchas variables mediante relaciones no lineales y muy complejas, por lo que el empleo de redes neuronales para su predicción es muy adecuado. La predicción del precio de la electricidad es un elemento de gran importancia para la estrategia de todos los participantes del mercado. Ha habido muchos intentos de realizar esta predicción, y algunos autores han conseguido unas buenas predicciones en períodos sin picos en el precio. Sin embargo, es posible que con las técnicas basadas en redes neuronales -5- UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales que se usarán en este proyecto se consiga una predicción mejor y más fiable. 1.2 OBJETIVOS DEL PROYECTO El objetivo principal del proyecto es encontrar un modelo basado en redes neuronales que sea capaz de predecir el precio de la electricidad en el Mercado eléctrico español con el mínimo error posible. Para ello se intentarán alcanzar los siguientes objetivos: • Estudio de los métodos de predicción tradicionales • Estudio de los modelos de redes neuronales existentes • Estudio de los modelos de redes neuronales aplicados para la predicción del precio de la electricidad • Estudio de las variables significativas en el proceso de formación del precio • Desarrollo de uno o más modelos de predicción mediante redes neuronales en MATLAB • Conseguir un el menor error de predicción posible -6- UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 1.3 MERCADO ELÉCTRICO La Ley del sector eléctrico 54/97 introdujo una nueva regulación que liberalizaba parcialmente la competencia en generación, contemplaba una transición a la competencia en la comercialización y mantenía la regulación en el transporte y distribución. Como se puede ver en [WERO06], con esta liberalización intenta promover el aumento de la eficiencia, estimular las innovaciones tecnológicas y atraer inversiones eficientes. Esta ley confiaba en el mercado de ofertas, el intercambio de energía entre los agentes y lo complementaba con elementos retributivos fijados administrativamente como las primas a las energías renovables. Sin embargo, se ha visto en los últimos años que el sector presenta síntomas de agotamiento, ya que se ha comprobado que este marco regulatorio presenta un déficit tarifario que no permite cubrir los costes del suministro. El análisis de los mercados eléctricos tiene que tener en cuenta las características propias de la electricidad que condiciona tanto la oferta como la demanda. La imposibilidad de almacenar la electricidad hace que en todo momento la generación sea igual al consumo, con lo que se necesita tener una capacidad sobrante en los puntos de generación para satisfacer las fuertes variaciones de demanda y garantizar el suministro. Una falta de capacidad además de poner en peligro la estabilidad del mercado intensificaría su poder. Otra característica propia de la -7- UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales electricidad es que coexisten una gran variedad de tecnologías para su generación con diferentes estructuras de costes. Sin embargo, el precio de la electricidad es el mismo para toda la producción horaria y no discrimina según el origen de la energía. De esta forma, las tecnologías con altos costes fijos y bajos costes variables intentarán operar continuamente para aprovechar las economías de escala, mientras que las que tienen altos costes variables operarán de forma discontinua a diferentes horas del día intentando aprovechar mayores precios para obtener un mayor beneficio. El funcionamiento del mercado eléctrico es muy sensible al diseño de mercado y a la estructura empresarial debido a las características propias de la electricidad. Para que estos mercados funcionen de manera adecuada tiene que haber una competencia entre los ofertantes, lo cual implica la necesidad de que haya una gran cantidad de empresas dedicadas al sector con una tecnología similar. El Mercado eléctrico español se organiza en torno a un proceso de subastas y de operación del sistema (mercados diarios, intradiarios, resolución de restricciones técnicas, servicios complementarios y de gestión de desvíos). Aunque no es obligatorio participar en estos mercados si se ha contratado de forma bilateral previamente. El mercado diario concentra la mayor parte de las transacciones. En él participan las empresas generadoras, los autoproductores comercializando su energía excedente, los distribuidores, los agentes externos, los comercializadores y los consumidores cualificados. Para cada tramo horario del día de entrega física de la electricidad, los agentes presentan -8- UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales ofertas de venta y de compra de electricidad al Operador del Mercado que en el caso español es OMEL. En las ofertas de venta o compra se especifican el precio mínimo o máximo respectivamente al cual están dispuestos a vender o comprar la cantidad que se oferta. Estas ofertas de venta pueden ir acompañadas de unas condiciones complejas como el gradiente de carga, la condición de ingresos mínimos, de indivisibilidad o de parada programada. OMEL es la entidad que realizará el proceso de casación entre la oferta y la demanda según un criterio económico por el cual se ordenan de menor a mayor las ofertas de venta y de mayor a menor las ofertas de compra. De esta forma se construyen las curvas agregadas de oferta y demanda y el punto donde se crucen es el precio marginal de casación. Todas las ofertas de venta cuyo precio sea inferior al precio marginal y todas las ofertas de compra cuyo precio sea mayor a dicho precio serán casadas y pagarán o cobrarán todas ellas el precio marginal como se puede ver en la figura 1-2. Este tipo de subasta se denomina subasta de precios uniformes, ya que todas las unidades reciben o pagan el mismo precio independientemente de los precios que cada una haya ofertado. -9- UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Figura 1-2. Curvas agregadas de oferta y demanda. (Fuente: OMEL) Además OMEL incorpora a la casación del mercado diario los contratos bilaterales físicos y la producción en régimen especial que no haya sido ofertada en el mercado. A su vez el Operador del Sistema (REE) estudia si el mix de generación es técnicamente viable y se puede garantizar la estabilidad del sistema, y en caso de que no sea viable soluciona las restricciones técnicas. Antes de la entrada en vigor del Real Decreto 2351/2004 de mayo de 2005, REE añadía o quitaba potencia del esquema previsto para solventar posibles problemas siguiendo un orden de preferencia económica en base a las ofertas del mercado diario. En la actualidad, se presentan unas nuevas ofertas en base a las cuales se decide quién sale o quién entra. El precio final de la electricidad además de incluir los precios obtenidos en el mercado (mercado diario, intradiario, costes de solución de - 10 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales restricciones técnicas, mercados de servicios complementarios y los procesos de operación técnica), incluye otros elementos entre los que cabe destacar la garantía de potencia. Este elemento trata de fomentar la disponibilidad de los generadores e incentivar las inversiones en generación. El precio que pagan los consumidores por este concepto se reparte finalmente entre las centrales en función de sus horas de disponibilidad. Las reglas que gobiernan el mercado condicionan el comportamiento de la oferta y la demanda y su equilibrio resultante. Mediante la subasta de precios uniformes que opera en el mercado eléctrico español, este equilibrio depende en gran parte de la relación entre la capacidad instalada y el valor de la demanda. En un equilibrio “competitivo” las unidades con menores costes que el marginal son ofertadas a su propio coste o a precios inferiores si se quiere asegurar su casación, minimizándose los costes de producción. Sin embargo, en un equilibrio “colusivo” donde los costes de producción ya no limitan el valor de las ofertas, y de forma genérica hay una empresa con incentivos a desviarse del equilibrio competitivo lo que da lugar a ineficiencias productivas. Esta empresa es la que se denomina pivotal y tiende a pujar el precio que maximiza sus beneficios mientras que el resto de empresas pujan a su coste marginal. Estos equilibrios se pueden observar en el mercado eléctrico de España donde una gran parte de la producción es ofertada - 11 - precio cero para UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales asegurar su casación y sólo las unidades que previsiblemente serán marginales ofertarán a precios mayores. 1.4 FACTORES QUE AFECTAN AL PRECIO DE LA ELECTRICIDAD Como se puede ver en [GAO00], a la hora de construir un modelo para predecir el precio de la electricidad es necesario identificar aquellas variables o factores que pueden afectar a la predicción. El valor del precio queda determinado por una gran cantidad de variables que influyen de diferente forma. Existen multitud de factores y es muy difícil o imposible determinarlos todos. Hay algunos más fáciles de determinar como pueden ser los de tipo tecnológico o climatológico, y otros más difíciles como son los psicológicos. De entre todas estas variables, las más interesantes para el modelo a construir son: 1.4.1 Predicción de la demanda La predicción de la demanda es una de las variables más estrechamente relacionadas con el precio que tomará la electricidad [RODR03]. Cuanto - 12 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales mayor sea la demanda, mayor será el precio. Sin embargo, la relación entre ambas variables no es lineal como se puede apreciar en la figura 1-3, ya que influyen otros factores como el tipo de tecnología usado para cubrir la demanda en cada momento o incluso factores especulativos. 4 4.5 x 10 4 Demanda 3.5 3 2.5 2 1.5 1 2 3 4 5 Precio 6 7 8 9 Figura 1-3. Gráfico del precio en función de la demanda La predicción de la demanda se considera una variable con muy pequeño error, ya que los modelos existentes en la actualidad tienen una buena precisión. Además, es una variable con menos incertidumbre y volatilidad que el precio, que está sometido a otros factores menos predecibles. Esta variable es función de una serie de factores, como por ejemplo: • Factores temporales: hora del día, día de la semana, mes del año, etc. - 13 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales • Factores climáticos: temperatura, humedad, velocidad del viento, etc. • Otros factores: grandes eventos en televisión, una fábrica que cierra o abre, etc. 1.4.2 Mix de Generación El Mix de Generación es el conjunto de tecnologías usadas en un momento para la producción de electricidad. Todos los países tienen distintas formas de generar electricidad como pueden ser: centrales de carbón, centrales de fuel, centrales nucleares, centrales de ciclo combinado, parques eólicos, saltos hidráulicos, paneles solares, centrales de biomasa, etc. Cada una de estas tecnologías tienen unos costes y un rendimiento determinados y en función de estos parámetros la generación de electricidad con unas será más cara que con otras. Sin embargo, algunas son mejores para cubrir la demanda base, otras para cubrir los picos de demanda y otras simplemente se usan cuando se puede. Por lo tanto, en cada momento se generará la electricidad con un porcentaje distinto de cada tecnología y el coste del MWh producido será también distinto. Por ejemplo, el coste de generación de electricidad eólico será alto, pero como gran parte del coste está subvencionado por el Gobierno, las generadoras ofertarán su electricidad a un precio de 0€/MWh, mientras - 14 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales que la generación de electricidad con fuel es mucho más caro y ofertan su electricidad a un precio más alto. Por lo tanto, si se conoce qué Mix de Generación se tendrá en el período de tiempo que se quiere predecir el precio de la electricidad, se podrá conseguir una mayor precisión en la predicción. 1.4.3 Valores pasados del precio Finalmente, como el precio no consiste en una serie de valores incorrelados, sino que forman una serie temporal, también son muy importantes a la hora de predecir el precio de la electricidad los valores que ha tomado la serie en momentos anteriores como se explica en [PIND07]. Además, presenta unas fuertes componentes de estacionalidad, por lo que unos valores determinados estarán más correlados que otros. - 15 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 5.5 Semana 1 Semana 2 5 4.5 4 3.5 3 2.5 2 1.5 0 20 40 60 80 100 120 140 160 180 Figura 1-4.Comparación entre los precios de dos semanas consecutivas. Como se ve en la figura 1-4, el precio en la hora h estará fuertemente relacionado con el precio en las horas inmediatamente anteriores (h-1, h-2, …). Además, también se observa que a lo largo de la semana el precio tiene una componente cíclica de período de un día, es decir, los días son similares entre sí, por lo que el precio de un lunes a las 5 de la tarde será similar al de un martes a la misma hora (sin embargo está relación no es tan directa entre días de ocio y laborales). A lo largo de un mes los días de la semana se parecen, por lo que un lunes de una semana será muy similar al lunes de la semana anterior. Y finalmente se puede obtener la estacionalidad de un mes donde se observa que en los meses de verano e invierno el precio es más alto que en los de otoño y primavera, donde la demanda energética es menor. - 16 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Por tanto, a la hora de construir el modelo habrá que partir de todas estas variables endógenas y exógenas y decidir cuáles son las más significativas y las que producen mejores predicciones. - 17 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Capítulo 2 MODELOS DE PREDICCIÓN DEL PRECIO DE LA ELECTRICIDAD - 18 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Capítulo 2 MODELOS DE PREDICCIÓN DEL PRECIO DE LA ELECTRICIDAD 2.1 INTRODUCCIÓN La volatilidad extrema del precio de la electricidad en algunos mercados eléctricos internacionales, que puede llegar a ser de hasta dos órdenes de magnitud mayor que para otros activos, ha forzado a las compañías a invertir en el desarrollo e investigación de nuevos modelos y métodos de predicción del precio. Esta predicción fundamental para las empresas que compiten en el sector. Debido a ello han surgido multitud de modelos como se puede ver en [AGGA08] de predicción, algunos basados en métodos clásicos econométricos aplicados a una gran variedad de problemas distintos y otros basados en técnicas de inteligencia artificial como pueden ser las redes neuronales. - 19 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 2.2 CLASIFICACIÓN GENERAL Observando los distintos modelos que se han aplicado históricamente para la predicción de series temporales se pueden encontrar hasta 6 enfoques distintos según [WERO06] para construir los modelos de predicción: 2.1.1 Modelos de coste de producción Estos métodos simulan la operación de los generadores de electricidad para tratar de satisfacer la demanda al mínimo coste. Caben destacar dos modelos: el Modelo de Coste de Producción (PCM) y el Modelo de Coste de Producción Estratégico (SPCM). El PCM ignora las decisiones estratégicas a la hora de realizar las ofertas en el pool. Es por ello que es un modelo más apropiado para los mercados regulados donde el valor del precio tiene una incertidumbre pequeña pero no es apropiado para los mercados liberalizados. Sin embargo el SPCM, desarrollado por Batlle y Barquín, tiene en cuenta las decisiones estratégicas de oferta de los agentes involucrados donde cada uno trata de obtener el máximo beneficio posible teniendo en cuenta sus costes de producción y el comportamiento esperado de sus competidores. La ventaja del SPCM frente al PCM es su rapidez de ejecución haciéndolo útil para aplicaciones en tiempo real. - 20 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 2.1.2 Modelos de equilibrio Estos métodos se pueden contemplar como una generalización de los modelos de coste de producción. Son especialmente útiles a la hora de predecir el nivel esperado del precio de la electricidad en mercados sin un registro histórico de precios pero donde se conocen los costes de producción y la concentración del mercado. En general hay dos tipos de enfoque: el primero utiliza el método Cournot-Nash donde la electricidad se trata como un bien homogéneo y el equilibrio del mercado se obtiene a través de las decisiones de fijación de la capacidad de los productores, aunque tiende a proporcionar valores más altos de los observados en la realidad; el segundo enfoque modela el precio como el equilibrio de las compañías pujando por ofertar su electricidad, donde la determinación de la curva de oferta se obtiene a través de una serie de ecuaciones diferenciales en vez de las ecuaciones algebraicas del método CournotNash. Sin embargo, los modelos de equilibrio tienen algunas desventajas. Pueden dar una buena predicción en cuanto a que los precios estarán por encima del coste marginal y cómo esto puede influir en las decisiones de los competidores. Pero debido al complejo proceso de optimización consumen una gran cantidad de tiempo y no son adecuados para aplicaciones en tiempo real. - 21 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 2.1.3 Modelos estructurales Este tipo de modelos intentan capturar las relaciones físicas y económicas básicas presentes en la producción y el comercio de la electricidad. Se basan en parámetros tales como la demanda, condiciones climatológicas, parámetros del sistema, etc. modelados mediante técnicas estadísticas, econométricas o no paramétricas. Para la implementación práctica de estos modelos existen dos obstáculos importantes: el primero es la disponibilidad de los datos necesarios, ya que dependiendo del mercado y del agente involucrado se puede no tener datos suficientes; el segundo obstáculo consiste en la incorporación de fluctuaciones estocásticas en los drivers fundamentales, ya que para la construcción del modelo se asumen una serie de relaciones entre dichos drivers que si no se cumplen pueden producir predicciones erróneas. Es por esto último que existen riesgos significativos en la aplicación de los modelos estructurales. 2.1.4 Modelos cuantitativos Los modelos cuantitativos no se utilizan para determinar con precisión el precio de la electricidad sino que intentan recoger las principales características del precio de la electricidad típicamente a una escala diaria. Las herramientas que se usan en estos modelos son generalmente adaptaciones de otros métodos desarrollados para modelar las tasas de interés u otros commodities. - 22 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 2.1.5 Modelos estadísticos Algunos autores clasifican los modelos estadísticos como herramientas de análisis técnico y es que ciertamente se parecen a estas técnicas tan populares entre los analistas financieros. El análisis técnico es un método que trata de analizar los datos estadísticos obtenidos en un mercado, valores pasados y volumen. Los analistas no intentan desentrañar el valor intrínseco o fundamental de un activo sino que observan gráficas para tratar de descubrir tendencias o patrones que puedan ayudar a determinar el comportamiento futuro. Mientras que en los mercados financieros estos métodos son controvertidos y hay muchas opiniones contrarias a su utilización, en los mercados eléctricos han demostrado un buen comportamiento. La razón para ello es que mientras en los mercados financieros los precios tienen una fuerte componente aleatoria, en los mercados eléctricos hay una fuerte componente estacional y un comportamiento mucho más ajustado a un patrón que los hace más predecibles. Entre los modelos estadísticos cabe destacar las cadenas de Markov, los procesos ARIMA y GARCH así como los modelos MARS, TVC (timevarying coefficients) [KARA08] y muchos otros. - 23 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 2.1.6 Modelos de inteligencia artificial Los modelos de inteligencia artificial son flexibles y pueden abarcar problemas de gran complejidad con relaciones no lineales. Esto los hace especialmente adecuados para realizar predicciones a corto plazo. De entre todos los métodos existentes las redes neuronales artificiales son probablemente las que mayor atención han recibido [MAND06], [PINO07], [RODR03], etc. Aunque también se han usado otras técnicas no paramétricas normalmente en modelos híbridos. También se han utilizado en la literatura la técnica de K vecinos más cercanos (KNN) como se puede ver en [TRON06]. En la literatura normalmente se comparan los modelos de redes neuronales entre sí mismos o con modelos estadísticos muy simples. Sin embargo, la pregunta más recurrente es cuál de estos dos métodos es mejor a la hora de hacer predicciones sobre el precio en los mercados eléctricos aunque hay múltiples estudios que intentan realizar esta comparación no se han llegado todavía a conclusiones definitivas. Esto se debe tanto a las diferentes características de cada problema en concreto como al desarrollo actual en el que se encuentran estos métodos que pueden hacer variar sus prestaciones en un futuro cercano. - 24 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 2.3 MODELOS DE REDES NEURONALES Existen muchos tipos de redes neuronales pero hay diferencias muy importantes entre unos tipos y otros y se conocen ciertas condiciones donde una red es preferible a otra. Por ejemplo hay redes neuronales que se utilizan para ajustar funciones, otras para clasificar conjuntos de datos y otros para reconocer patrones. En ningún caso se puede decir que un método sea absolutamente el mejor sino que dependerá de las condiciones prácticas de cada problema en concreto el que se use una red u otra. Es por ello que unos se adaptan mucho mejor que otros al problema de predecir series temporales y en concreto el precio de la electricidad. De entre todos los que se han usado para este problema específico se han seleccionado los siguientes: 2.3.1 Perceptrón Multicapa El perceptrón multicapa es una red neuronal muy utilizada en una multitud de campos. Se trata de una estructura unidireccional donde la información va desde las neuronas de entrada a las de salida sin ningún tipo de bucle como se puede ver en [VIÑU04]. Diferentes autores han demostrado que se trata de un aproximador universal, es decir, cualquier función continua puede aproximarse con un perceptrón multicapa con al menos una capa oculta de neuronas. Además su uso es muy fácil tiene una gran aplicabilidad. - 25 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Figura 2-1. Estructura de un perceptrón multicapa. Las conexiones de un perceptrón multicapa siempre están dirigidas hacia delante, es decir, las neuronas de una capa se conectan con las neuronas de la capa siguiente como se ve en la figura 2-1, por lo que también se denominan redes alimentadas hacia delante o “feedforward”. El perceptrón multicapa es una red neuronal adecuada para filtrar ruido, aproximar relaciones no lineales, etc. Por lo que es muy útil para resolver problemas reales como la predicción del precio de la electricidad, como se ve en [ZHAN03] aunque no se trate del mejor aproximador universal. Y es que también tiene una serie de limitaciones, como el largo proceso de aprendizaje para problemas complejos que dependen de muchas variables, la dificultad de codificar problemas reales para proporcionar valores concretos a la red, la dificultad de realizar un análisis teórico a la - 26 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales red debido a la presencia de relaciones no lineales y la alta conectividad que presentan. 2.3.2 Redes Neuronales de Base Radial Las redes neuronales de base radial son redes multicapa con conexiones hacia delante como el perceptrón multicapa. Sin embargo, es un tipo específico de perceptrón multicapa con unas características muy concretas y por eso se trata en un apartado diferente. Como se dice en [VIÑU] Se caracterizan por poseer una única capa oculta donde cada neurona de esta capa se activa en una parte diferente del espacio de patrones de entrada. Esta característica se debe a la aplicación de funciones de base radial, como la de la figura 2-2, como funciones de transferencia (generalmente la función gaussiana). Las neuronas de la capa de salida simplemente realizan una combinación lineal de las activaciones de las neuronas ocultas. Esta red necesita un menor tiempo de entrenamiento que el perceptrón multicapa habitual, por lo que se hace especialmente adecuado para aplicaciones en tiempo real. Este hecho se consiguió incorporando las funciones de activación de carácter local, lo cual permitía que tan sólo unas pocas neuronas ocultas tuvieran que ser procesadas para nuevos patrones de entrada. Y como el perceptrón multicapa también son aproximadores universales. - 27 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 0.4 0.3 0.2 0.1 0 10 5 5 0 0 -5 Figura 2-2. Función de activación gaussiana. Las redes de base radial aproximan funciones complejas mediante una colección de aproximaciones locales menos complejas. De esta forma, las aproximaciones de este tipo de redes son cualitativamente distintas a las realizadas con el perceptrón multicapa habitual que se basa en la aproximación de una función mediante hiperplanos, mientras que las de base radial lo hacen mediante la combinación de hiperelipses. Las redes de base radial no han sido tan ampliamente aplicadas como el perceptrón multicapa habitual. Sin embargo, se aplican a campos como la predicción de series temporales, procesamiento de imágenes, diagnósticos médicos, reconocimiento automático del habla, etc. Sin embargo, debe señalarse que el número de neuronas ocultas de la red puede aumentar exponencialmente con la dimensión del espacio de entrada, por lo que - 28 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales para grandes problemas que requieran un alto número de variables de entrada puede que este tipo de redes no sea el más apropiado. 2.3.3 Red NARX Una red no lineal autorregresiva con entradas exógenas (NARX) es una red dinámica recurrente con conexiones de realimentación formando un bucle donde la información vuelve de delante hacia atrás como se ve en la figura 2-3, por lo que también se les denomina redes “feedback” de forma genérica. El modelo NARX está basado en el modelo lineal ARX que es muy utilizado para la predicción de series temporales. Figura 2-3. Estructura de una red NARX. - 29 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Esta red toma como variables de entrada tanto las variables exógenas como sus retardos y los retardos de la propia señal de salida que proporciona la red. Dando una salida de la forma: 1 , … , , , … , Ecuación. 2-1 Donde y(t) es el valor de la serie temporal de interés que se quiere predecir y u(t) es el conjunto de variables exógenas de entrada en el instante t. Los términos u(t), … , u(t-Du) y y(t), … , y(t-Dy) representan los retardos tanto de las variables exógenas como de las endógenas entre el instante t y los instantes Du y Dy respectivamente. Mientras que f es una función no lineal y εt es un ruido blanco de la estimación. Debido a que este tipo de red neuronal tiene una “memoria” interna donde se guardan los valores pasados de las variables la hace más adecuada que otras redes para modelar problemas dinámicos que presentan dependencias a largo plazo frente a valores anteriores. Estas redes están especialmente diseñadas para tratar la información temporal de la serie permitiendo que la salida de la red no sólo dependa de las entradas exógenas, sino también de estados anteriores de la propia red. Sin embargo, este modelo también presenta unas limitaciones donde las más destacables son que se trata de modelos más complejos de construir y lentos de ejecutar por lo que no se suelen emplear tanto como las redes - 30 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales feedforward para la predicción de series temporales. Varios autores han obtenido buenos resultados con ellas como en [ANDA06] aunque no es una red muy empleada. 2.3.4 Redes Neuronales Difusas Las redes neuronales difusas o Neuro-fuzzy networks son una hibridación de dos técnicas de inteligencia artificial ya que se tiene una red neuronal habitual combinada con las técnicas de lógica difusa (fuzzy logic) que intenta emular al pensamiento humano. Por un lado combina la potencia de las redes neuronales como aproximadores universales mientras que por otro aprovecha la capacidad de la lógica difusa para interpretar instrucciones de tipo IF – THEN. Los modelos de redes neuronales difusas se dividen fundamentalmente en dos áreas en función de la característica que se quiera destacar, interpretabilidad o precisión. Para el objetivo de la predicción de series temporales se centrará en el campo de las redes difusas precisas donde el modelo más destacable es el TSK. La ventaja frente a otros modelos cabe destacar la posibilidad que tienen de intentar predecir el comportamiento psicológico de los agentes involucrados en la determinación del precio de la electricidad o de otros activos, por lo que pueden ser un modelo importante para el campo de aplicación de este proyecto. - 31 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Para más información sobre estos modelos de predicción aplicados a la predicción del precio de la electricidad se pueden consultar los trabajos realizados en [AMJA05], [HONG02], [RODR03] y en [NIIM00]. 2.3.5 Wavelet Networks Una Wavelet Network de nuevo es un tipo particular de perceptrón multicapa donde la función de activación es una wavelet u óndula como la de la figura 2-4. Estas redes incorporan las ventajas de la descomposición de señales usando wavelets con la capacidad de aproximación universal y generalización de las redes neuronales. Al igual que el análisis de señales mediante series de Fourier, intenta aproximar señales mediante la superposición de funciones simples. - 32 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Figura 2-4. Gráfica de una wavelet típica (el sombrero mexicano). Se emplean sobre todo para la eliminación de ruido y la detección de tendencias. Para una mayor introducción a los modelos basados en wavelets consultar [PIND07]. - 33 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Capítulo 3 REDES NEURONALES - 34 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Capítulo 3 REDES NEURONALES 3.1 INTRODUCCIÓN Las redes de neuronas artificiales son un tipo de máquina de procesamiento de la información basado en la interconexión de unidades simples llamadas neuronas o nodos. La neurona artificial recibe señales del exterior o de otras neuronas a través de sus conexiones de entrada. Estas conexiones tienen asociado un peso que es un parámetro que se puede modificar para dar una mayor o menor importancia a la señal que transmite, de la misma forma que hace un cerebro dando prioridad a unas conexiones frente a otras. Todas estas señales de entrada se procesan en la neurona de forma que son ponderadas cada una con su peso de conexión y posteriormente se suman. También se añade a esta suma un parámetro adicional que es el umbral y que no depende de ninguna entrada ya que es un parámetro interno de la red. Finalmente, a esta suma de variables ponderadas se les aplica una función de transferencia que puede ser lineal o no lineal: si la función de transferencia es lineal la red pierde gran parte de su capacidad de resolver problemas complejos, ya que se trataría simplemente de aplicar una regresión lineal a los datos; sin embargo, la aplicación de una - 35 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales función no lineal hace que este tipo de máquinas tengan una capacidad de generalización muy grande. Las máquinas de Von Neumann (computadoras tradicionales) tienen una unidad de procesamiento que realiza de forma secuencial todas sus operaciones. Estas máquinas están cada vez más especializadas en realizar una gran cantidad de operaciones sencillas una tras otra en muy poco tiempo, de tal forma que su nivel de procesamiento se mide como el número de operaciones que son capaces de hacer secuencialmente por unidad de tiempo. Por otro lado, una unidad de procesamiento basada en redes neuronales artificiales tan sólo puede realizar unas pocas operaciones diferentes y su capacidad de procesamiento no viene dado por el número de operaciones que pueden hacer, sino por el número de actualizaciones de sus conexiones por unidad de tiempo. La gran diferencia ente una máquina conexionista y una máquina tradicional es que las máquinas de Von Neumann producen una salida simplemente aplicando un algoritmo a las entradas que reciben, mientras que las redes neuronales artificiales de alguna forma “elaboran” la información que reciben llegando a una salida que depende de las características tanto estructurales como funcionales de la red en cuestión. Las máquinas tradicionales basan su potencia de cálculo en la capacidad de sus procesadores para realizar una gran cantidad de operaciones mientras que el poder de proceso de las redes neuronales artificiales viene de las conexiones siendo los procesadores muy simples. Por ello, una red - 36 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales neuronal es un sistema masivamente interconectado con más conexiones que unidades de procesamiento. 3.2 ESTRUCTURA DE LA RED Como ya se ha dicho, las redes neuronales artificiales están compuestas por unidades procesamiento simples llamadas neuronas. Estas unidades simples se interconectan entre sí para dar lugar a la red. Estas conexiones pueden ir tanto de una entrada a una neurona, como de una neurona a una salida, o de una neurona a otra neurona. A su vez, la red puede presentar bucles o realimentaciones donde la información se propaga a través de la red y vuelve a nodos iniciales como una entrada más. Sin embargo, la estructura más típica de una red neuronal es aquélla donde la información se propaga hacia delante sin realimentaciones con una arquitectura multicapa. Esta estructura se llama “feedforward” y consta básicamente de tres tipos de capas de neuronas como se ve en la figura 31. • Capa de entrada: es donde se copian los valores de las entradas y se introducen en la red para pasar la información a las siguientes capas a través de las conexiones entre ellas. En esta capa realmente no hay neuronas, sólo consta de unas unidades que proporcionan la información de las variables de entrada. - 37 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales • Capa de salida: donde se reúne toda la información elaborada por las neuronas precedentes y se envía a las salidas correspondientes de la red. Esta capa tendrá tantas neuronas como salidas deseadas. • Capas ocultas: son las capas que hay entre la de entrada y la de salida. En ellas reside el verdadero potencial de la red, ya que son las encargadas de establecer las relaciones entre las variables de entrada. Cuántas más capas ocultas tenga la red, mayor complejidad pueden tener estas relaciones. Sin embargo, esto es sólo cierto si se usan funciones de activación no lineales, ya que si sólo se usan funciones de activación lineales el número de capas ocultas es irrelevante ya que siempre habrá una red equivalente con una sola capa oculta. Pero cuantas más capas ocultas haya, más compleja será la red y por lo tanto más tiempo de computación requerirá. Además, si la estructura es demasiado compleja puede producirse un empobrecimiento de las predicciones. - 38 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Figura 3-1. Estructura de una red neuronal sencilla. La información viaja por las conexiones entre estas capas de neurona a neurona y se evalúa mediante los pesos correspondientes. Dichos pesos se ajustarán durante la fase de entrenamiento para conseguir una mayor adaptación al problema planteado. 3.2.1 Tipos de redes neuronales En la literatura existe una gran variedad de redes neuronales cada una con unas características particulares que las hacen más o menos apropiadas para determinados tipos de problemas. Existen cuatro modelos básicos de redes neuronales a partir de los cuales se desarrollan modelos más específicos: - 39 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales • Redes de propagación hacia delante (feedforward) • Redes recurrentes • Redes estocásticas • Redes modulares a) Redes de propagación hacia delante Es el tipo de red más sencillo y fue el primer modelo en diseñarse. En este tipo de redes la información se transmite a través de las conexiones entre neuronas desde la capa de entrada hasta la de salida “hacia delante” (sin bucles). Puede estar conformado por una capa oculta figura 3-2 (perceptrón simple) o por varias capas ocultas como en la (perceptrón multicapa). Según el teorema de aproximación universal de las redes neuronales [KROS96] cualquier función que tome un conjunto de números reales y devuelva otro conjunto de números reales se puede aproximar con una precisión arbitrariamente buena por un perceptrón multicapa con una sola capa oculta. Por ello, serán un tipo de red adecuado para la predicción de series temporales. - 40 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Figura 3-2. Red feedforward. Además del perceptrón multicapa también existen otros modelos de redes. La red ADALINE (Red lineal adaptativa) consiste en una red que adapta sus parámetros en función de las entradas más recientes utilizando una señal de polarización, un peso y una función de suma. La RBF (Red con función de base radial) es un tipo de interpolador multidimensional que usa funciones de base radial en cada neurona. Y por último los mapas de Kohonen que utilizan un método de aprendizaje no supervisado donde un conjunto de neuronas clasifican un conjunto de datos. b) Redes recurrentes En las redes recurrentes la información se transmite desde las neuronas de entrada a las de salida con bucles entre medias, como en la figura 3-3, donde la información se realimenta a neuronas anteriores. Esto implica - 41 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales que la salida que proporciona la red no sólo dependa de las variables actuales sino también del esto de la red en etapas anteriores. Existen una gran cantidad de redes recurrentes como pueden ser la red Elman, la Hopfield o la NARX. Figura 3-3. Red recurrente c) Redes estocásticas Las redes estocásticas introducen variaciones aleatorias en la red para tratar de sortear los mínimos locales que se pueda encontrar durante la fase de entrenamiento y tratar de converger de la forma más rápida posible. Se basa en los modelos termodinámicos donde la red se asimila a un cuerpo con una gran cantidad de partículas (neuronas) cada con una temperatura aleatoria (inestable) pero donde todo el cuerpo se mantiene en equilibrio intentando llegar al estado de mínima energía. Este tipo de - 42 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales procesos se les conoce como “Recocido simulado”. Al principio, cuando la temperatura es alta, la red es muy inestable y abarca gran parte del espacio de estados posibles. A medida que se va “enfriando” la red pierde movilidad y comienza a converger hacia un mínimo. Las redes estocásticas más conocidas son la máquina de Boltzmann y la máquina de Cauchy. Este tipo de redes se aplican fundamentalmente al reconocimiento de patrones, procesamiento del conocimiento y resolución de problemas de optimización. d) Redes modulares Las redes modulares se basan en la creación de pequeños conjuntos de redes compiten para resolver un problema. Ejemplos de este tipo de redes son el comité de máquinas o la asociación de redes neuronales. 3.3 MODELO MATEMÁTICO El esquema de funcionamiento de una red neuronal por capas sencilla con una sola capa oculta puede describirse matemáticamente mediante la ecuación: - 43 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 1 2 Ecuación. 3-1 Donde W1 y W2 son la matriz de pesos Figura 3-4. Red neuronal con dos matrices de pesos Si se tiene una función de transferencia F lineal la ecuación = se transforma en: 1 2 ! 1 2 ! " 2 Ecuación. 3-2 Como se puede ver en [VIÑU04] las dos matrices W1 y W2 se pueden sustituir por una matriz equivalente que representa una sola matriz de conexiones equivalentes como la de la figura 3-5. De esta forma, si se tienen solamente funciones de transferencia lineales, por muchas - 44 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales capas que tenga la red siempre se encontrará una red neuronal con una sola capa equivalente, y por tanto es irrelevante introducir más capas ocultas a la red. Por esta razón, el introducir funciones de activación lineales reduce la capacidad de la red neuronal, ya que será como tener una red de sólo una capa. Figura 3-5. Red neuronal con una matriz de pesos equivalente 3.4 ENTRENAMIENTO DE REDES NEURONALES Al contrario que las computadoras clásicas que debían ser programadas para que funcionaran de forma correcta, las máquinas de computación basadas en sistemas conexionistas aprenden a resolver los problemas que se les plantean. Este aprendizaje se produce durante la fase de - 45 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales entrenamiento de la red, cuando se le presentan una serie de ejemplos de un problema que tiene que resolver. Estos ejemplos se componen de un conjunto de datos de entrada que tienen algún tipo de relación con la respuesta deseada. A medida que se le presentan nuevos ejemplos, la red va ajustando los parámetros de sus conexiones (sus pesos) para intentar solucionar el problema de la mejor forma posible minimizando el error cometido. Una vez se ha alcanzado un nivel de entrenamiento adecuado se pasa a la siguiente fase que es la de validación. En esta fase los parámetros se mantienen fijos, pues la red ya ha quedado definida, y se le presentan una serie de nuevos casos a los que dará una solución que será tanto mejor cuánto más adecuado haya sido el entrenamiento. La capacidad de una red neuronal para resolver un determinado problema estará determinada fundamentalmente al tipo de ejemplos de que dispone durante la etapa de entrenamiento. Este conjunto de datos disponibles para el aprendizaje de la red debe presentar dos características fundamentales: • Ser representativo: debe ser un conjunto que represente bien todas las situaciones posibles del problema que se quiera estudiar. Si a la red se le presentan muchos más ejemplos de un tipo que de otros, la red se especializará y no generalizará bien. Todas las regiones del espacio posible de soluciones deben estar suficientemente bien representadas en el conjunto de datos de entrenamiento. - 46 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales • Ser significativo: debe haber una cantidad suficiente de ejemplos. Si se tienen pocos datos representativos del problema la red no ajustará adecuadamente sus parámetros y las soluciones dadas serán muy pobres. El objetivo del proceso de aprendizaje consiste en la optimización de los parámetros de la red para conseguir una solución con el menor error posible. Para ello, se introducen paulatinamente todos los ejemplos disponibles para el entrenamiento y se modifican los pesos de las conexiones siguiendo un esquema de entrenamiento determinado. La modificación de los pesos se puede realizar con la introducción de cada dato de entrenamiento o una vez que se han introducido todos dependiendo del esquema que se siga. Una vez introducidos todos los ejemplos se evalúa la adecuación de la red al problema concreto y se determina un criterio de convergencia. Si este criterio se cumple se detiene el proceso. Si todavía éste no se ha cumplido, se vuelve a introducir todos los ejemplos de entrenamiento de nuevo y se repite el proceso. Hay varios criterios de convergencia, pero lo más destacables y comúnmente utilizados son: • Número de ciclos de entrenamiento: se detiene el proceso de aprendizaje cuando se ha introducido todo el conjunto de datos de entrenamiento un número determinado de veces. - 47 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales • Nivel de error: cuando el error que produce la red respecto a los datos de entrenamiento alcanza un nivel mínimo, se detiene el aprendizaje. • Modificación de los pesos irrelevante: cuando se realiza un entrenamiento con una variación de los pesos que se reduce a medida que transcurre el proceso llegará un momento en que la modificación sea tan pequeña que la red ya no mejore sustancialmente el error cometido y por lo tanto se detiene el proceso. Finalmente existen tres tipos de esquemas de aprendizaje basados en los datos que dispone la red para el entrenamiento: • Aprendizaje supervisado: la red dispone durante el entrenamiento, además de las variables de entrada necesarias, algún tipo de información sobre la solución que se obtiene con ese conjunto de variables. En el caso de la predicción del precio de la electricidad se tendrían los valores de variables tales como la demanda, la potencia generada con energía eólica, etc. y el valor que tomó el precio con esos valores. El aprendizaje supervisado utilizará esta información para determinar el nivel de error que está cometiendo y modificar sus pesos consecuentemente. • Aprendizaje no supervisado: la red no dispone de ningún tipo de información sobre la solución que debería obtener y sólo dispone - 48 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales de las variables de entrada que necesita. De esta forma el aprendizaje consiste en la modificación de los pesos de la red basándose en la información interna que pueda obtener. La red tratará de encontrar características o rasgos significativos del conjunto de datos de entrenamiento. Por ello, a este tipo de redes se las conoce como sistemas autoorganizados. • Aprendizaje por refuerzo: es una variante del aprendizaje supervisado donde no se dispone de información del error cometido por la red pero sí se sabe si la salida obtenida es adecuada al patrón de entrenamiento o no. El proceso de modificar los pesos de la red tiene como objetivo que la salida producida por la red sea lo más parecida a la salida deseada. Sin embargo, esto no quiere decir que se desee que el sistema dé buenas salidas respecto al conjunto de aprendizaje, si no que lo haga respecto al problema real. Ya que a priori hay veces que no se sabe si el conjunto de entrenamiento es suficientemente representativo, si se realiza un aprendizaje donde la red se especializa en estos datos, cuando se le presenten situaciones desconocidas es posible que la red proporcione soluciones erróneas. Es decir, muchas veces un ajuste muy bueno del conjunto de entrenamiento proporciona malas predicciones sobre problemas nuevos. Entonces se dice que la red se ha sobreentrenado y no es capaz de generalizar. Este es un hecho de suma importancia para poder construir redes neuronales potentes y eficaces. - 49 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Una forma de poder evaluar si la red está proporcionando salidas adecuadas se consigue mediante la división del conjunto de datos disponibles para el aprendizaje en un conjunto de entrenamiento y otro de test. El conjunto de aprendizaje se utilizará como se ha venido explicando anteriormente, mientras que el conjunto de test servirá como una prueba sobre ejemplos que la red no ha visto durante el proceso de modificación de los pesos. De esta forma, si la red tiene un buen error sobre el conjunto de entrenamiento pero un error muy grande sobre el conjunto de test, querrá decir que se ha producido un sobreentrenamiento y la red se ha especializado. Si ambos errores están en unos márgenes adecuados se puede suponer que la red producirá buenas predicciones y está bien diseñada. Sin embargo, hay que tener presente que ambos conjuntos de datos deben ser independientes, representativos y significativos. 3.3.1 Funciones de entrenamiento A la hora de entrenar la red lo que se busca es un método que, a partir de un vector de parámetros iniciales y una serie de ejemplos, consiga encontrar el conjunto de parámetros óptimo que minimice el error de predicción. Estos métodos se denominan funciones de entrenamiento y hay una gran cantidad de ellos con distintas características y propiedades. Las características más importantes y que habrá que examinar a la hora de decantarse por una función de entrenamiento u otra son: capacidad de encontrar mínimos globales (no encasillarse en mínimos locales) y tiempo de ejecución. - 50 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales El problema de la mayoría de funciones de entrenamiento es que realizan una búsqueda demasiado local, es decir, se quedan atrapados fácilmente en mínimos locales en vez de buscar en todo el espacio soluciones un mínimo global. Este problema es difícil de resolver, ya que la tarea de buscar un mínimo global en todo el espacio de soluciones es prácticamente imposible, habría que probar infinitas combinaciones de parámetros. Sin embargo, sí se pueden obtener buenas soluciones en mínimos locales que si bien no pertenecen al mínimo global, son aceptables. El otro factor clave a la hora de elegir la función de entrenamiento es el tiempo de ejecución o tiempo que tarda el algoritmo en encontrar una solución aceptable. Como ya se ha dicho, existen multitud de funciones de entrenamiento para redes neuronales y cada una requiere un tiempo de ejecución distinto. En función del método que empleen para la búsqueda de un mínimo aceptable, este tiempo puede variar enormemente, pudiendo incluso hacer inviable el uso de dicha función de entrenamiento aunque la solución que aporte sea muy buena. En este apartado se describirán brevemente los principales algoritmos de entrenamiento que se utilizan en la práctica con sus ventajas e inconvenientes. El algoritmo de entrenamiento es el encargado de modificar y optimizar todos los parámetros de la red. En este proyecto se utilizará el aprendizaje supervisado por el cual a la red se le presenta durante la fase de entrenamiento una serie de variables de entrada y las salidas esperadas con dichos datos. Midiendo la diferencia entre lo que la - 51 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales red debería obtener y lo que realmente ha obtenido, se tiene una medida del cambio que hay que hacer en los parámetros de la red. Así que para cada patrón de datos de entrada hace falta un patrón de salida deseado. Ya que el proceso de aprendizaje tiene como objetivo que la diferencia entre la salida obtenida y la deseada sea lo más pequeña posible, el algoritmo de aprendizaje tiene que resolver un problema de minimización: #$%& ' Ecuación. 3-3 Donde W es el conjunto de parámetros de la red y E es una función que evalúa el error cometido en la predicción de las salidas. En muchas ocasiones la función error se define de la siguiente forma: 1 ' ) *% ( + ,- Ecuación. 3-4 Con N representando el número de patrones y e(n) el error en la predicción del patrón n dado como: 1 *% )./ % / % 2 ,0 /- Ecuación. 3-5 - 52 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Donde Y(n)=(y1(n), … , ync(n)) y S(n)=(s1(n), … , snc(n)) son los vectores de salidas obtenidas y deseadas respectivamente para el patrón n. Así si W* es un conjunto de parámetros de la red que proporciona un mínimo de la función error E, si en dicho punto el error es próximo a cero, la salida obtenida es parecida a la deseada y se ha alcanzado el objetivo del aprendizaje. El aprendizaje es por lo tanto equivalente a encontrar un mínimo de la función error. Sin embargo, como las funciones de transferencia de las neuronas suelen ser no lineales, la relación entre los parámetros de la red y la salida obtenida será también no lineal y el proceso de aprendizaje se transforma en una optimización no lineal que requiere de técnicas especiales para su resolución. En general estas técnicas están basadas en la modificación de los parámetros de la red siguiendo una dirección de búsqueda, que normalmente es la dirección negativa del gradiente de la función error E. Esta técnica se denomina “método de descenso del gradiente”. Sin embargo, hay otros tipos de técnicas basadas por ejemplo en una búsqueda aleatoria o una búsqueda basada en técnicas evolutivas (como se verá en el Capítulo 4 de este documento). En los métodos de descenso del gradiente para minimizar el error se calcula el sentido de la máxima variación de la función error (el gradiente de E) y se toma la dirección negativa. En función del valor del gradiente se variarán los parámetros de la red. Aunque en teoría el aprendizaje de la red se debe realizar para minimizar el error total cometido, lo más - 53 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales habitual es aplicar técnicas de descenso del gradiente estocástico, que consisten en una minimización sucesiva de los errores para cada patrón, e(n), en lugar de minimizar el error total dado por E. En este tipo de técnicas cada parámetro wi de la red se modifica para cada patrón n de la siguiente forma: 1/ % 1/ % 1 2 Ecuación. 3-6 34, 3&5 Donde α es la razón de aprendizaje que determina la magnitud del desplazamiento sobre la superficie de error, para un α pequeño la modificación de los parámetros será pequeña mientras que para un α grande la modificación será mayor. Hay algoritmos de aprendizaje donde α es constante y otros donde se varía a lo largo del entrenamiento. En los primeros se debe llegar a un equilibrio con el valor de α ya que si es pequeño la red tarda mucho tiempo en converger y el aprendizaje sería muy lento, mientras que si el parámetro de aprendizaje es grande el entrenamiento puede ser inestable ya que los saltos en la superficie de error serán demasiado grandes. En los algoritmos donde el parámetro α es variable si se detecta que el error cometido es grande (se encuentra lejos de un mínimo) se aumenta el valor de α, pero a medida que se acerca a un mínimo y el error es cada vez menor, se reduce α para intentar llegar al mínimo sin sobrepasarlo. De esta forma se intenta optimizar el parámetro de aprendizaje en cada momento para conjuntar rapidez con precisión. - 54 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales El programa MATLAB tiene incorporadas una serie de funciones de entrenamiento que serán las que se utilicen en este proyecto para entrenar las redes. A continuación se explicarán brevemente las más importantes y que se estudiarán a la hora de realizar el modelo para predecir el precio de la electricidad. • Traingd y traingda: son dos algoritmos de entrenamiento muy básicos que siguen el proceso descrito anteriormente. Traingd utiliza un parámetro de aprendizaje α fijo para determinar la variación de los parámetros de la red mientras que traingda permite su variación a lo largo del entrenamiento. • Traingdm y traingdx: son dos funciones de entrenamiento como las anteriores pero además añade un parámetro nuevo que es el momento µ. Este parámetro representa una especie de inercia que permite que el entrenamiento no se quede encasillado en mínimos locales. Traingdm mantiene el parámetro de aprendizaje α constante mientras que traingdx lo varía a lo largo del entrenamiento. El algoritmo de entrenamiento se modifica de la siguiente forma: 1/ % μ 1/ % 1 1 μ 2 Ecuación. 3-7 • 8*% 81/ Trainrp: esta función de entrenamiento trata de resolver el problema de utilizar funciones de transferencia de tipo sigmoidales. Estas - 55 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales funciones reciben un rango de valores infinito y devuelven un rango finito (entre -1 y 1). De esta forma, para valores de entrada muy grandes o muy pequeños la pendiente de la función es muy pequeña por lo que la variación de los parámetros de la red sería también pequeña aunque se estuviera muy alejado de un mínimo. Para solucionarlo, en lugar de variar los parámetros en función de la derivada parcial de la función error, se toma una variación fija que depende tan sólo del signo de la derivada parcial. Si el signo de la derivada parcial se mantiene durante varias iteraciones se incrementa la magnitud de variación del parámetro. • Traincgp y traincgb: estas funciones de entrenamiento se basan en el descenso del gradiente conjugado. Este método intenta conseguir una convergencia más rápida al no limitar la búsqueda a la dirección del gradiente, sino que realiza una búsqueda en la dirección conjugada, permitiendo que no se estanque tan fácilmente en mínimos locales. La diferencia entre los tres métodos consiste en la forma que tiene de determinar la variación de los parámetros. • Trainbfg: es un método cuasi-newtoniano. Estos métodos suponen una alternativa a los de gradiente conjugado con una convergencia más rápida. Los algoritmos newtonianos se basan en la variación de los parámetros según la siguiente ecuación: 9:; 9: <:= >: Ecuación. 3-8 - 56 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Donde <:= es la matriz Hessiana inversa de la función error para los valores actuales de los parámetros. Esto permite que el algoritmo converja muy rápido pero que suponga un coste computacional elevado. Para intentar minimizar este coste computacional los algoritmos cuasi-newtonianos no calculan la matriz Hessiana sino que se basan en una función del gradiente. • Trainlm: es el método de Levenberg-Marquardt y de nuevo es un método cuasi-newtoniano y uno de los más utilizados ya que consigue en poco tiempo llegar a errores pequeños. En este algoritmo se aproxima la matriz Hessiana a partir del Jacobiano de la siguiente forma: la siguiente ecuación: < ? @A @ Ecuación. 3-9 El cálculo de J es mucho más sencillo que el de H por lo que se reduce el gasto computacional respecto a otros métodos. La ecuación en la que se basa este método es la siguiente: 9:; 9: @A @ B C= @ * Ecuación. 3-10 Donde µ es un parámetro que da mayor importancia al método cuasi-newtoniano o al método de descenso del gradiente, por lo que - 57 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales este método permite combinar las propiedades de ambos tipos de métodos. En el Capítulo 5 se estudiarán, sobre el caso práctico de predicción del precio de la electricidad en el mercado eléctrico español, qué función es más adecuada y presenta mayores ventajas sobre el resto en términos de mejor error y menor tiempo de ejecución. 3.3.4 Reinicialización de los pesos Cuando se realiza el entrenamiento de una red neuronal, inicialmente se tienen unos pesos con unos valores concretos. Una vez se inicia el entrenamiento, el algoritmo modifica los valores de los pesos en busca de una solución aceptable. Cuando encuentra una región del espacio con un mínimo donde el error es bueno, la función de entrenamiento modifica los pesos en esa región hasta encontrar dicho mínimo. Sin embargo, puede que haya otra región más alejada del espacio con un mínimo mejor que el encontrado, pero debido al carácter local de los algoritmos de entrenamiento esta solución no se obtiene. La superficie de error puede ser muy complicada como se ve en la figura 3-6. - 58 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Figura 3-6. Superficie de error en función de dos pesos Para intentar mitigar el efecto de esta búsqueda local, se inicializa los pesos de la red con valores aleatorios, se entrena para obtener una solución y se guarda junto con los pesos optimizados. Entonces, se vuelve a inicializar los pesos de la red con unos nuevos valores aleatorios y se vuelve a entrenar encontrado otra solución. Este proceso se realiza varias veces y finalmente se toma el conjunto de pesos que menor error ha proporcionado. Aunque no sea un método muy sofisticado es una buena forma de intentar conseguir una búsqueda más global y mejorar así las predicciones realizadas. Sin embargo, si la función de entrenamiento empleada requiere un tiempo de ejecución grande y la mejora al realizar varias inicializaciones de los pesos es pequeña, puede que no merezca la pena emplear este método y una búsqueda más local sea suficiente. - 59 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 3.5 ANÁLISIS DE LAS VARIABLES SIGNIFICATIVAS Las variables significativas son aquellas que definen la variable de salida del modelo. Sin embargo, a la hora de determinar el precio de la electricidad hay muchas variables que intervienen y muchas de ellas tienen una influencia no lineal que es difícil de captar por los modelos tradicionales. Precisamente una de las propiedades de las redes neuronales es su capacidad para captar estas relaciones complicadas entre variables. Sin embargo es posible, sobre todo en problemas de predicción tan complejos como este, que se tomen como variables significativas aquellas que realmente no lo son o que influyen muy poco. El análisis de las variables significativas es sumamente importante a la hora de realizar predicciones con una red neuronal, ya que cuantas menos variables se introduzcan en el modelo mayor capacidad de generalización tendrá, ya que cuantas más variables se tengan mayor es la probabilidad de que la red memorice los ejemplos en vez de captar las relaciones fundamentales. Además, cuánto más sencillo sea el modelo menos tiempo tardará la ejecución. Sin embargo, debe haber el número de variables representativas suficiente. - 60 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Existen varios métodos de determinación de las variables significativas. En principio, se puede suponer que algunas variables son significativas, como es el valor de la demanda en la determinación del precio de la electricidad. Aún así, es posible que varias variables den la misma información y por tanto, a pesar de ser todas significativas, sólo una sea necesaria. Por ello hace falta un estudio más riguroso para poder tomar una decisión adecuada basada en datos concretos. Uno de los métodos más usuales para determinar las variables importantes en un modelo son los procedimientos basados en el cálculo de las sensibilidades [SZKU99], [MUÑO95]. El método se basa en modificar una variable manteniendo el resto constantes y ver qué efecto tiene dicha modificación en el resultado del modelo. Si la salida del modelo varía sensiblemente, dicha variable es importante; si la salida no varía o varía levemente, es probable que esa variable no tenga influencia en la determinación de la salida. Sin embargo, este método tiene muchas limitaciones. Para empezar, se está suponiendo que las variables explicativas son todas independientes entre sí, ya que no se tiene en cuenta la posible interacción entre ellas. Esto es falso en la gran mayoría de los problemas y más aún en la predicción del precio de la electricidad. Además, este ensayo se realiza sobre el modelo y no sobre el proceso real, por lo que los fallos en el modelo falsearán los resultados del análisis. - 61 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Por ejemplo, si el modelo no tiene suficientes neuronas para poder captar las relaciones de todas las variables, es posible que este estudio muestre como poco influyentes variables que en realidad son muy significativas. Y aunque el modelo estuviera bien dimensionado, este análisis está especializado en modelos lineales. Cuando se tienen relaciones no lineales, no vale con realizar una simple variación de la variable en estudio, ya que para pequeños incrementos puede mostrar una influencia pequeña mientras que para incrementos mayores puede presentar una importancia muy grande. Además, hace falta definir qué es lo que se considera una influencia grande y una pequeña para poder marcar un límite dónde por un lado se elimina la variable y por otro no. A menos que las sensibilidades de algunas variables sean claramente inferiores al resto, es muy subjetivo determinar las variables influyentes y el método puede dar resultados erróneos. Aún así, y a pesar de sus limitaciones, este método puede dar una idea de cuáles son las variables más influyentes y permitir así un estudio aproximado del proceso. Cuando no se tiene la posibilidad de aplicar métodos más sofisticados este puede ser un buen método si se tienen en mente sus limitaciones y se toman sus resultados con cautela. A la hora de aplicar el método, lo primero que hay que hacer es calcular las sensibilidades. Para ello, se toma una red neuronal con un número adecuado de neuronas y de capas, a la que se le introducen todas las variables explicativas que se quieran estudiar. Se realiza una predicción con estas variables y se guarda la salida obtenida. A continuación, se toma - 62 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales la variable de la que se quiere estudiar su sensibilidad, se incrementa su valor en un pequeño porcentaje manteniendo el resto de variables constantes y se realiza una nueva predicción. La sensibilidad de esa variable será la variación relativa de la salida frente al incremento de la variable de entrada. Si el modelo fuese lineal, para cualquier valor de la variable se obtendría la misma sensibilidad, que sería la pendiente de la recta que relaciona la salida en función de dicha variable. Como la red neuronal es no lineal, esta sensibilidad no es constante y depende del valor de la variable de entrada. Si se repite este proceso para todos los ejemplos disponibles se obtiene un vector de distintas sensibilidades en función del valor de la variable de estudio en cada uno de los ejemplos presentados. Si además se realiza este estudio para todas las variables se obtiene una matriz de sensibilidades donde cada fila representa un ejemplo y cada columna una variable de entrada. La forma de determinar la importancia de una variable es realizar un análisis de la distribución estadística de las sensibilidades. Aquellas variables que tengan una distribución de sensibilidades centrada en el origen y de varianza pequeña serán las que no son relevantes. Las variables con media no nula y/o varianza grande, serán variables significativas. Para el estudio estadístico de las sensibilidades se usarán tres herramientas como se explica en [MUÑO96]: a) Histogramas de sensibilidades - 63 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Son los que más información dan de las tres herramientas presentadas. En ellos se puede observar la distribución estadística de las sensibilidades con bastante detalle. Aquellos histogramas que sean estrechos y centrados en el origen, indicarán que esa variable no es especialmente significativa. b) Gráficos (media, desviación típica) Cada variable se representará como un punto en el gráfico. Cuánto más alejadas estén del origen de coordenadas, mayor relevancia tendrán. En este tipo de gráfico se pierde información ya que de cada variable sólo se saben dos datos, sin embargo, es más fácil de interpretar y tomar una decisión. c) Centiles del 95% normalizado del valor absoluto de las sensibilidades Se toma el valor absoluto de la matriz de sensibilidades filtrada y se calcula el centil del 95% de cada columna, normalizándolas respecto al máximo. Con este método se pretende eliminar aquellas variables que en el 95% de las ocasiones den sensibilidades muy pequeñas y que por lo tanto se pueden despreciar. Además de las técnicas basadas en el análisis de sensibilidades, existen otras técnicas capaces de determinar las variables significativas. Como se verá en apartados posteriores se pueden usar algoritmos genéticos tanto - 64 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales para entrenar la red neuronal, como para definir su topología o sus variables significativas. Además, también están los algoritmos de poda que son una técnica más avanzada de determinación de las conexiones (y por tanto también de las variables) significativas. 3.6 ALGORITMOS DE PODA Algunos autores utilizan los algoritmos de poda para intentar simplificar los modelos de redes neuronales. Una red neuronal típica está compuesta por una serie de elementos en la capa de entrada, una o más capas ocultas con sus neuronas correspondientes, una capa de neuronas de salida y todos ellos interconectados. Sin embargo, en muchas ocasiones puede que algunas conexiones no sean importantes y sea conveniente eliminarlas para así aumentar la capacidad de generalización de la red. Cuánto más compleja sea una red, y por tanto mayor cantidad de conexiones tenga, mayor coste computacional supondrá tanto para su evaluación como para su entrenamiento. Además, si existen conexiones innecesarias sucederá que la información que transmiten éstas influirá negativamente en el resultado global obtenido por la red. De esta forma, la poda de una red neuronal también puede ser un método para determinar las variables significativas de una red. Sin embargo, estos métodos pueden - 65 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales ser más competitivos que los basados en cálculo de sensibilidades, ya que además de poder eliminar variables completas permite eliminar la influencia de una variable en determinadas zonas de la red sin eliminar su información por completo. Esto permite una mayor flexibilidad y aumenta el potencial de la red. Figura 3-7. Red neuronal antes y después de aplicar un algoritmo de poda En la figura 3-7 se observa un ejemplo de una red neuronal antes y después de podarla. Cuando una poda conlleva a la eliminación de todas las conexiones salientes de una neurona de entrada, la variable asociada a dicha neurona no es significativa y el algoritmo de poda la elimina. Sin embargo, la poda en general se podría ver como una determinación más avanzada y selectiva de las variables significativas, ya que puede determinar qué variables son significativas en todos los puntos de la red y no eliminar todas las conexiones de una variable como hacen los demás métodos. - 66 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Para eliminar conexiones existen varios métodos, aunque los más importantes son el Optimal Brain Damage (OBD) y el Optimal Brain Surgeon (OBS). Ambos métodos se basan en el mismo principio y fueron desarrollados, entre otros autores, por Yann LeCun [LECU90]. Se trata de calcular la aportación de cada peso individual de cada una de las conexiones al error de predicción. Esta aportación se mide mediante lo que se denominará “relevancia”, o más común en inglés “saliency”. Si la relevancia de un determinado peso tiene un valor determinado, la conexión asociada se eliminará y se volverá a entrenar la red. Las relevancias se calculan a partir de la segunda derivada del error, por lo que hace falta calcular el Hessiano del error. La principal diferencia entre los métodos OBD y OBS es la forma de calcular estas relevancias. Si se efectúa un desarrollo de la función error en función de los parámetros de la red mediante una aproximación con la serie de Taylor se obtiene: 1 8' A 8' D E 81 81 A < 81 FG81GH 2 81 Ecuación. 3-11 Y el objetivo es determinar qué conjunto de parámetros al igualarse a cero minimizan el error, es decir: *IA 81I 1I 0 Ecuación. 3-12 - 67 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Donde *I es el vector unidad del espacio de parámetros correspondientes al parámetro 1I . El objetivo de la poda, por tanto, es resolver la siguiente ecuación: 1 K$%I Lmin P81 D 81 A < 81EQ|*IA 81I 1I 0S 2 Ecuación. 3-13 A continuación se obtiene el Lagrangiano: T 1 81 A < 81 U *IA 81I 1I 2 Ecuación. 3-14 Siendo λ el multiplicador de Lagrange. Para calcular la modificación óptima del parámetro y el error resultante se tiene: 81 1I < = /< = II *I Ecuación. 3-15 TI 1 1 /< = II 2 I Ecuación. 3-16 Donde TI es la “relevancia” del parámetro p y es una medida de cuánto contribuye a minimizar el error. - 68 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 3.5.1 Optimal Brain Damage (OBD) Este método es el más sencillo de los dos pero el que peores resultados obtiene. Esto se debe a que para el cálculo de las relevancias supone que el Hessiano es diagonal, por lo que el problema se simplifica enormemente y por consiguiente el tiempo de ejecución es mucho menor. Sin embargo, esta aproximación conlleva un error que hace que este método no sea el más sofisticado. El inconveniente principal de este método es que se pueden eliminar conexiones que realmente son importantes. Además, en este método una vez se elimina una conexión es necesario reentrenar la red para realizar las modificaciones necesarias sobre el resto de los pesos para adaptarse a la nueva situación sin esa conexión. En el OBS este paso no es necesario, ya que se puede determinar en el mismo proceso qué conexiones eliminar y que variación han de sufrir el resto de pesos. 3.5.2 Optimal Brain Surgeon (OBS) Este es el método más complejo pero el que mejores resultados obtiene. Para el cálculo de las relevancias utiliza el Hessiano completo, por lo que el tiempo de ejecución se incrementa enormemente y el problema es más complejo. Como la potencia de cálculo disponible para este proyecto no es - 69 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales suficientemente grande, se obviará la implementación de este algoritmo, aunque para futuros desarrollos sería una opción interesante. - 70 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Capítulo 4 ALGORITMOS GENÉTICOS - 71 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Capítulo 4 ALGORITMOS GENÉTICOS 4.1 INTRODUCCIÓN Los algoritmos genéticos (AG) son unos métodos adaptativos que pueden utilizarse para resolver problemas de búsqueda y optimización. Están basados en el proceso de evolución de los seres vivos mediante la reproducción sexual y la supervivencia del mejor adaptado que les permite adaptarse mejor al medio donde viven. Según Darwin [DARW59], los más fuertes son los que sobreviven, es decir, los que tengan un mejor contenido genético. Este contenido genético se va pasando de generación en generación mediante la reproducción de los individuos. Si un individuo tiene una genética superior al resto, se adaptará mejor al medio y tendrá más oportunidades de reproducirse, por lo que al final sus genes se generalizarán rápidamente en la población. De una forma más concreta y observando la definición propuesta por David E. Goldberg “los algoritmos genéticos son algoritmos de búsqueda basados en la mecánica de selección natural y de la genética natural. Combinan la supervivencia del más apto entre estructuras de secuencias con un intercambio de información estructurado, aunque aleatorizado, para constituir así un algoritmo - 72 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales de búsqueda que tenga algo de las genialidades de las búsquedas humanas” [GOLD89]. El método de resolución de problemas basado en algoritmos genéticos, toma una serie de características del problema a resolver codificándolas como genes. Se generan aleatoriamente una serie de individuos con dichos genes que supondrán el conjunto inicial de soluciones propuestas y se establecen unas reglas de reproducción y de mutación entre los individuos. Cada individuo representa una solución posible del problema cuantificándose su validez como solución al problema, es decir, la adaptación de ese individuo a la solución real, el valor de bondad, fitness o ajuste. Para ello existirá una función que mida dicha adaptación. Cuanto mayor sea la adaptación, más probabilidades tendrá de reproducirse. De esta forma, con el paso de las generaciones y si el algoritmo está bien diseñado, se conseguirá una buena solución al problema con un espacio de búsqueda muy amplio. El algoritmo genético tenderá a evolucionar de tal forma que la media de adaptación de los individuos crezca, así como la adaptación del mejor individuo de la población. Este hecho se observa en la figura 4-1. - 73 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Figura 4-1. Evolución de un algoritmo genético. El desarrollo de los algoritmos genéticos comenzó gracias a John Holland quien a finales de los años 60 desarrolló una técnica que simulaba el funcionamiento de la selección natural [HOLL75]. Los fundamentos de las Estrategias de Evolución fueron desarrollados por Rechemberg en 1973 [RECH73]. Las dos estrategias más empleadas hoy en día son la (µ,λ)-ES y la (µ+λ)-ES. En la primera de ellas un conjunto µ de padres generan un conjunto λ de hijos que los remplazan en la siguiente generación aunque alguno de ellos sea peor (tenga un ajuste peor) que alguno de los padres. Sin embargo, en la estrategia (µ+λ)-ES el conjunto µ de padres genera un conjunto λ de hijos y en la siguiente generación se toman los µ mejores individuos entre padres e hijos, por lo que a las generaciones siguientes sólo pasan los mejores individuos. Para representar una solución potencial a un problema basta con presentar unos valores a una serie de parámetros. En la terminología de los algoritmos genéticos a estos parámetros se les denomina genes y el - 74 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales conjunto de todos ellos se codifica en una cadena de valores que se denomina cromosoma. Una cadena de valores particular dada por un cromosoma concreto es lo que se denomina el genotipo del individuo. Este genotipo contiene la información necesaria para construir al individuo que proporcionará una solución real al problema que se denomina a su vez fenotipo. Desde los comienzos de la Computación Genética se suele codificar los genes mediante números binarios. De esta forma se asigna un número de bits a cada gen (es decir, a cada parámetro) realizándose una discretización de la variable que representa dicho gen. Cuántos más bits tenga un gen se podrá realizar un ajuste más fino de su valor. Cada uno de estos bits que definen un gen se denomina alelo. Sin embargo, estos parámetros también se pueden codificar con un valor entero, real o en punto flotante. Esta forma de codificación permite el desarrollo de operadores genéticos más específicos para el campo de aplicación concreto del algoritmo genético. En los algoritmos genéticos existen una serie de procesos básicos como la reproducción o la selección que siempre tienen que existir para que el algoritmo cumpla su función. Estos procesos básicos fueron descritos por primera vez por Holland. De esta forma, en un algoritmo genético estándar cada generación se obtiene de otra generación anterior mediante los operadores de reproducción. Básicamente existen dos tipos de operadores que son los más usados: - 75 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales • Operador de cruce: representa una reproducción de tipo sexual donde un individuo de la generación siguiente se obtiene a partir de dos o más individuos de la generación anterior. Para ello, se toman varios genes de cada padre hasta obtener un cromosoma completo que define al hijo como una mezcla de los genes de sus padres. • Operador de copia: representa una reproducción de tipo asexual donde un conjunto de individuos pasa a la generación siguiente sin sufrir ninguna variación. Este operador se suele emplear para que el mejor individuo de una generación siga presente en la siguiente y que su contenido genético no se pierda, lo cual suele acelerar el proceso de convergencia hacia una solución aceptable. Además, existen varios tipos de operadores de cruce en función de cómo los individuos progenitores son recombinados para producir descendencia. El fundamento básico del operador de cruce se basa en que si se toman dos individuos bien adaptados y se obtiene descendencia que comparte genes con ellos es posible que los genes que se han heredado sean precisamente los que causan la bondad de los padres. Así, al compartir características buenas de dos individuos distintos, la descendencia puede llegar a tener un ajuste mejor que cada uno de los padres por separado. Existen varios tipos de operadores de cruce: - 76 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales • Cruce por puntos: este método consiste en colocar los genes de los padres en una cadena y cortarlos por uno o varios puntos como se ve en la figura 4-2. De esta forma, si se toma un sólo punto, las cadenas de los padres quedarán divididas en dos y el hijo heredará la parte de la izquierda de un padre y la de la derecha de otro. Normalmente el cruce por dos puntos es mejor que por un punto, pero a medida que se incrementan los puntos de corte el algoritmo puede ir perdiendo eficacia. Figura 4-2. Reproducción en un algoritmo genético. • Cruce uniforme: en esta ocasión lo que se realiza es una elección aleatoria de los alelos de cada padre que se heredarán al hijo. De esta forma se genera un número aleatorio binario por cada alelo. Si se obtiene un 1 el hijo heredará ese alelo de uno de los padres y si es un 0 lo heredará del otro. De este modo, por término medio cada hijo heredará un 50% de los alelos de cada padre. • Cruces para codificaciones no binarias: estos métodos están diseñados específicamente para las codificaciones de genes con números enteros, reales o de punto flotante: - 77 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales o Media: el gen del hijo se obtiene como la media de los genes de los padres. El inconveniente es que sólo se obtiene un descendiente. o Media geométrica: el gen del hijo se obtiene como la raíz cuadrada del producto de los genes paternos. o Extensión: se calcula la diferencia entre los genes de los padres y se le añade al valor más alto o se le resta. De esta forma se pueden obtener dos descendientes. Sin embargo, antes de aplicar un operador de cruce es necesario determinar qué individuos se van a reproducir. Para ello se hace necesaria la utilización de un operador de selección. Estos operadores se basan de nuevo en lo observado en la naturaleza, por lo que se intenta otorgar una mayor probabilidad de reproducción a los individuos más aptos. De esta forma, la selección de un individuo vendrá determinada por el valor de su ajuste. Aún así, no se deben descartar los individuos menos aptos ya que proporcionan diversidad a la población y puede que de la reproducción de dos individuos no aptos surja uno con una adaptación mucho mejor. Así, el método más común consiste en elegir un padre aleatoriamente y el otro mediante uno de los siguientes procesos: • Selección de Montecarlo: es probablemente el método más usado desde que fue propuesto por DeJong. Se basa en asignar a cada individuo una porción de una ruleta tanto mayor cuanto mejor sea - 78 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales su ajuste. De esta forma, los mejores individuos tendrán una porción grande de la ruleta y los peores una pequeña. El inicio de la ruleta se marca con un 0 y el final con un 1. A continuación se genera un número aleatorio en el intervalo [0,1] y se escoge al individuo que esté en la porción de ruleta que contenga a ese número. Así, se garantiza que los individuos mejor adaptados tienen una mayor probabilidad de reproducirse aunque no se descarta a los peores individuos. • Selección por torneo: en ella se toma al azar un número p de individuos que participarán en el torneo. Si se hace un torneo determinístico, se escogerá al mejor individuo del grupo. Si por el contrario se realiza un torneo probabilístico se tomará un número aleatorio en el intervalo [0,1] y si es mayor que un parámetro α (fijado para todo el proceso) se escoge al mejor individuo, en caso contrario al peor individuo. Modificando el número p de individuos que participan en el torneo se pueden modificar las características de búsqueda del algoritmo. Así, un torneo con muchos individuos dará pocas oportunidades a los peores y la búsqueda se realizará en el entorno próximo de las mejores soluciones actuales. Mientras que si el torneo consta de pocos individuos los peores tendrán más oportunidades de reproducirse y la búsqueda se amplía a nuevas regiones del espacio. Existen más algoritmos de selección que buscan mejorar la eficiencia computacional, variar el número de veces que los mejores o peores - 79 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales pueden ser seleccionados, etc. Algunos de estos algoritmos son selección por jerarquías, escalamiento sigma, estado uniforme, sobrante estocástico, muestreo determinístico, brecha generacional, etc. Además, se suele incluir un proceso de mutación sobre los nuevos individuos. Este proceso se realiza mediante una modificación aleatoria de uno o varios genes del individuo con una probabilidad en general muy pequeña (entre el 0.5% y el 5%). Así, cada cierto tiempo un individuo sufre una modificación que hace aparecer un nuevo gen que no estaba disponible en generaciones anteriores. Para obtener el nuevo gen mutado se puede cambiar un 0 por un 1 y viceversa si se trata de codificación binaria como en la figura 4-3, o incrementarlo o decrementarlo levemente si se trata de una codificación no binaria. Figura 4-3. Mutación en un algoritmo genético con codificación binaria. Este proceso favorece una búsqueda más global en el espacio de soluciones ya que aporta diversidad al contenido genético de la población, que en un principio parte de un número finito de genes pertenecientes a los individuos de la primera generación. El parámetro que define la probabilidad de que un individuo sufra una mutación tiene que ser - 80 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales elegido cuidadosamente ya que una probabilidad muy alta hace que el algoritmo sea inestable, mientras que una probabilidad muy baja hace que la convergencia del algoritmo sea más difícil y por tanto pierda efectividad. Finalmente, el algoritmo se detiene mediante algún criterio de parada fijado. Los más comunes suelen ser: • El mejor individuo de la población proporciona una solución suficientemente buena para el problema planteado. • La población ha convergido y, por lo tanto, la media de adaptación de la población es muy cercana a la adaptación del mejor individuo. La reproducción de los individuos en general no proporcionará mejores soluciones y tan sólo puede haber cambios en la adaptación mediante la mutación de algún gen. • Se ha alcanzado un número de generaciones determinado. El poder de los algoritmos genéticos es que se pueden aplicar a una gran variedad de problemas donde otros métodos tradicionales pueden dar soluciones no satisfactorias. Y si bien no se garantiza que se encuentre la solución óptima, sí se ha demostrado empíricamente que se obtienen soluciones muy aceptables en un tiempo de computación razonable. - 81 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 4.2 AG COMO FUNCIÓN DE ENTRENAMIENTO Una característica muy apreciada de una función de entrenamiento es que la búsqueda de mínimos en el espacio del error sea lo más global posible. Los algoritmos genéticos tienen la propiedad de proporcionar una búsqueda más global que los algoritmos de búsqueda tradicionales, por lo que son una opción muy interesante a la hora de entrenar redes neuronales. Debido a que los algoritmos de entrenamiento tradicionales se basan en el descenso del gradiente, tienen una mayor facilidad para encasillarse en mínimos locales. Existen varios métodos y variantes para intentar minimizar este hecho pero no llegan a producir una auténtica búsqueda global. En [RIVE07] puede verse un ejemplo de aplicación de computación evolutiva al desarrollo y simplificación de redes neuronales. En un problema de optimización como puede ser el de entrenamiento de una red neuronal donde se buscan los parámetros óptimos de la red que alcancen el mínimo error de predicción posible, es muy importante que se realice una búsqueda en una amplia región del espacio. Ya que los algoritmos genéticos tienen una característica de mutación de los individuos que les posibilita “saltar” a otras regiones del espacio de soluciones la búsqueda realizada por estos métodos es mucho más global. Si se realiza un buen diseño del algoritmo donde la probabilidad de - 82 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales mutación sea relativamente alta, se puede alcanzar un equilibrio entre búsqueda de una solución en una región concreta y exploración en todo el espacio de soluciones posibles. Sin embargo, el tiempo de ejecución es el punto débil de estos métodos. En problemas sencillos puede que el algoritmo converja en un tiempo razonable, pero si el problema ya tiene una entidad mucho mayor no sólo se requerirán más ciclos para encontrar una solución aceptable, sino que cada ciclo requerirá un coste computacional mucho mayor. Dado que el entrenamiento de una red relativamente compleja supone un problema de optimización no lineal con una gran cantidad de parámetros (número de neuronas, conexiones, pesos, umbrales, etc.) puede llegar a ser una tarea inabordable o que conlleve un tiempo excesivo. En este proyecto se evaluará la posibilidad de utilizar un algoritmo genético para sustituir a las funciones de entrenamiento habituales. Se comprobará si la solución encontrada es suficientemente buena y si el tiempo de ejecución es razonable. Para realizar una optimización de los pesos de la red mediante algoritmos genéticos hay que decidir en primer lugar cómo se codificarán los genes del algoritmo. Si se usa una codificación binaria cada peso tendrá que ser representado por una serie de bits. Debido al amplio rango de valores que pueden adquirir los pesos, a la cantidad de pesos que existen en una red y a la precisión requerida, serían necesarios una gran cantidad de bits que complicarían mucho el algoritmo y lo harían ineficiente. Sin embargo, si se - 83 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales realiza una codificación no binaria el proceso se simplificaría y se necesitaría un menor número de parámetros. Por todo ello, en este proyecto se recurrirá a una codificación de los pesos de forma no binaria. Así, cada peso estará codificado mediante un número real. Al comienzo del proceso de optimización se generarán números aleatorios para definir los valores iniciales de los pesos. Estos valores iniciales deben estar limitados cuidadosamente a un determinado rango para que no sean valores excesivamente grandes o pequeños o que produzcan una respuesta errónea de la red que vuelva al algoritmo inestable. Por ello habrá que determinar qué rango de valores es el adecuado para este proceso. El tipo de reproducción que se usará combinará la reproducción sexual que proporcionan los operadores de cruce con la reproducción asexual del operador de copia. De esta forma, se buscará mantener en cada generación al mejor individuo de la generación anterior. El operador de cruce que se usará será una combinación entre el operador de media y el de extensión. Este operador generará a partir de dos individuos tres descendientes. Se tomará para el primer descendiente la media de los genes de los padres y para los otros dos la diferencia entre los genes de los padres sumada y restada al valor más alto y más bajo respectivamente. Así, se asegura una mezcla lo más homogénea posible de los genes paternos y proporciona una mayor diversidad que los dos métodos tradicionales por separado. - 84 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales A la hora de seleccionar los individuos para la reproducción se utilizará la selección de Montecarlo, generando un número aleatorio que escogerá sobre una ruleta la pareja de un individuo seleccionado aleatoriamente. El individuo que se escoge sobre la ruleta tendrá más probabilidades de ser seleccionado cuánto mejor se adapte al problema. La adaptación al problema se medirá mediante el error que comete una red definida con los pesos que proporciona el individuo. Dicha función de error será el MAPE, es decir, el porcentaje medio de error que comete la red. Cada generación estará formada por N individuos. Para la constitución de las generaciones siguientes se tomará siempre el mejor individuo de la anterior mediante un proceso de copia y el resto de los individuos se obtendrán ordenando los hijos obtenidos mediante cruce de mejor adaptados a peor adaptados hasta obtener los N-1 individuos restantes. Obviamente, los individuos peor adaptados que no entren en la generación siguiente son descartados. El proceso de mutación en este algoritmo también es una variación del tradicional para codificación no binaria. En los métodos tradicionales se producía una variación pequeña del parámetro en cuestión con una baja probabilidad. En el método desarrollado en este proyecto se realizarán dos tipos de mutaciones: una grande y otra pequeña. Se realizará una - 85 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales modificación pequeña de los pesos multiplicándolos por un número cercano a 1 con una probabilidad relativamente grande. La modificación grande se realizará multiplicando los pesos por un número grande (positivo o negativo) con una probabilidad menor que la anterior. De esta forma se consigue una búsqueda más eficaz y más rápida que con los algoritmos tradicionales. Finalmente, el algoritmo se detiene cuando se alcanza un grado de ajuste suficientemente bueno o al cabo de un número determinado de generaciones. 4.3 AG COMO INICIALIZACIÓN DE LOS PESOS Como los algoritmos genéticos aplicados a la optimización de redes neuronales tienen que optimizar una gran cantidad de parámetros tienen unos tiempos de entrenamiento muy grandes. A veces estos tiempos son tan excesivos que no compensa su utilización y se prefiere recurrir a algoritmos de optimización tradicionales como pueden ser los de descenso del gradiente o los cuasi-newtonianos. Sin embargo, con estos últimos se pierde en gran parte la capacidad de los algoritmos genéticos de buscar en un espacio de soluciones más amplio y no encasillarse en mínimos locales. - 86 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Para solucionar este problema se pueden combinar las características de ambos tipos de algoritmos empleando un algoritmo híbrido. De esta manera, se emplea un algoritmo genético previamente a uno tradicional para realizar una primera búsqueda en el espacio de soluciones. Esta primera parte intenta captar la capacidad de generalización del algoritmo genético sin llegar a consumir un tiempo de computación muy grande. Una vez que se ha obtenido un conjunto de pesos aceptable se pasa el trabajo a un algoritmo tradicional que será el que partiendo de este conjunto de pesos “inicializado” por el algoritmo genético afine la optimización de la red proporcionando un conjunto de pesos óptimo. De esta forma, en este proyecto se evaluará la conveniencia de utilizar un algoritmo tradicional para el entrenamiento de redes neuronales, o bien un algoritmo genético o un algoritmo híbrido que conjunte las características de ambos. El objetivo buscado es encontrar el método que proporcione mejores predicciones en un tiempo razonable. - 87 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Capítulo 5 CASO ESTUDIO: MERCADO ELÉCTRICO ESPAÑOL - 88 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Capítulo 5 CASO ESTUDIO: MERCADO ELÉCTRICO ESPAÑOL 5.1 INTRODUCCIÓN Para realizar los primeros estudios sobre la arquitectura básica de la red, las variables significativas, etc. se procederá a construir un modelo básico de red neuronal que sea suficientemente completo como para poder obtener resultados fiables, pero a la vez simple para permitir una ejecución en un tiempo reducido. El modelo que se usará será una red feedforward, ya que es el modelo más simple de red neuronal que permite añadir varias capas ocultas pero que no posee recurrencias que aumentan en gran medida la complejidad del modelo. Las conclusiones obtenidas con este modelo serán extrapoladas a los modelos más complejos que se estudiarán en apartados posteriores. A la hora de realizar las predicciones es necesario determinar de alguna forma la bondad de la predicción. Esta determinación se llevará a cabo mediante varias medidas del error de predicción. En este proyecto se van a usar principalmente las siguientes medidas de error: - 89 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales a) MAPE (mean absolute percentage error) Z/ Z\[ 1 Y #WX' ) Y Z/ ( + /- Ecuación. 5-1 El error MAPE es una medida del error que tiene en cuenta en qué porcentaje se desvían los valores por defecto o por exceso respecto al valor real de la variable. Presenta el inconveniente de tener la función valor absoluto que dificulta las operaciones matemáticas con este error. Sin embargo, gran cantidad de investigadores emplean esta medida para sus errores por lo que será la medida principal del error en este documento. b) SDE (standard deviation of error) SDE `ELe µ S Ecuación. 5-2 Esta medida da una idea de la variabilidad del error. Cuanto mayor sea el SDE mayor variabilidad tendrá el error y por lo tanto peor será la predicción. Sin embargo, no indica en cuánto se está equivocando la predicción, sino lo variable que es el error cometido. - 90 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales c) RMSE (root mean squared error) + c#' d) /- Z/ Z\[ ( Ecuación. 5-3 El error cuadrático medio es una medida del error que da la misma importancia a los valores que se desvían de la realidad por defecto que por exceso. d) MAE (mean absolute error) + #W' ) /- |Z/ Z\[ | ( Ecuación. 5-4 El MAE es muy similar al RMSE salvo que no es tan sensitivo frente a grandes errores de predicción. Cuando se tiene un conjunto de datos pequeño es preferible utilizar el MAE. Como el RMSE muestra los errores con las mismas unidades y escala que el propio parámetro. - 91 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales e) R2 c ∑,/-Z\[ Zf ∑,/-Z/ Zf Ecuación. 5-5 Esta medida representa el cuadrado de los coeficientes de correlación entre el valor real del parámetro y su valor estimado. Este valor varía entre 0 y 1, siendo 0 una predicción muy mala y 1 una predicción perfecta. 5.2 TRATAMIENTO DE LOS DATOS Antes de introducir los datos necesarios a la red es recomendable hacer un tratamiento previo a los mismos. Si el procesado de los datos es adecuado se puede conseguir una reducción significativa del error de predicción. Hay varios tipos de tratamientos posibles pero no todos proporcionan resultados satisfactorios. Por ello, se realizarán una serie de pruebas para determinar la conveniencia de cada método. - 92 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales a) Eliminar tendencias El precio de la electricidad es una variable que sufre variaciones estacionales. El precio varía dependiendo del mes del año o de la estación, ya que varía la demanda energética. Además, puede variar a lo largo del tiempo si varía el precio de los combustibles o de la tecnología usada para la generación. Si se intenta que la red neuronal capte estas tendencias las predicciones que realice pueden no ser buenas. Sin embargo, si se eliminan estas tendencias haciendo que el precio se mueva en un intervalo relativamente estable, es posible que se consiga mejorar la predicción. Para eliminar las posibles tendencias se ha decidido utilizar una media móvil. La media móvil consiste en tomar una ventana temporal sobre la cual se calculará la media. Dicha ventana se irá desplazando a lo largo de toda la serie y por lo tanto la media también variará, lo que produce un “filtrado” de la señal dejando una serie más suave sin fuertes variaciones. Si la ventana de tiempo es adecuada, la media móvil representará una tendencia de la serie. Si finalmente se resta al precio esta media móvil, se consigue una serie temporal sin tendencia. Para determinar el tamaño de ventana óptimo se toma un conjunto amplio de datos sobre el precio de la electricidad y se ha aplicado la media móvil con distintas ventanas representativas de algún ciclo de la serie. Por ejemplo, se sabe que el precio tiene ciclos intradiarios, diarios, semanales, mensuales y trimestrales. De esta forma se han obtenido los siguientes resultados: - 93 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Figura 5-1. Comparación entre distintas medias móviles Como se puede observar en la figura 5-1, una ventana muy pequeña produce una media móvil muy volátil que puede no resultar útil para eliminar la tendencia del precio. Una ventana muy grande, por el - 94 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales contrario, produce medias móviles muy suaves con pequeñas variaciones pero que puede llegar a estar demasiado retrasada respecto al precio y además produce unos valores iniciales no deseables. Por lo tanto, la mejor opción es escoger una ventana de tamaño medio que sea representativa de la tendencia de la serie pero que no esté muy retrasada y además que tenga unos valores iniciales aceptables. Para analizar estos factores se realizará un estudio en el que se utilizará la red feedforward antes mencionada con una sola capa oculta y 5 neuronas en dicha capa como se observa en la figura 5-2. El período de entrenamiento será del 30 de abril de 2007 al 31 de julio de 2007, mientras que el período de validación será del 1 de agosto de 2007 al 1 de septiembre de 2007. Además, a la red se le introducirán como variables de entrada para predecir el precio en la hora h: • Demanda eléctrica en la hora h • Producción eólica en la hora h • Precio de la electricidad el día anterior (d-1) en la hora h • Precio de la electricidad la semana anterior (d-7) en la hora h - 95 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Estas variables son suficientemente significativas como para dar una buena predicción sin tener que recurrir a más variables que complicarían el modelo y aumentarían el tiempo de ejecución del modelo. Figura 5-2. Red feedforward para realizar el estudio De esta forma, se comenzará el estudio realizando una predicción sin eliminar ningún tipo de tendencia obteniendo los resultados mostrados en la figura 5-3: 9 precio real predicción 8 7 6 5 4 3 2 1 29/07/07 05/08/07 12/08/07 19/08/07 26/08/07 02/09/07 Figura 5-3. Predicción sin ningún tratamiento de datos - 96 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales El error MAPE cometido por la red es de un 117,17% y como se puede observar en la gráfica es un resultado muy malo. La red intenta captar las tendencias del precio pero como hay diferencias notables entre los valores del precio entre los meses de entrenamiento y el de validación, no es capaz de realizar una buena predicción. Además, el número de neuronas y de capas puede no ser suficiente. Si a continuación se elimina la tendencia con una media móvil de ventana 6 horas se obtiene una importante mejoría como se ve en la figura 5-4: 6.5 precio real predicción 6 5.5 5 4.5 4 3.5 3 2.5 2 1.5 29/07/07 05/08/07 12/08/07 19/08/07 26/08/07 02/09/07 Figura 5-4. Predicción eliminando tendencias con ventana de 6 horas La red ya es capaz de seguir la tendencia del precio aunque todavía no realice una buena predicción con un MAPE del 23,63%. Si se aumenta la ventana temporal de la media móvil a 12 horas: - 97 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 6.5 precio real predicción 6 5.5 5 4.5 4 3.5 3 2.5 2 1.5 29/07/07 05/08/07 12/08/07 19/08/07 26/08/07 02/09/07 Figura 5-5. Predicción eliminando tendencias con ventana de 12 horas Se observa en la figura 5-5 que la predicción es muy similar a la anterior con un MAPE de 23,65%. Si se sigue aumentando la ventana a 24 horas: 6.5 precio real predicción 6 5.5 5 4.5 4 3.5 3 2.5 2 1.5 29/07/07 05/08/07 12/08/07 19/08/07 26/08/07 02/09/07 Figura 5-6. Predicción eliminando tendencias con ventana de 24 horas - 98 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales De nuevo la predicción obtenida en la figura 5-6 es muy parecida a las dos anteriores con un MAPE del 23,64%. Se aumenta a 1 semana: 6.5 precio real predicción 6 5.5 5 4.5 4 3.5 3 2.5 2 1.5 29/07/07 05/08/07 12/08/07 19/08/07 26/08/07 02/09/07 Figura 5-7. Predicción eliminando tendencias con ventana de 1 semana La predicción es otra vez similar a las anteriores aunque el error comienza a aumentar ligeramente con un MAPE del 24,88%. Sin embargo en la figura 5-7 apenas se nota la diferencia. Se aumenta a 1 mes: - 99 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 6.5 precio real predicción 6 5.5 5 4.5 4 3.5 3 2.5 2 1.5 29/07/07 05/08/07 12/08/07 19/08/07 26/08/07 02/09/07 Figura 5-8. Predicción eliminando tendencias con ventana de 1 mes La predicción ya no es tan buena como las anteriores con un MAPE del 38,65%. Se observa en la figura 5-8 como la predicción no consigue captar la tendencia actual del precio ya que las tendencias de semanas anteriores son ligeramente distintas a las actuales. Se aumenta a 3 meses: 6.5 precio real predicción 6 5.5 5 4.5 4 3.5 3 2.5 2 1.5 29/07/07 05/08/07 12/08/07 19/08/07 26/08/07 02/09/07 Figura 5-9. Predicción eliminando tendencias con ventana de 3 meses - 100 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales La predicción es mucho peor que las anteriores con un MAPE del 49,44%. Se observa de nuevo en la figura 5-9 como la predicción no sigue la tendencia actual del precio. Los resultados obtenidos de este estudio se resumen en la tabla 5-1: Ventana temporal Error MAPE (%) Sin tratamiento 117,17 6 horas 23,63 12 horas 23,65 24 horas 23,64 1 semana 24,88 1 mes 38,65 3 meses 49,44 Tabla 5-1. Errores con distintas ventanas temporales para la eliminación de la tendencia. Como se puede comprobar en la tabla las ventanas temporales menores de 1 semana proporcionan resultados mejores. Por simplicidad y ya que el resultado es parecido se tomará una ventana de 24 horas en lugar de una de 6 o de 12 horas. - 101 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales b) Variables de entrada con media nula y varianza unitaria Las redes neuronales son bastante sensibles a la media y varianza que tengan las distintas variables de entrada. De esta forma, si una variable tiene una media y una varianza muy pequeñas respecto a otras variables es posible que la red neuronal no consiga establecer unas relaciones adecuadas entre ellas. Si se aplica un tratamiento a estas variables de tal forma que tengan una distribución estadística comparable es posible que la predicción mejore. Para realizar este tratamiento a los datos la Toolbox de Redes Neuronales de Matlab cuenta con una función llamada “mapstd” que toma las variables de entrada a la red y las transforma en otras equivalentes con media nula y varianza unitaria. De esta forma, las predicciones realizadas por la red serán más precisas. Para comprobarlo se comparará el error obtenido con la red feedforward sin tendencias con ventana de 24 horas estudiada anteriormente con una red igual pero que aplique este tratamiento de media nula y varianza unitaria a las variables de entrada, obteniendo los siguientes resultados: - 102 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Figura 5-10. Comparación sin tendencia (izq.) y mapstd (dcha.) Tratamiento Error MAPE (%) Sin tendencia 23,64 mapstd 13,55 Tabla 5-2. Errores de los modelos sin tendencia y mapstd Como se puede observar por los resultados obtenidos en la tabla 5-2, la incorporación de este tratamiento previo a los datos de una red neuronal es muy importante ya que reduce el error cometido significativamente. Se comprueba en la figura 5-10 cómo ahora la red es capaz de captar bien la forma del precio real y realizar una buena predicción. Como ya se suponía, la red es muy sensible a las distribuciones estadísticas de los datos de entrada y mejora sustancialmente sus resultados cuando dichas distribuciones son similares. - 103 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales c) Limitación de picos El valor del precio de la electricidad puede sufrir a lo largo del tiempo incrementos repentinos que no son justificables a partir de las variables disponibles. Estos picos suelen producirse por motivos especulativos que difícilmente se pueden incluir en los modelos que se estudiarán en este proyecto. Es por esto que estos valores supondrán un obstáculo para la red en su etapa de aprendizaje y pueden empeorar las predicciones futuras. Por ello, se realizará un tratamiento a los datos para limitar estos picos e intentar mitigar su efecto sobre las redes neuronales empleadas. No existe un criterio objetivo a partir del cual un valor se puede considerar excesivo, más bien sería necesario que un experto observara la serie temporal y dictaminara si un valor es aceptable o no. Como esta acción no es deseable en este proyecto se tendrá que recurrir a otros métodos. El primero de los que se va a estudiar consiste en tomar la serie de valores del precio para la etapa de entrenamiento y calcular su media y su desviación típica. Entonces, se analizará cada elemento de la serie y todos aquellos que estén fuera del rango “ ó í” serán sustituidos por el valor más cercano de este intervalo. Dónde es una constante que habrá que determinar para que las predicciones sean óptimas. El segundo método que se estudiará es muy similar salvo que la media y la desviación típica no se toma sobre toda la serie de datos de - 104 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales entrenamiento, sino sobre una ventana móvil. Se puede ver las diferencias entre ambos métodos en la figura 5-11. Figura 5-11. Comparación entre los métodos de limitación de picos (fijo y móvil) Primero se realizará un estudio comparativo sobre cuál de los dos métodos es mejor: el fijo o el móvil. Para realizar ello se tomará como base la red feedforward con los tratamientos analizados en los apartados anteriores (eliminar tendencias e igualar las distribuciones estadísticas de las variables de entrada). Se tomará como valor de λ para realizar este primer análisis λ=2,5. Tratamiento Error MAPE (%) Limitación fija 13,55 Limitación móvil 13,43 Tabla 5-3. Errores obtenidos con limitación de picos fija y móvil. - 105 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Aunque la diferencia es pequeña se comprueba en la tabla 5-3 que la limitación de picos con ventana móvil es más eficaz que con ventana fija, por lo que se continuará el estudio con ella. A continuación se estudiará el valor más adecuado de λ para que el tratamiento sea efectivo. Este valor de este parámetro influirá en mayor o en menor medida en los resultados obtenidos dependiendo del período de estudio. Así, un período donde el precio de la electricidad presente pocos picos será un período donde la limitación de picos no tenga gran relevancia. Sin embargo, un período muy volátil donde haya una gran cantidad de picos puede hacer que el valor que tome λ sea importante para el resultado final. Por lo tanto, para realizar el estudio se tomará un período dónde el precio de la electricidad presenta numerosos picos. Se tomará como período de entrenamiento del 30 de noviembre de 2007 al 31 de enero de 2008 y para la validación del 1 de febrero de 2008 al 1 de marzo del mismo año. Este período es más inestable como se puede ver en la figura 5-12. - 106 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Figura 5-12. Período dónde el precio presenta gran cantidad de picos Puesto que el valor de λ influye de manera diferente en función del período analizado, se tomará el valor obtenido de este análisis como un valor de referencia sin buscar un valor exacto que optimice el proceso de predicción ya que esto sería muy difícil. Además, no se pretende limitar la mayoría de los datos disponibles, por lo que se establecerá un valor mínimo para λ de 2. De esta forma, se limitarán como máximo aquellos valores que superen dos veces la desviación típica de la semana anterior. Así, el estudio se ha realizado variando el valor de λ= {2, 2.5, 3, 3.5} obteniéndose los siguientes resultados: Valor de λ Error MAPE (%) 2 11,78 2,5 11,00 3 11,34 - 107 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 3,5 11,45 Tabla 5-4. Errores variando el parámetro λ en limitación de picos móvil. Como se puede observar en la tabla 5-4 el valor más adecuado para λ es 2,5. Así, se limitarán los valores del precio que se introduzcan a la red durante el entrenamiento para que en ningún caso superen en 2,5 veces la desviación típica de la semana anterior respecto a su media. Así pues, de ahora en adelante se les aplicará estos tratamientos previos a todos los datos de entrada a las redes neuronales. Se eliminará la tendencia del precio mediante una media móvil con ventana de 24 horas. Se transformarán los datos de entrada para que sus distribuciones estadísticas tengan media nula y varianza unitaria. Y finalmente se limitarán los picos que presente el precio mediante una ventana móvil que detecte valores extremos con respecto a los valores del precio de la semana anterior. Finalmente, si aplicamos todos estos tratamientos previos a los datos y comparamos los resultados con los obtenidos para la red sin ningún tratamiento para el mismo período de tiempo, se obtienen los resultados que se muestran en la figura 5-13 y en la tabla 5-5: - 108 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Figura 5-13. Comparación entre la red sin tratamientos y con tratamientos Red Error MAPE (%) Sin tratamientos 117,17 Con tratamientos 13,48 Tabla 5-5. Comparación de errores entre modelos con y sin tratamientos. 5.3 ANÁLISIS DE LAS VARIABLES SIGNIFICATIVAS Existen muchas variables que afectan al valor del precio de la electricidad, sin embargo no está claro a priori cuales son las más significativas. Entre las variables que se podría pensar que son más representativas se encuentran la previsión de la demanda y los valores pasados del precio. Los valores de la demanda se puede suponer que están siempre disponibles, pues existen técnicas muy buenas de predicción de la - 109 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales demanda que presentan un error muy pequeño. Sin embargo, del precio de la electricidad sólo están disponibles los valores de días anteriores y nunca del día que se pretende predecir, por lo que a pesar de ser unas variables posiblemente muy importantes, al tener un retardo tan grande es posible que no lo sean tanto. Primeramente, se procederá a un estudio de los retardos significativos de la demanda y el precio. Este estudio permitirá tener una idea general de las correlaciones del precio y de la demanda respecto a sus valores pasados que harán más fácil la comprensión de la importancia de los valores pasados de estas dos variables. Para realizar este estudio se recurrirá a las funciones de autocorrelación simple y parcial. La función de autocorrelación es una herramienta que permite encontrar patrones repetitivos dentro de una serie. Básicamente consiste en calcular la correlación de la serie temporal con una versión desplazada en el tiempo de sí misma un tiempo t. Si se varía t en un rango de valores mayores que 0 se obtiene la función de autocorrelación simple. Matemáticamente si P es la serie temporal a estudiar, µ es su media y σ su desviación típica, la función de autocorrelación simple se define como: Ecuación. 5-6 - 110 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales El valor R(t) de esta función indica si dos valores separados entre sí por intervalos iguales a t están correlacionados de alguna forma como se puede ver en [PEÑA05]. Así, si una serie tiene un período estacional de p, R(p) tendrá un valor absoluto cercano a 1, mientras que si no hay una estacionalidad clara R(p) tomará un valor próximo a 0. La función de autocorrelación parcial por otro lado calcula la correlación entre dos valores separados una distancia t en el tiempo pero eliminando el efecto debido a la correlación producida por los retardos intermedios. De esta forma, esta función proporciona la relación directa que existe entre observaciones separadas por t retardos. Si se calculan las funciones de autocorrelación simple y parcial de la demanda se obtiene: Función de autocorrelación simple (Demanda) 0.8 Autocorrelación 0.6 0.4 0.2 0 -0.2 0 20 40 60 80 100 120 Retardo 140 160 180 200 Figura 5-14. Función de autocorrelación simple de la demanda - 111 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Función de autocorrelación parcial (Demanda) 1 0.8 Autocorrelación parcial 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 0 20 40 60 80 100 120 Retardo 140 160 180 200 Figura 5-15. Función de autocorrelación parcial de la demanda Como se puede observar en la función de autocorrelación simple (figura 514) la demanda presenta periodicidades tanto de un día (24 horas de retardo) como de una semana (168 horas de retardo). Si se observa ahora la función de autocorrelación parcial (figura 5-15) se comprueba que los retardos más significativos son t-1, t-2, t-24, t-25 y t-26. Las bandas azules horizontales representan el intervalo de confianza dentro del cual se supone que la autocorrelación se puede asumir nula y fuera del cual la autocorrelación es significativa. Sin embargo, como el fin buscado es el de encontrar las principales variables que influyen en la formación del precio de la electricidad, se intentará tomar sólo los retardos más influyentes de entre todos los significativos. - 112 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Si ahora se calculan las funciones de autocorrelación simple y parcial del precio: Función de autocorrelación simple (Precio) 0.8 Autocorrelación 0.6 0.4 0.2 0 -0.2 0 20 40 60 80 100 120 Retardos 140 160 180 Figura 5-16. Función de autocorrelación simple del precio - 113 - 200 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Función de autocorrelación parcial (Precio) Autocorrelación parcial 1 0.5 0 -0.5 0 20 40 60 80 100 120 Retardos 140 160 180 200 Figura 5-17. Función de autocorrelación parcial del precio Se comprueba de nuevo que existe una periodicidad de un día y otra de una semana a la vista de los resultados ofrecidos por la función de autocorrelación simple (figura 5-16). Esta correlación es más fuerte que en el caso de la demanda. Al observar la función de correlación parcial (figura 5-17) salta a la vista que los valores más importantes son los retardos en t-1, t-2, t-22, t-24 y t-168. Sin embargo, los valores más importantes con diferencia son t-1 y t-2, por lo que una red recurrente podría ayudarse de este hecho para mejorar las predicciones. Aún así, aparte de estas variables también son importantes algunas horas del día anterior y la misma hora de los días de la semana que restan. Habrá que analizar si es conveniente introducir en el modelo estas últimas variables a costa de hacer la red más compleja. - 114 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales El siguiente paso que se va a seguir en este estudio de las variables significativas consiste en tomar todas las variables que se considere oportuno y realizar un análisis de sensibilidades. Para ello, habrá que diseñar una red simple como la que se viene usando en los apartados anteriores y adaptar su arquitectura, es decir, el número de capas y de neuronas para que represente lo mejor posible las relaciones entre todas las variables. El hecho de introducir más o menos variables y más o menos neuronas influye notablemente en los resultados obtenidos. De esta forma, si partimos de una red con tan sólo 3 variables de entrada: Demanda, Precio (t-24) y Precio (t-168) y 5 neuronas se obtiene la predicción de la figura 518. 3 variables 6.5 6 5.5 5 4.5 4 3.5 3 2.5 2 05/08/07 Figura 5-18. Predicción con 3 variables y 5 neuronas - 115 - 12/08/07 UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales A continuación, se irán introduciendo de una en una las siguientes variables: Demanda (t-1), Demanda (t-2), Previsión eólica, Producción nuclear (t-24), Producción renovable (t-24), Producción térmica (t-24), Capacidad del sistema, Volatilidad del precio (t-24) y Día de la semana (laborable, fin de semana, festivo). Obteniendo la siguiente predicción al llegar a 12 variables y 18 neuronas: 12 variables 6.5 6 5.5 5 4.5 4 3.5 3 2.5 2 1.5 05/08/07 Figura 5-19. Predicción con 12 variables y 18 neuronas Se comprueba perfectamente en las figuras 5-18 y 5-19 cómo al aumentar el número de variables de entrada y el número de neuronas la predicción es capaz de tomar formas más complicadas y adaptarse mejor a los cambios bruscos en la tendencia del precio. Sin embargo, también se hace - 116 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales notar el hecho de que tantas variables o tantas neuronas hacen que la predicción sea más errática y con demasiada volatilidad. Por lo tanto, habrá que llegar al número de variables y de neuronas óptimo para que la predicción obtenida sea lo más acertada posible. En general se puede partir de un número de neuronas igual a 1,5 veces el número de variables de entrada. Aunque no siempre asegure una buena predicción, sí es un número de neuronas adecuado para la mayoría de los problemas. Durante el proceso de ir añadiendo variables a la predicción se ha tomado nota de los errores cometidos por la red que se resumen en la tabla 5-6: Número de variables Error MAPE (%) 3 16,51 4 16,52 5 16,26 6 15,22 7 17,45 8 19,58 9 18,32 10 17,97 11 19,63 12 15,27 Tabla 5-6. Errores obtenidos al variar el número de variables de entrada. - 117 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 20 19.5 19 error MAPE (%) 18.5 18 17.5 17 16.5 16 15.5 15 3 4 5 6 7 8 9 Número de variables 10 11 12 Figura 5-20. Evolución del error al aumentar el número de variables Como se observa tanto en la tabla como en la figura 5-20, al aumentar el número de variables explicativas no necesariamente mejorará el error. Algunas variables no son significativas y en vez de ayudar a mejorar la predicción, la empeoran. Quizá, dos variables aporten la misma información y al incluirlas las dos al mismo modelo también empore la predicción. O también puede influir el hecho de que al variar el número de entradas varíe el número de neuronas y este número no sea el adecuado. A modo de curiosidad, ya que no se pueden obtener conclusiones de este hecho, se comprueba como el error aumenta al introducir las variables de: Producción nuclear (t-24), Producción renovable (t-24) y Volatilidad del precio (t-24). - 118 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Es por esto que a continuación será necesario realizar un proceso de selección de las variables más relevantes. Para ello, se realizará un análisis de sensibilidades como ya se explicó en el apartado “3.5. Análisis de las variables significativas”. Lo primero que se hará será realizar una serie de predicciones con todas las variables disponibles modificando el número de neuronas. De esta forma, se intentará optimizar la red para obtener los mejores resultados posibles. Para asegurar un buen entrenamiento se reinicializarán los pesos 3 veces para cada predicción, tomando el conjunto de pesos que menor error de entrenamiento produzca. Cuando se entrena una red por primera vez los pesos de las conexiones toman valores escogidos al azar por el programa. Estos pesos aleatorios iniciales pueden ser críticos a la hora de que una red tenga un mejor o peor entrenamiento, pues pueden hacer que el algoritmo de entrenamiento se quede encasillado en valores cercanos a ellos al usar algoritmos de descenso del gradiente. Por lo tanto, si se toman 3 conjuntos de pesos aleatorios iniciales, se entrena la red con cada uno de ellos y se toma la red que ha proporcionado menor error de entrenamiento, se estará asegurando un mejor entrenamiento y una mayor optimización de la red. Como ya se explicó en el apartado 3.5 para realizar el análisis de sensibilidad primero se realizará una predicción con la configuración de - 119 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales red determinada. Para realizar la predicción se usará un conjunto de entrenamiento de aproximadamente 1 año entre el 8 de enero de 2007 y el 31 de diciembre del mismo año. A fin de obtener más datos para el análisis, la predicción se realizará sobre el propio conjunto de entrenamiento en vez de sobre un conjunto de validación, pues no se necesita información sobre el error cometido por la red. Una vez se ha realizado la predicción (̂ ) se procede a incrementar las variables de entrada (" ) una a una en una pequeña cantidad (∆"$ ) mientras el resto permanece sin cambios respecto a la primera predicción. En este documento se ha incrementado cada variable multiplicándola por un factor de 1,1. Para poder obtener unas sensibilidades razonables y comparables entre todas las variables, se utilizarán las variables de entrada después de aplicarles el tratamiento que transforma sus distribuciones estadísticas a media nula y varianza unitaria. Cada vez que se incrementa una variable, se realiza una predicción (%'). & Cada una de estas predicciones constará de j elementos (uno por cada hora que se prediga). De esta forma, cada elemento de la matriz de sensibilidades viene dado por: , ) '* %+ &* ∆"$ Ecuación. 5-7 Una vez obtenida la matriz de sensibilidades se normaliza dividiéndola por la máxima sensibilidad encontrada. Y una vez que se tiene la matriz - 120 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales de sensibilidades normalizada S, se procederá a realizar los histogramas de sensibilidad, los gráficos (media, desviación típica) y los diagramas de los centiles del 95%. En primer lugar se tomarán todas las variables disponibles que se resumen en la tabla 5-7: Número Variable 1 Demanda 2 Demanda (t-24) 3 Demanda (t-168) 4 Precio Mercado Secundario (t-24) 5 Precio Mercado Diario (t-24) 6 Precio Mercado Intradiario (t-24) 7 Precio Mercado Secundario (t-168) 8 Precio Mercado Diario (t-168) 9 Precio Mercado Intradiario (t-168) 10 Previsión Eólica 11 Capacidad del sistema 12 Producción Hidráulica (t-24) 13 Régimen Especial a Mercado (t-24) 14 Intercambios con Francia (t-24) - 121 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 15 Intercambios Internacionales (t-24) 16 Intercambios con Portugal (t-24) 17 Total Generado (t-24) 18 Producción Térmica (t-24) 19 Margen (t-24) Tabla 5-7. Variables explicativas en estudio. Con este conjunto de variables de entrada y 15 neuronas en una sola capa oculta se han realizado los siguientes análisis como se explica en [MUÑO95]: a) Histogramas de sensibilidades Esta herramienta es la más completa de las tres que se van a usar. Permite una visualización de la distribución estadística de las sensibilidades de cada variable. Una variable no significativa presentará un histograma picudo y centrado en el origen. Cuánto más desplazada del origen esté un histograma y más ancho sea, mayor significación tendrá la variable asociada. - 122 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Histogramas de sensibilidad 1400 1200 Frecuencia 1000 800 600 400 200 0 -0.4 -0.3 -0.2 -0.1 0 Sensibilidad 0.1 0.2 0.3 0.4 Figura 5-21. Histograma de sensibilidades con 19 variables A través de la figura 5-21 se puede observar que las distribuciones estadísticas de las sensibilidades de la mayoría de las variables son muy parecidas por lo que es difícil a partir de esta información descartar variables. Este gráfico no permite una interpretación clara de qué variables deberían ser eliminadas por lo que se deberá tomar esta decisión en base a los dos siguientes gráficos. b) Gráficos (media, desviación típica) - 123 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales En estos gráficos tan sólo se representan dos informaciones por cada variable: la media y la desviación típica de su sensibilidad. Cada variable está representada por un punto y cuánto más alejado esté este del origen más significativa será la variable. Gráfico (media, desviacíon típica) de sensibilidades 0.22 0.2 18 1 0.18 desviación típica 0.16 0.14 12 0.12 5 0.1 3 14 8 16 0.06 7 -0.4 -0.3 -0.2 10 17 2 0.08 0.04 -0.5 15 19 11 -0.1 media 9 13 6 4 0 0.1 0.2 0.3 Figura 5-22. Gráfico (media, desviación típica) de sensibilidades con 19 variables En la figura 5-22 se puede observar que hay 5 variables que tienen una sensibilidad claramente mayor que el resto. Estas variables son la Demanda (1), Producción Térmica (18), Producción Hidráulica (12), Precio (t-24) (5) y Demanda (t-168) (3). El resto de variables es difícil determinar si son significativas o no. - 124 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Como la información de este gráfico no es completa y las medidas de media y desviación típica pueden no dar suficiente información para tomar una decisión, por lo que se recurrirá al último gráfico. c) Centiles del 95% normalizado del valor absoluto de las sensibilidades En estos diagramas se representan mediante barras el valor normalizado del centil 95% de las sensibilidades de cada variable. Para realizar estos gráficos se ordenan las sensibilidades de cada variable de menor a mayor y se toma aquella sensibilidad que deja a un lado el 95% de los datos (siendo el otro 5% de los datos mayores que ella). Se toman los centiles de cada variable y se dividen por el mayor para normalizarlos y a continuación se representan en el diagrama. Esta representación da una idea del valor que toman las sensibilidades en el 95% de las ocasiones, eliminando los datos de las mayores sensibilidades. Si en este 5% de datos eliminados hay valores muy extremos que tienden a falsear los resultados con otros métodos, este método los descarta para dar una información más real y fiable. De esta forma, cuánto más grande sea el centil de cada variable, más significativa será esta. - 125 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Diagrama de centiles del 95% normalizados del valor absoluto de sensibilidad 1 0.9 0.8 Centiles de 95% 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 2 4 6 8 10 12 Variables 14 16 18 20 Figura 5-23. Diagrama de centiles del 95% normalizado con 19 variables En la figura 5-23 se puede observar de una forma más clara que hay 8 variables que tienen unas sensibilidades más significativas que el resto. Estas son: Demanda (1), Demanda (t-168) (3), Precio (t-24) (5), Precio (t168) (8), Producción Eólica (10), Producción Hidráulica (12), Intercambios Internacionales (15) y Producción Térmica (18). Después hay algunas variables que tienen una sensibilidad intermedia y finalmente hay unas pocas que no parecen tener una sensibilidad relevante. Teniendo en cuenta los resultados obtenidos mediante estas tres herramientas del análisis de sensibilidad se ha optado por eliminar todas las variables salvo las 8 variables mencionadas. - 126 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Este conjunto de variables son los que según el análisis de sensibilidad mejor definen el precio. Ya se sabía que la Demanda era una variable fundamental en la determinación del precio de la electricidad por lo que no es extraño que el análisis la determinara como una variable significativa. Como era de esperar los retardos del precio: Precio (t-24) y Precio (t-168); son también significativos y en conjunción con la Demanda (t-168) pueden ser muy importantes en el modelo. Tampoco es una sorpresa que la Previsión Eólica sea significativa, pues esta tecnología se suele ofertar a precio 0 €/MWh para asegurar su casación, lo cual afectará de forma clara a la formación del precio. La Producción Hidráulica (t-24) es otra tecnología cuyo precio puede afectar de forma significativa al precio final de la electricidad. Los Intercambios Internacionales (t-24), por otra parte, también son importantes para el precio que tomará la electricidad. Y finalmente, la Producción Térmica (t-24) también es importante y ello se debe a que los ciclos combinados pueden influir en gran medida en el precio de la electricidad así como el precio de los combustibles. - 127 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 5.4 FUNCIONES DE ENTRENAMIENTO A continuación, se van a estudiar las principales funciones de entrenamiento de las redes neuronales. Durante todo este documento se ha usado como función de entrenamiento trainlm. Sin embargo, no se había estudiado todavía si esta era la mejor opción o hay otras funciones mejores para el entrenamiento de este tipo de redes neuronales. Para realizar este estudio, se va a tomar la red neuronal feedforward con 11 neuronas en la primera capa oculta y 6 en la segunda. Las variables de entrada serán: Demanda, Eólica, RE Mercado, Total Generado, Total Térmica, Pendiente de la demanda y Spread del Mercado Secundario. El período de entrenamiento será del 15 de enero de 2007 al 15 de mayo de 2007 y el de validación del 16 de mayo de 2007 al 16 de junio del mismo año. Se entrenará la red y se hará una predicción 10 veces con cada una de las funciones de entrenamiento para así poder obtener una distribución estadística de los errores cometidos y de los tiempos de entrenamiento. Las funciones que se van a estudiar son las presentadas en el apartado 3.3.1: traingd, traingda, traingdx, traingdm, trainrp, traincgp, traincgb, trainbfg y trainlm. - 128 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Función de entrenamiento Error MAPE (%) Tiempo (s) Media Desv. Típica Media Desv. Típica Traingd 21,63 5,08 4,79 5,08 Traingda 16,14 1,68 4,73 1,68 Traingdx 16,86 3,07 4,77 3,07 Traingdm 18,23 3,50 4,77 3,50 Trainrp 13,01 0,36 5,01 0,10 Traincgp 13,05 0,43 5,94 0,43 Traincgb 12,99 0,54 5,85 0,54 Trainbfg 12,93 0,58 5,77 0,58 Trainlm 12,99 0,55 6,71 0,55 Tabla 5-8. Errores y tiempos de ejecución de distintas funciones de entrenamiento. Como se observa en la tabla 5-8, la función de entrenamiento que menor error produce es trainbfg con un 12,93% de media, además tiene una dispersión pequeña por lo que las predicciones con esta función son fiables. Por otra parte la función más rápida de todas es traingda lo cual permite que para redes complejas con muchos parámetros el tiempo de ejecución sea pequeño y la tarea se abordable. Sin embargo estos datos pueden ser engañosos y es mejor compararlos en un gráfico de cajas y bigotes: - 129 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Diagrama de cajas y bigotes del error de entrenamiento 32 30 28 Error MAPE (%) 26 24 22 20 18 16 14 12 1 2 3 4 5 6 Función de entrenamiento 7 8 9 8 9 Diagrama de cajas y bigotes del tiempo 8.5 Tiempo de entrenamiento (s) 8 7.5 7 6.5 6 5.5 5 4.5 1 2 3 4 5 6 7 Funciones de entrenamiento Figura 5-24. Diagramas de cajas y bigotes del error y el tiempo para 9 funciones de entrenamiento - 130 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Como se puede observar en la figura 5-24, la diferencia en cuanto al error cometido por las funciones trainrp, traincgp, traincgb, trainbfg y trainlm es muy similar y bastante pequeño comparado con las otras funciones. Sin embargo, el tiempo de ejecución es muy pequeño en las otras funciones traingd, traingda, traingdx y traingdm. De aquí se desprende que si se quiere que el algoritmo sea rápido el error cometido será grande, y si éste se desea minimizar el tiempo de ejecución será grande. Habrá que decidir en cada caso qué característica es necesaria en cada momento. En general se usará la función de entrenamiento trainbfg a menos que el tiempo de ejecución exija un algoritmo más rápido aunque menos eficaz, por lo que entonces se usará traingda. 5.5 DISEÑO DE LA TOPOLOGÍA En esta fase se diseñará la arquitectura de la red, es decir, su topología. Este diseño implica la determinación del número de neuronas en las capas ocultas, el número de dichas capas, las funciones de activación, así como la determinación de la conectividad entre todas las neuronas de la red. Esta etapa es crítica en el proceso de diseño de una red neuronal, pues determinará la capacidad de representación de la red, es decir, la cantidad de conocimiento que puede captar. - 131 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales El problema que surge en esta fase es que no existe una técnica específica que realice este proceso. La determinación de la topología de la red se determina mediante la experiencia o mediante un proceso heurístico. En este documento se realizará el estudio sobre el número de neuronas de la red mediante un proceso de prueba y error. En cuanto a las funciones de activación existen una gran cantidad de funciones que se suelen usar habitualmente. Entre las más destacables se encuentran las funciones: lineal, sigmoidal, tansigmoidal, radial y umbral. La función de umbral se usa más bien en problemas de clasificación, ya que proporciona sólo dos valores de salida (0 y U) por lo que para la predicción del precio no es muy útil. La función radial también tiene más aplicación en problemas de clasificación de datos. La sigmoidal sólo proporciona valores positivos, por lo que tampoco se usará (el tratamiento de datos que proporciona media nula hace que aparezcan valores negativos). Así, las que se utilizarán en este documento son la lineal y la tansigmoidal. La tansigmoidal proporcionará la no linealidad a la red y se utilizarán en todas las neuronas ocultas, mientras que la lineal simplemente se utilizará para la neurona de salida. Sus gráficas se pueden observar en la figura 5-25. - 132 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Funciones de transferencia 3 2 1 0 -1 -2 -3 -3 -2 -1 -2 -1 0 Lineal 1 2 3 0 1 Tansigmoidal 2 3 1 0.5 0 -0.5 -1 -3 Figura 5-25. Funciones de transferencia Para diseñar la red neuronal, se partirá de la base de que hace falta un número de neuronas en la capa oculta tal que permita desarrollar las relaciones más significativas entre las variables. Cuánto mayor cantidad de neuronas tenga la capa oculta, más capacidad tiene de generar estas relaciones. Sin embargo, como ya se ha venido explicando a lo largo de todo el documento, una red neuronal demasiado compleja proporciona predicciones pobres. Es por ello que existirá un número óptimo de neuronas para cada problema específico, que hará que la red capte las - 133 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales relaciones más importantes entre las variables y desprecie las menos relevantes. Pero además, a este problema se le añade otra dificultad y es la determinación del número de capas ocultas en el que se distribuyen estas neuronas. Cada capa oculta extra que se le añade a la red proporciona la capacidad de establecer relaciones más complejas, a costa de hacer una red más grande y con más conexiones. Por lo tanto, a la hora de determinar el número de neuronas se tendrá que utilizar un algoritmo de prueba y error que realice una búsqueda eficaz dentro del espacio de soluciones. Como probar todas las combinaciones posibles en un amplio rango de neuronas es prácticamente imposible con los medios disponibles, se procederá a establecer unos límites y unos procedimientos de búsqueda razonables. Primero, se supondrá que el número de neuronas óptimo en la capa oculta se encontrará en un punto intermedio entre el número de variables de entrada divido por 2 y el doble del número de variables. Menos neuronas que este mínimo proporcionaría poca representatividad, mientras que un número de neuronas mayor el máximo daría como resultado una red excesivamente compleja. En cuanto al número de capas ocultas, se establecerá un máximo de 2 capas, donde la segunda capa tendrá aproximadamente la mitad de neuronas que la primera capa. Añadir más capas haría que la red fuera de nuevo demasiado compleja y además con los medios disponibles sería difícil realizar el estudio con tantas soluciones posibles. - 134 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Aún así, después de haber limitado la arquitectura de la red, siguen siendo demasiadas posibilidades como para probarlas todas. De esta forma, primero se tomará una sola capa oculta con un número de neuronas que varíe de tres en tres desde el mínimo hasta el máximo de neuronas establecido. Una vez encontrado el óptimo, se estudiarán los números de neuronas adyacentes de una en una. Es decir, si el óptimo se ha encontrado en 15 neuronas, se estudiarán las redes con 13, 14, 16 y 17 neuronas, volviendo a tomar el óptimo. De este modo se habrá optimizado la red neuronal de una sola capa oculta. Para realizar el estudio con dos capas ocultas se tomará en la primera capa oculta un número de neuronas cercano al óptimo hallado en el paso anterior, y en la segunda capa oculta un número cercano a la mitad de éste. Finalmente, se tomará la red que proporcione el menor error globalmente. En cuanto a la optimización de las conexiones se estudiarán en el apartado de poda de redes neuronales. Aunque, como se verá más adelante, también se podrían emplear algoritmos genéticos que determinaran totalmente la topología de la red [RIVE07]. Sin embargo, este proceso sería demasiado costoso computacionalmente para los medios disponibles en este proyecto, por lo que se propondrá como una línea futura de desarrollo. - 135 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Para probar el algoritmo de determinación del número de neuronas óptimo se utilizará la red feedforward utilizada anteriormente con las 8 variables significativas ya determinadas. Como se ha explicado, se partirá de 4 neuronas en una sola capa oculta hasta 16 neuronas, variando este número de tres en tres entre cada prueba. El conjunto de entrenamiento será del 8 de enero al 8 de julio de 2007 y el de validación del 9 de julio al 9 de octubre de 2007. Obteniéndose los siguientes resultados: Número de neuronas Error MAPE (%) 4 10,76 7 10,76 10 12,40 13 11,90 16 11,84 Tabla 5-9. Análisis del número de neuronas (I). Como se puede ver en la tabla 5-9, el número de neuronas adecuado se encuentra entre 4 y 9. A continuación se realizará el estudio variando el número de neuronas en este intervalo: - 136 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Número de neuronas Error MAPE (%) 4 10,76 5 11,23 6 10,88 7 10,76 8 11,19 9 11,93 Tabla 5-10. Análisis del número de neuronas (II). Observando la tabla 5-10 se decidirá por escoger como óptimo un número de 7 neuronas para una sola capa oculta. A continuación se estudiará la posibilidad de introducir una segunda capa oculta. Para ello se tomará en la primera capa entre 5 y 7 neuronas y en la segunda se variará entre 2 y 4 obteniendo los resultados de la tabla 5-11. Número de neuronas Error MAPE (%) {5,2} 10,69 {5,3} 11,11 {5,4} 11,27 {6,2} 11,48 {6,3} 11,78 {6,4} 11,61 - 137 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales {7,2} 11,47 {7,3} 11,13 {7,4} 11,35 Tabla 5-11. Análisis del número de neuronas (III). Se comprueba que el menor error se produce con una red con dos capas ocultas: la primera con 5 neuronas y la segunda con 2. Esta red será la que se considere óptima para el problema de predicción del precio. 5.6 ENTRENAMIENTO CON ALGORITMOS GENÉTICOS Como ya se ha explicado en el capítulo 4 existen unos métodos de búsqueda de soluciones que presentan ciertas ventajas frente a los tradicionales basados en el descenso del gradiente. Estos métodos son los llamados algoritmos genéticos y su funcionamiento está basado en el proceso de selección natural que se observa en la naturaleza. A continuación se va a tratar de estudiar el empleo de estos algoritmos desde dos puntos de vista: - 138 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales a) Algoritmo genético como función de entrenamiento En este apartado se va a analizar la conveniencia o no de usar un algoritmo genético básico para realizar el entrenamiento de una red. Para ello, se va a emplear la red feedforward básica con las 8 variables de entrada significativas determinadas anteriormente, con 4 neuronas en una sola capa oculta y con un período de entrenamiento del 1 de febrero al 31 de mayo de 2007. El diseño del algoritmo genético ya se explicó en el capítulo 4. Es un algoritmo muy simple, ya que el objetivo de este proyecto no es la construcción de un algoritmo genético especializado en entrenar redes neuronales, sino analizar la conveniencia de utilizar un algoritmo muy básico y fácil de implementar. De esta forma, el algoritmo toma en la primera generación 20 individuos aleatorios. Una vez determinado el error que produce cada uno se pasa el mejor individuo a la siguiente generación. A continuación se realiza la reproducción, para lo cual se ordenan todos los individuos de menor a mayor error y se les asigna una probabilidad de reproducción proporcional a su adaptación al problema. Se escoge un individuo al azar de la población y otro individuo con una probabilidad asociada a su adaptación, repitiéndose este proceso hasta obtener 10 parejas. Una vez se ha realizado la selección de parejas, los descendientes se forman mezclando los pesos de los padres, haciendo que los pesos del primero sean un poco mayor que los de los padres, los del segundo un poco - 139 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales menores y los del tercero la media de los de los padres. De esta forma se obtienen 3 individuos por pareja, es decir, 30 nuevos individuos. A continuación se ejecuta el operador de mutación y se ordenan los descendientes y el mejor individuo de la generación anterior de menor a mayor error. Finalmente, se descartan los 10 peores individuos y se prosigue de nuevo con el algoritmo hasta llegar a 100 generaciones. Este proceso es muy largo debido a las múltiples simulaciones que hay que hacer de todos los individuos en cada generación. Mientras que un algoritmo de entrenamiento tradicional tarda unos 10 segundos, el entrenamiento con algoritmo genético tarda del orden de 4 horas. Una vez ejecutado el algoritmo se puede observar la evolución de la población a lo largo de las generaciones: Evolución del error mínimo de cada generación 400 350 Error MAPE (%) 300 250 200 150 100 0 10 20 30 40 50 60 Generaciones 70 80 90 100 Figura 5-26. Evolución del error mínimo en la población a lo largo de 100 generaciones - 140 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Como se puede ver en la figura 5-26 el error mínimo va descendiendo rápidamente a lo largo de las 10 primeras generaciones, a partir de la generación 57 parece que el error ha convergido y no desciende por debajo del 100%. El error de entrenamiento obtenido es muy grande, y por lo tanto la red hará unas predicciones muy malas. Si se intenta predecir el precio de la electricidad desde el 1 de junio hasta el 31 de octubre de 2007 con esta red se obtienen los siguientes resultados: Entrenamiento MAPE (%) A.G. 22,23 Tradicional 13,58 Tabla 5-12. Errores de un algoritmo genético y uno tradicional. Parece que el error a la vista de los resultados de la tabla 5-12 no es tan malo, sin embargo la predicción resultante no tiene nada que ver con el precio real que toma la electricidad, como se comprueba en la figura 5-27 y sólo sigue su tendencia gracias a que se le añade la media del precio de las 24 horas anteriores con el pretratamiento de los datos. - 141 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 6.5 precio real prediccion 6 5.5 5 Precio 4.5 4 3.5 3 2.5 2 1.5 Figura 5-27. Predicción del precio con entrenamiento mediante algoritmos genéticos Estos resultados no quieren decir que el entrenamiento con algoritmos genéticos no sea bueno, ya que se ha usado un algoritmo muy simple y que puede no resultar tan satisfactorio como debiera a la hora de entrenar una red neuronal. Sin embargo, el resultado obtenido sí puede servir para realizar una inicialización de los pesos de la red para que luego un algoritmo tradicional termine el entrenamiento. Esto sería una función de entrenamiento híbrida y se estudiará en el siguiente apartado. b) Algoritmo genético como inicialización de los pesos Como ya se explicó en el capítulo 4, existe la posibilidad de utilizar un algoritmo genético no para entrenar por completo una red como en el apartado anterior, sino para realizar una primera búsqueda global de una - 142 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales primera solución. Esta búsqueda, debido a las características propias de los algoritmos genéticos, es más amplia que la realizada por los algoritmos tradicionales de descenso del gradiente. Como se ha visto en el apartado anterior, el algoritmo genético diseñado para entrenar por completo una red sencilla feedforward no es útil. Conlleva un tiempo de ejecución muy grande y proporciona resultados muy malos que no servirían para resolver ningún problema de predicción. Sin embargo, es posible que la solución encontrada por el algoritmo genético sirva de punto de partida para que un algoritmo tradicional encuentre una mejor solución al problema de optimización de los pesos de la que encontraría por sí mismo. En los algoritmos tradicionales la búsqueda se ciñe al entorno cercano al punto de partida, que viene dado por la función de inicialización de los pesos que suele ser una función que genera números aleatorios. De esta forma, se generan unos pesos aleatorios situando la primera solución en un punto el espacio de soluciones a partir del cual se irá moviendo siguiendo el camino que le dicte el algoritmo de descenso del gradiente utilizado. Es por esto que la búsqueda de los algoritmos tradicionales es bastante local. Se puede intentar mitigar este hecho mediante el entrenamiento de varias redes neuronales, con lo que se consiguen varios puntos de partida en el espacio de soluciones y por lo tanto una búsqueda algo más amplia. Al final se escoge la red que menor error de entrenamiento produce. - 143 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales El algoritmo genético, al estar basado en reglas de reproducción y mutación realiza una búsqueda en el espacio global de soluciones que resulta mucho más amplia que la realizada por un algoritmo tradicional. En función del número de individuos que se tenga en cada generación, se dispone de más o menos puntos de partida. En el caso de este proyecto se han elegido 20 individuos por generación, lo cual supone 20 puntos de partida distintos en el espacio de soluciones. Además, la evolución de estas soluciones no se hace siguiendo el camino del mayor descenso del gradiente, sino mediante la mezcla de dos individuos, por lo que los desplazamientos en el espacio son más sencillos. Finalmente, los operadores de mutación hacen “saltar” a las soluciones de un punto a otro del espacio con lo que se abarcan muchas más soluciones posibles. Sin embargo, esta aparente ventaja del algoritmo genético es también su punto débil, pues aunque las reglas de reproducción se basen en dar más probabilidades de tener descendencia a los individuos más aptos, es difícil que el algoritmo converja a una buena solución, comparable a la obtenida mediante algoritmos tradicionales. Es por esta razón que en el apartado anterior no se han obtenido buenos resultados. Se podría intentar solucionar este problema mediante la modificación del algoritmo para que ofreciera mejores soluciones, variando las reglas de reproducción, mutación, número de individuos o de generaciones. Pero este no es el objetivo principal de este proyecto, pues realizar esas modificaciones supondría una tarea muy laboriosa y se dejará como líneas futuras de desarrollo. - 144 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Sin embargo, no se quiere dejar pasar por alto las propiedades tan favorables de búsqueda global que permiten los algoritmos genéticos, y es por ello que se ha planteado la posibilidad de utilizarlos como función de inicialización de los pesos de un algoritmo tradicional en lugar de tomar unos pesos aleatorios. En este proyecto se ha tomado el algoritmo genético presentado en el apartado anterior con 20 individuos y 100 generaciones. Su resultado se ha trasladado al algoritmo tradicional de entrenamiento de redes neuronales Traingdm (algoritmo de descenso del gradiente con factor de aprendizaje adaptativo) y se han comparado los resultados obtenidos con la función de inicialización típica de los pesos con la inicialización con un algoritmo genético. Para evaluar la red se ha tomado un período de validación del 1 de junio al 31 de octubre de 2007. Para que los datos sean más representativos se han entrenado las dos redes 100 veces cada una, obteniendo los siguientes resultados: 11.75 Tradicional Genético 11.7 Error MAPE (%) 11.65 11.6 11.55 11.5 11.45 11.4 11.35 11.3 0 10 20 30 40 50 60 Ejecuciones 70 80 90 100 Figura 5-28. Errores cometidos en sucesivas ejecuciones con entrenamiento genético y tradicional. - 145 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Como se puede ver en la figura 5-28, el entrenamiento inicializado con el algoritmo genético llega siempre a la misma solución, mientras que el entrenamiento con el algoritmo de descenso del gradiente tradicional es inestable proporcionando errores diferentes en cada ejecución. Además, el error es mayor con el algoritmo tradicional llegando en el mejor de los casos a un 11,41%, mientras que el algoritmo genético proporciona siempre un 11,33%. Entrenamiento con Algoritmo Genético y algoritmo tradicional 2.5 Genético Tradicional 2 Error (MSE) 1.5 1 0.5 0 0 200 400 600 800 Iteraciones 1000 1200 1400 1600 Figura 5-29. Comparación del entrenamiento con un algoritmo genético y un algoritmo tradicional Además, se observa en el gráfico 5-29 que el algoritmo genético llega antes a una solución mejor que el algoritmo tradicional. Esto se explica porque el algoritmo genético ya proporciona una solución más optimizada desde - 146 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales el comienzo. Sin embargo, como el genético ha realizado una búsqueda más extensa en el espacio de soluciones, la solución encontrada es mejor que la del algoritmo tradicional. En la figura 5-30 se representan las dos predicciones junto con el precio real de la electricidad: Predicciones con distintos entrenamientos 6 Precio real Genético Tradicional 5.5 Precio (Cents/kWh) 5 4.5 4 3.5 3 2.5 Figura 5-30. Comparación del entrenamiento con un algoritmo genético y un algoritmo tradicional Se observa que la predicción del precio es parecida en ambos casos y sigue bastante bien la forma del precio real. La diferencia entre ambas predicciones no se puede observar mediante este gráfico y sólo se aprecia en la medida de los errores obtenidos. - 147 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Como conclusión a este apartado cabe decir que los algoritmos genéticos parecen una herramienta muy útil en el problema de predicción del precio de la electricidad. El algoritmo usado en este proyecto es muy básico y poco depurado, por ello se han obtenido malos resultados a la hora de usarlo como única función de entrenamiento. Sin embargo, es posible que un algoritmo perfeccionado y más completo junto con unos medios más potentes permitan utilizarlo como un sustituto a las funciones de entrenamiento habituales. En cuanto al uso de un algoritmo de entrenamiento híbrido en el cual se inicialicen los pesos con un genético y se afinen con uno tradicional, se ha demostrado que es un tipo de entrenamiento muy eficaz. No sólo reduce el error cometido por la red, sino que este es constante en todas las ejecuciones. Esta constancia de resultados puede que no siempre sea así y haya redes que varíen un poco sus resultados en las ejecuciones, sin embargo, parece razonable pensar que la solución encontrada por el algoritmo genético y afinada por el tradicional es más robusta y por ello el resultado obtenido variará muy poco. - 148 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 5.7 MODELOS DE PREDICCIÓN DEL PRECIO DE LA ELECTRICIDAD PARA EL MERCADO ELÉCTRICO ESPAÑOL Para realizar la predicción del precio de la electricidad se han usado una gran diversidad de modelos y de técnicas de predicción. En este documento se trata de abordar esta tarea mediante el uso de redes de neuronas artificiales. Como ya se ha explicado anteriormente existen varios tipos de redes neuronales y algunas de ellos se han usado con mejores o peores resultados a la hora de predecir el precio que tomará la electricidad. Cada uno de estos tipos de redes neuronales tiene sus ventajas e inconvenientes en función de su estructura. En general, cuánto más simple sea un modelo mejores resultados proporcionará, pues tendrá una capacidad de generalización mayor. Si la estructura es demasiado compleja es posible que la red neuronal “memorice” los datos de entrenamiento en lugar de captar las relaciones generales que determinan la salida deseada para cualquier conjunto de datos. Esto es lo que se denomina sobreentrenamiento, y ocurre con más facilidad en redes muy complejas. Sin embargo, si el modelo es demasiado simple, es posible que no sea capaz de captar toda la información disponible en los datos de entrada al modelo y las predicciones sean pobres. El mayor número de neuronas, variables de entrada y conexiones permite captar una mayor cantidad de relaciones y cada vez más complejas. Así, para realizar una buena predicción es necesario llegar a un - 149 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales compromiso entre simplicidad del modelo y capacidad de captar información. En este proyecto se van a estudiar tres modelos de predicción. Cada uno con unas características particulares que lo pueden hacer especialmente adecuado para el problema de predicción del precio de la electricidad. Estos modelos son: a) Modelo feedforward Es el modelo que se ha utilizado durante todo este capítulo. Es el modelo más simple y el más usado, pues no tiene ninguna realimentación y sólo tiene como información de entrada las variables externas que se le introducen. La información sigue un camino directo alimentando a las neuronas de la red desde las variables de entrada hasta la neurona de salida, sin ningún bucle (de ahí que se denomine feedforward). La principal ventaja de usar este modelo es que su simplicidad ayuda a evitar el sobreentrenamiento y facilita su diseño y su ajuste para el problema de predicción. Además, cuánto más sencilla es la red menos tiempo y memoria del ordenador consume en su entrenamiento y evaluación, por lo que este tipo de red permite que se hagan muchas más pruebas y con mayores conjuntos. - 150 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales El inconveniente que tiene esta red es que su sencillez no permite establecer relaciones más complejas con propiedades también muy interesantes para problemas de predicción. b) Modelo NARX Es un modelo similar al anterior salvo que contiene un lazo de realimentación desde su neurona de salida hasta la capa de entrada. Es un modelo poco utilizado en problemas de predicción aunque algunos autores sí han tenido éxito en sus predicciones como [ANDA06]. a pesar de ser relativamente simple, añade la realimentación que permite a la red tener una “memoria interna” donde guarda los valores pasados de la salida y los reintroduce después de un número determinado de retardos en la red como una variable de entrada más. En este proyecto se tratará de determinar si este modelo puede competir con el modelo feedforward que es más popular. A la hora de predecir el precio de la electricidad los valores que probablemente más ayudan a la predicción son los retardos del precio más cercanos (t-1, t-2,…) como se ha podido ver en la función de autocorrelación parcial del precio (figura 5-31). Sin embargo, estos retardos no se pueden introducir como variables externas, pues no se dispone de esta información, sólo se tiene información del precio de la electricidad del día anterior, no se tiene información del precio de ninguna hora del día que se intenta predecir. Es por ello que esta red permite introducir no los valores en t-1, t-2,… sino las predicciones de estos - 151 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales valores, que si bien no son tan buenas variables como los reales, pueden ser muy útiles y mejorar la predicción respecto al modelo feedforward. Función de autocorrelación parcial (Precio) Autocorrelación parcial 1 0.5 0 -0.5 0 20 40 60 80 100 120 Retardos 140 160 180 200 Figura 5-31. Función de autocorrelación parcial del precio Sin embargo, pese a la ventaja que supone disponer de las predicciones de los valores anteriores del precio, el bucle de realimentación que lo hace posible complica la red y hace que tanto el tiempo de ejecución como la cantidad de memoria necesaria aumenten considerablemente. Esto provoca que no se puedan ejecutar tantas pruebas y el ajuste fino de la red no sea tan bueno como en la anterior. Además, con los medios disponibles no es posible entrenar este modelo con un conjunto de datos muy amplio. - 152 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales c) Modelo Recurrente con Error Este modelo es muy similar al modelo NARX, también tiene bucles de realimentación pero la diferencia está en que además de realimentar la salida de la red, se realimenta también con el error cometido por la red en momentos pasados. Este modelo no ha sido estudiado con anterioridad y en este proyecto se intentará comprobar si supone alguna mejora respecto a los modelos anteriores que sí han sido estudiados. En el período de entrenamiento se introduce en la red los retardos de la salida producida restados a los valores del precio en esos mismos retardos, con lo que se obtiene el error. Sin embargo, en el período de validación no se dispone de los valores del precio para los retardos t-1, t2,…,t-23 por lo que para estos retardos se haría el error nulo, que es la esperanza del error en cualquier momento. Con este modelo lo que se intenta conseguir es que la red capte el error que está cometiendo en el entrenamiento y esto le ayude a la hora de ajustar los pesos. Después, en el período de validación puede que también le ayude a saber que errores ha cometido en instantes pasados para confeccionar la salida en el instante actual. Este modelo también requiere un tiempo de ejecución y una cantidad de memoria grande, incluso más que el modelo NARX ya que tiene más - 153 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales bucles de realimentación, por lo que el ajuste fino y la cantidad de ejemplos que se pueden emplear para el entrenamiento son limitados. Como ya se ha visto en el apartado de análisis de las variables significativas, se usarán para los modelos feedforward y NARX las variables: Demanda, Demanda (t-168), Precio (t-24), Precio (t-168), Producción Eólica, Producción Hidráulica (t-24), Intercambios Internacionales (t-24) y Producción térmica (t-24). Sin embargo, como el modelo Recurrente con Error es más complejo que estos dos modelos, utilizará las mismas variables que ellos salvo Intercambios Internacionales (t-24) y Producción Hidráulica (t-24) que son las variables con menos sensibilidad de entre las 8 más significativas. De esta forma se simplifica un poco la red permitiendo una mejor predicción. A continuación se realizará el ajuste fino de las redes tomando como período de entrenamiento del 1 de febrero al 31 de mayo de 2007 y como período de validación del 1 de junio al 21 de octubre de 2007. Se ha variado el número de neuronas desde 4 neuronas a 8. Se toma el número de neuronas que menor error da y se añade una segunda capa oculta con un número de neuronas cercano a la mitad de la primera capa oculta. De esta forma, se han obtenido los siguientes resultados: - 154 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales a) Modelo feedforward Número de neuronas Error MAPE (%) 4 11,74 5 11,99 6 12,05 7 12,20 8 11,84 {8,3} 11,13 {8,4} 11,35 {8,5} 12,12 Tabla 5-13. Análisis del número de neuronas en el modelo feedforward. Viendo los resultados de la tabla 5-13 se ha optado por elegir la red con 4 neuronas en una sola capa oculta. Se ha probado también a añadir una segunda capa oculta a una primera con 8 neuronas, pero el resultado sigue siendo peor. a) Modelo NARX Para este modelo se han empleado los retardos más significativos del precio, que son t-1 y t-2. Obteniendo los resultados de la tabla 5-14. - 155 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Número de neuronas Error MAPE (%) 4 12,09 5 12,36 6 12,99 7 12,48 8 12,55 {4,2} 13,25 Tabla 5-14. Análisis del número de neuronas en el modelo NARX (I). Si se toman 4 y 5 neuronas y se añade el siguiente retardo del precio significativo (t-22), se obtienen los siguientes resultados: Número de neuronas Error MAPE (%) 4 12,68 5 13,41 Tabla 5-15. Análisis del número de neuronas en el modelo NARX (II). Si se comparan los resultados de la tabla 5-15 con los obtenidos para los retardos de t-1 y t-2 en la tabla 5-14, se ve que el error empeora al añadir el retardo en t-22, por lo que sólo se emplearán los primeros. Además, se observa que el menor error se consigue con un número de neuronas relativamente pequeño. Con tan sólo 4 neuronas la red - 156 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales proporciona un error menor que para un número de neuronas mayor. Con este número de neuronas no tiene sentido añadir una segunda capa como se puede comprobar por los resultados. De esta forma, se tomará como número óptimo de neuronas de esta red 4 neuronas en una sola capa oculta. a) Modelo Recurrente con Error En este modelo se emplearán primero como retardos del error t-24 y t-168 y a continuación t-1 y t-2 tomando un número de neuronas cercano al óptimo obtenido anteriormente. Debido a la complejidad de la red tan sólo se usará el retardo t-1 de la salida en cualquier caso. a.1) Retardos del error t-24 y t-168 Número de neuronas Error MAPE (%) 4 14,58 5 12,64 6 13,58 7 12,98 8 13,36 {5,2} 14,47 {5,3} 14,15 Tabla 5-16. Análisis del número de neuronas en el modelo recurrente con error (I). - 157 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales a.2) Retardos del error t-1 y t-2 Número de neuronas Error MAPE (%) 4 26,94 5 20,67 6 22,58 Tabla 5-17. Análisis del número de neuronas en el modelo recurrente con error (II). El emplear los retardos en t-1 y t-2 produce un error mucho más grande que con los retardos de t-24 y t-168 como se puede observar en las tablas 516 y 5-17. Esto se puede deber a que la red en la fase de validación tome el error como nulo en todos los casos, lo cual puede interferir con la red al ser el valor real del error distinto de cero. Cuando se emplean los retardos de t-24 y t-168, sí se dispone del valor del error y no se perturba el funcionamiento que ha visto la red en el entrenamiento. El menor error se obtiene con 5 neuronas en una capa oculta y retardos en t-24 y t-168. El añadir una nueva capa oculta adicional de nuevo supone un aumento considerable del error por lo que no se aplicará. Se observa en general que cuánto más simple es la red mejores resultados proporciona. Es decir, si tiene un número de neuronas relativamente pequeño las predicciones que realiza son mejores. - 158 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales De esta manera, los modelos finales son los siguientes: a) Modelo feedforward Figura 5-32. Modelo feedforward - 159 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales b) Modelo NARX Figura 5-33. Modelo NARX - 160 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales c) Modelo Recurrente con Error Figura 5-34. Modelo Recurrente con Error 5.8 RESULTADOS En este apartado se va a analizar en profundidad los resultados obtenidos mediante los tres modelos de redes neuronales desarrollados en este proyecto (figuras 5-32, 5-33 y 5-34). Para ello, se va a entrenar la red con un conjunto suficientemente amplio de datos y se evaluará con otro conjunto de datos también amplio. El resultado de las predicciones se comparará - 161 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales con el precio real que tomó la electricidad en el período de validación y se analizarán tanto las características de la predicción realizada por la red como los errores cometidos. Para poder aprovechar toda la potencia de las redes hace falta un conjunto de entrenamiento suficientemente amplio y representativo. Como ya se ha visto, el precio de la electricidad sufre variaciones durante todo el año y su característica cambia dependiendo del mes del año que se estudie. Es por ello, que la mejor opción para comprobar la potencia de la red es entrenarla con un conjunto de un año y validarla con un conjunto de otro año. De esta forma, se podrá captar todas las variaciones estacionales que sufre el precio normalmente. En este proyecto se ha decidido entrenar la red con el conjunto de datos desde el 1 de enero de 2007 al 31 de diciembre de ese año y validar con el conjunto de datos desde el 1 de enero al 31 de diciembre de 2008. Además, como cada mes del año tiene una característica diferente, se harán comparaciones mensuales de los resultados obtenidos por cada red. A la hora de medir el error existen diferentes tipos como ya se ha visto. En este apartado se realizará la medida con diferentes tipos de errores y se analizarán los resultados. En este proyecto se van a utilizar como medidas del error: MAPE, SDE, RMSE, MAE y R2. Si se entrenan los tres modelos con todos los datos de 2007 para validar los resultados con todo el año 2008 se obtienen los siguientes resultados: - 162 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Modelo MAPE (%) SDE RMSE MAE R2 (%) Feedforward 8,56 0,675 0,676 0,512 72,35 NARX 8,71 0,673 0,678 0,519 72,50 Recurrente con Error 8,88 0,688 0,690 0,525 71,31 Tabla 5-18. Errores de predicción para el año 2008. Se observa en la tabla 5-18 que el modelo feedforward presenta mejores errores que los otros dos modelos salvo en el error R2 que es superado por el NARX. Tanto el modelo NARX como el modelo Recurrente con Error presentan también una buena predicción siendo mejor la predicción de la red NARX. A continuación se realizará el estudio de errores para cada mes de 2008 individualizado: Mes Modelo MAPE (%) SDE Enero Feedforward 10,34 0,895 0,911 0,695 65,73 NARX 11,36 0,946 0,946 0,733 61,68 Recurrente con Error 11,81 0,980 0,980 0,756 58,85 Feedforward 10,00 0,837 0,871 0,687 65,39 NARX 10,67 0,864 0,864 0,709 63,16 Recurrente con Error 10,80 0,867 0,869 0,711 62,84 Febrero - 163 - RMSE MAE R2 (%) UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Mes Modelo MAPE (%) SDE Marzo Feedforward 10,33 0,676 0,789 0,619 60,10 NARX 9,01 0,642 0,701 0,534 64,04 Recurrente con Error 9,64 0,672 0,742 0,577 60,53 Feedforward 6,65 0,486 0,485 0,370 61,92 NARX 7,20 0,516 0,516 0,400 56,96 Recurrente con Error 7,10 0,511 0,511 0,388 57,87 Feedforward 6,90 0,465 0,465 0,380 53,98 NARX 7,10 0,480 0,483 0,388 51,23 Recurrente con Error 7,49 0,491 0,491 0,410 48,78 Feedforward 6,97 0,444 0,465 0,376 76,61 NARX 6,79 0,440 0,461 0,369 76,98 Recurrente con Error 7,62 0,495 0,506 0,408 70,95 Feedforward 6,96 0,495 0,555 0,452 73,84 NARX 6,60 0,487 0,529 0,431 74,64 Recurrente con Error 6,72 0,510 0,542 0,443 72,16 Feedforward 6,22 0,542 0,543 0,424 68,42 NARX 6,65 0,558 0,564 0,449 66,55 Recurrente con Error 6,44 0,565 0,565 0,442 65,68 Feedforward 6,61 0,506 0,579 0,467 74,64 NARX 6,96 0,492 0,586 0,480 76,06 Abril Mayo Junio Julio Agosto Septiembre - 164 - RMSE MAE R2 (%) UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Mes Octubre Noviembre Diciembre Modelo MAPE (%) SDE RMSE MAE Recurrente con Error 6,48 0,499 0,558 0,451 75,34 Feedforward 8,83 0,689 0,702 0,549 74,87 NARX 9,30 0,698 0,728 0,572 65,31 Recurrente con Error 8,90 0,709 0,715 0,551 64,20 Feedforward 9,47 0,656 0,694 0,524 74,87 NARX 9,43 0,685 0,708 0,531 72,62 Recurrente con Error 9,50 0,692 0,705 0,529 72,04 Feedforward 13,50 0,824 0,836 0,607 63,67 NARX 13,61 0,842 0,842 0,636 62,00 Recurrente con Error 14,22 0,866 0,875 0,646 59,82 R2 (%) Tabla 5-19. Errores de predicción mensuales para el año 2008. Observando los errores mensuales de la tabla 5-19 destaca que en la mayoría de los meses el modelo feedforward es mejor que los otros dos modelos. Sin embargo, en marzo, junio, julio y noviembre el modelo NARX es mejor y en el mes de septiembre el mejor modelo es el Recurrente con Error. Los errores varían desde un 14% aproximadamente en diciembre hasta un 6% en los meses de julio, agosto y septiembre. - 165 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Errores mensuales de predicción 15 Feedforward NARX Error 14 13 Error MAPE (%) 12 11 10 9 8 7 6 5 Ene Feb Mar Abr May Jun Jul Meses Ago Sep Oct Nov Dic Figura 5-35. Errores MAPE mensuales cometidos por los tres modelos durante 2008 En general, se observa en el gráfico 5-35 que los meses más difíciles de predecir para todos los modelos son los meses de invierno, mientras que los meses de verano son los que mejor predicen. Esto es debido a que los meses de invierno (de octubre a marzo) presentan una volatilidad mayor, mientras que los meses de verano (de abril a septiembre) son más estables y por lo tanto más fáciles de predecir, como se puede comprobar en la figura 5-36. - 166 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Precio de la electricidad en 2008 11 10 9 8 Precio 7 6 5 4 3 2 1 Ene Feb Mar Abr May Jun Jul Ago Sep Oct Nov Dic Figura 5-36. Precios de la electricidad en el verano de 2008 A continuación se presentan las peores y mejores predicciones de cada modelo frente a los valores reales del precio. En todos los modelos el peor mes es el de diciembre, mientras que los mejores son para el modelo feedforward el mes de agosto, para el modelo NARX el mes de julio y para el modelo Error el mes de septiembre: - 167 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales a) Modelo feedforward Agosto 9 8 7 6 5 15/08/08 Diciembre 9 8 7 6 5 4 3 15/12/08 30/12/08 Figura 5-37. Predicciones con el modelo feedforward en agosto y diciembre de 2008 Se observa en la primera gráfica de la figura 5-37 que en la mayor parte de las ocasiones la predicción sigue bien la forma que toma finalmente el precio. Además, se observa que en el mes de diciembre la red no es capaz de captar bien los picos que toma el precio finalmente, por lo que el error cometido en este mes es mayor. Sin embargo, los valores intermedios sí que son predichos con bastante precisión. - 168 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales b) Modelo NARX Julio 8.5 8 7.5 7 6.5 6 5.5 01/07/08 15/07/08 Diciembre 9 8 7 6 5 4 3 15/12/08 30/12/08 Figura 5-38. Predicciones con el modelo NARX en julio y diciembre de 2008 En este modelo se observa que la predicción es algo peor no siguiendo tan bien el precio real, aunque sigue siendo una predicción bastante buena. La predicción para el mes de diciembre sigue presentando los problemas del modelo feedforward, como se ve en el gráfico 5-38. - 169 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales c) Modelo Recurrente con Error Septiembre 9 8 7 6 15/09/08 30/09/08 Diciembre 9 8 7 6 5 4 3 2 15/12/08 31/12/08 Figura 5-39. Predicciones con el modelo Recurrente con Error en septiembre y diciembre de 2008 Finalmente, en el modelo Recurrente con Error, la predicción es también buena aunque como en el modelo NARX se observa en la figura 5-39 que no sigue tan bien el precio real como el modelo feedforward. En el mes de diciembre le ocurre lo mismo que a los otros modelos. En cuanto a los tiempos de ejecución de los modelos el más eficiente es, con diferencia, el modelo feedforward que llega a ser unas 100 veces más rápido que los otros dos modelos con la función de entrenamiento - 170 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Trainlm. Esto es debido a los bucles de realimentación que presentan la red NARX y la red Recurrente con Error que ralentizan en gran medida el proceso de aprendizaje y evaluación de la red. Como conclusión a los resultados obtenidos se puede decir que el modelo más apropiado para la predicción del precio de la electricidad es el modelo feedforward. No sólo presenta en general menores errores que los otros dos modelos (aunque las diferencias no son muy grandes), sino que además el tiempo de ejecución es mucho menor. Sin embargo, para el mes de marzo se podría emplear la red NARX en lugar de la red feedforward, pues presenta un error claramente menor. - 171 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Capítulo 6 CONCLUSIONES - 172 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Capítulo 6 • CONCLUSIONES Uno de los objetivos de este proyecto era determinar las variables afectan de manera significativa al precio de la electricidad. Para ello, se partió en un primer momento de 19 variables explicativas y mediante una red neuronal feedforward y un análisis estadístico de sensibilidades, se llegó a la conclusión de que las variables significativas del precio en la hora de predicción t son las siguientes: la demanda en la hora t, la demanda en t-168 (la semana anterior), el precio en t-24 (el precio del día anterior), el precio en t-168, la previsión de generación eólica en la hora t, la producción térmica en t24, la producción hidráulica en t-24 y los intercambios internacionales en t-24. • También se ha comprobado que los algoritmos genéticos pueden suponer una buena alternativa a las funciones de entrenamiento tradicionales basadas en el descenso del gradiente. La principal ventaja de los algoritmos genéticos frente a los algoritmos tradicionales es que realizan una búsqueda más global dentro del espacio de soluciones. En principio, los algoritmos genéticos por sí mismos no parecen una buena opción, pues los tiempos de ejecución son mucho mayores que los de los algoritmos tradicionales y las predicciones que consiguen son peores. Sin embargo, se ha demostrado en este proyecto que un algoritmo híbrido de - 173 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales entrenamiento que comience realizando una primera búsqueda con un algoritmo genético y después emplee un algoritmo tradicional para ajustar la solución encontrada, es una alternativa que obtiene predicciones más precisas y niveles de error más constantes que los algoritmos tradicionales por si solos, aunque presenta el inconveniente de que el tiempo de ejecución empleado es mayor. • Al realizar las predicciones se ha demostrado que es muy beneficioso para las redes neuronales aplicar un tratamiento previo a los datos que maneja. Se hace especialmente indicada la transformación de las variables de entrada a la red de tal forma que todas tengan media nula y varianza unitaria. Además, la eliminación de la tendencia del precio de la electricidad para que tenga una media estacionaria mejora sustancialmente las predicciones. También es conveniente eliminar de la fase de entrenamiento los valores extremos que a veces presenta el precio de la electricidad, conocidos como spikes. • Finalmente, el objetivo principal de este proyecto consistía en encontrar un modelo de red neuronal que proporcione predicciones precisas sobre el precio de la electricidad en un horizonte de 24 horas. Se ha comprobado que los modelos de predicción basados en redes neuronales son muy efectivos a la hora de realizar este tipo de predicciones. Además, ha quedado demostrado que los tres modelos ensayados en este proyecto aportan buenos resultados, proporcionando predicciones similares y en todos los casos con un error MAPE menor del 9%. - 174 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales El modelo feedforward, que presenta la estructura más simple, obtiene un error para la predicción del precio de la electricidad en el mercado eléctrico español en el año 2008 del 8,56%. Este modelo está constituido por una capa de neuronas en una sola capa oculta sin ningún tipo de realimentaciones. El modelo NARX tiene la misma estructura que el feedforward pero con una conexión de realimentación desde la neurona de salida hasta la capa de entrada que le permite añadir como variables de entrada las predicciones de las dos horas anteriores (t-1 y t-2). Este modelo presenta un error MAPE del 8,71% para el mismo período de validación que el modelo anterior. Este es un buen resultado, pues a pesar de ser una red poco utilizada, presenta unos resultados muy similares a los de la red feedforward, y de hecho presenta errores menores que ésta para algunos meses del año. No parece que el lazo de realimentación suponga una mejoría para este horizonte temporal, sin embargo, es posible que con horizontes de predicción de más de un día este lazo proporcione una ventaja frente a otros modelos. El modelo recurrente con error presenta de también una sola capa oculta y posee dos lazos de realimentación. El primero de estos lazos es como el del modelo NARX pero sólo introduce al modelo como variable de entrada la predicción en la hora anterior (t-1). El segundo lazo introduce a la red los errores de predicción cometidos por ésta el día y la semana anterior (t-24 y t-168). Este modelo también realiza - 175 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales predicciones satisfactorias con un MAPE del 8,88%. Sin embargo, pese a lo que se pretendía, no parece que la introducción del error cometido por la red en momentos pasados ayude a mejorar la predicción. Además, si se introducen retardos menores de 24 horas, como durante la validación no se dispone de los valores reales del precio se realimenta un error nulo, y esto hace que las predicciones sean peores. Aún así, ha quedado demostrado que este modelo es tan válido como el feedforward que es el más empleado o el modelo NARX, menos empleado pero más establecido. De hecho, en el mes de septiembre de 2008 presenta mejores errores que estos dos modelos. Finalmente, también se ha comprobado que los meses de invierno son más difíciles de predecir que los meses de verano para todos los modelos de redes neuronales. Esto es debido a que los meses de verano son más estables y con menos picos, mientras que los meses de invierno el precio de la electricidad presenta una mayor volatilidad dificultando la predicción. - 176 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Capítulo 7 FUTUROS DESARROLLOS - 177 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales Capítulo 7 FUTUROS DESARROLLOS En futuras investigaciones sería interesante realizar más predicciones sobre los modelos recurrentes variando el número de retardos e incluyendo aquellos que no han sido estudiados en este documento. En este proyecto, debido a las limitaciones de los medios disponibles sólo se han probado los retardos principales. Sin embargo, es posible que haya otros retardos que a priori no parezcan relevantes y que hagan que las predicciones sean mejores. El principal problema que se ha encontrado a la hora de definir y ajustar las redes neuronales es el diseño de la topología de la red, es decir, el número de neuronas, conexiones, capas y funciones de transferencia. El problema radica en que no hay un procedimiento específico para resolver esta tarea y al final se acaba haciendo un proceso de prueba y error, donde es inviable probar todas las soluciones posibles. Sin embargo, la creación de un algoritmo genético que determine la topología óptima podría ayudar a resolver este problema. A la hora de analizar las variables significativas del precio de la electricidad se ha utilizado un análisis estadístico de sensibilidades sobre una red neuronal. Este análisis no es riguroso y puede tener fallos, ya que se basa para realizar el descarte de las variables en las relaciones que la red neuronal ha sido capaz de captar. En futuras investigaciones sería - 178 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales interesante desarrollar un método más eficaz para determinar qué variables afectan más a la formación del precio de la electricidad. De nuevo, un algoritmo genético podría ser una buena opción. A su vez, se podrían construir nuevos modelos más complejos y completos que los ya analizados. Por ejemplo, visto que cada modelo de los analizados en este proyecto es más preciso que el resto en determinados meses, se podría construir un modelo que en función de la estación o el mes, o incluso el día o la hora de predicción utilizase una red neuronal u otra. Finalmente, se ha comprobado que el uso de algoritmos genéticos a la hora de realizar el entrenamiento de las redes resulta muy útil en conjunción con un algoritmo tradicional. Sin embargo, no se ha conseguido que un genético por sí mismo pueda realizar un entrenamiento satisfactorio de una red neuronal. El algoritmo genético empleado en este proyecto era uno muy básico y poco depurado. Si se pudiera realizar de forma más exhaustiva un algoritmo genético para este propósito es posible que se consiguieran predicciones mejores. - 179 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales BIBLIOGRAFÍA [AGGA08] S. K. Aggarwal, L. M. Saini, A. Kumar, “Electricity price forecasting evaluation”, in deregulated markets: A review and National Institute of Technology, Kurukshetra. Haryana, India 2008. [AMJA05] N. Amjady, “Day-Ahead Price Forecasting of Electricity Markets by a New Fuzzy Neural Network”, IEEE. Semnan 2005. [ANDA06] A. Andalib, E. Safavieh, F. Atry, “τ-Steps Ahead Forecasts for Ontario Energy Market Using NARX Network: A Comparative Study with MARS Model and Wavelet Network”, IEEE. Tehran 2006. [DARW59] C. Darwin, “On the Origin of Species by Means of Natural Selection”, John Murray. London 1859. [GAO00] F. Gao, X. Cao, A. Papalexopoulos, “Forecasting Power Market Clearing Price and Quantity Using a Neural Network Method”, IEEE. 2000. - 180 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales [GOLD89] Goldberg D. E., “Genetic Algorithms in Search, Optimization and Machine Learning”, Addison-Wesley Longman Publishing Co. Boston 1989. [HOLL75] J. H. Holland, “Adaptation in Natural and Artificial Systems”, University of Michigan Press. Ann Arbor 1975. [HONG02] Y. Y. Hong, C. Y. Hsiao., “Locational Marginal Price Forecasting in Deregulated Electricity Markets Using Artificial Intelligence”. IEEE Transm. Distrib. Vol. 149, No. 5. Sepiembre 2002. [KARA08] N. V. Karakatsani, D. W. Bunn, “Forecasting Electricity Prices: The Impact of Fundamentals and Time-varying Coefficients”, London Business School, Elsevier B.V. London 2008. [KROS96] B. Krose, “An Introduction to Neural Networks”, The University of Amsterdam. 1996. [LECU90] Y. LeCun, J. S. Denker, S. Solla, R. E. Howard, L. D. Jackel, “Optimal Brain Damage”, Advances in Neural Information Processing Systems 2, Morgan Kaufman. Denver 1990. - 181 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales [MAND06] P. Mandal, T. Senjyu, N. Urasaki, T. Funabashi, “Electricity and Load Short-Term Forecasting Using Artificial Neural Networks”, The Berkeley Electronic Press. 2006. [MUÑO95] A. Muñoz, T. Czernichow, “Variable Selection through Statistical Sensibility Analysis: Application to Feedforward and Recurrent Neuronal Networks”, Informe 95-07-01, Institut National de Télécomunications, Paris. 1995. [MUÑO96] A. Muñoz, “Aplicación de Técnicas de Redes Neuronales Artificiales al Diagnóstico de Procesos Industriales”, Tesis Doctoral, Universidad Pontificia Comillas de Madrid. 1996. [NIIM00] T. Niimura, T. Nakashima, “Deregulated Electricity Market Data Representation by Fuzzy Regression Models”, IEEE. Vancouver 2000. [PEÑA05] D. Peña, “Análisis de Series Temporales”, Alianza Editorial. Madrid 2005. [PIND07] N. M. Pindoriya, S. N. Singh, S. K. Singh, “An Adaptive Wavelet Neural Network-Based Energy Price Forecasting in Electricity Markets”, IEEE. Kanpur 2007. - 182 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales [PINO07] R. Pino, J. Parreno, A. Gómez, P. Priore, “Forecasting NextDay Price of Electricity in The Spanish Energy Market Using Artificial Neural Networks”, Universidad de Oviedo. 2007. [RECH73] Evolutionsstrategie: Optimierung technischer Systeme nach Prinzipien der biologischen Evolution, FrommannHolzboog. Stuttgart 1973. [RIVE07] D. Rivero, “Desarrollo y Simplificación de Redes de Neuronas Artificiales mediante el uso de Técnicas de Computación Evolutiva”, Tesis Doctoral, Universidade da Coruña. 2007. [RODR03] C. P. Rodríguez, G. J. Anders, “Energy Price Forecasting in the Ontario Competitive Power System Market”, IEEE. Toronto 2003. [SZKU99] B. R. Szkuta, L. A. Sanabria, T. S. Dillon, “Electricity Price Short-Term Forecasting Using Artificial Neural Networks”, IEEE. Melbourne 1999. [TRON06] A. Troncoso, J. M. Riquelme, A. Gómez, J. L. Martínez, J. C. Riquelme, “Electricity Market Price Forecasting Based on Weighted Nearest Neighbors Techniques”, IEEE. Sevilla - 183 - UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) Predicción del precio de la electricidad mediante redes neuronales 2006. [VIÑU04] I. Viñuela, P. Galván, M. Inés, “Redes de Neuronas Artificiales: Un Enfoque Práctico”, Prentice Hall. Madrid 2004. [WERO06] R. Weron, “Modeling and Forecasting Electricity Loads and Prices”, John Wiley & Sons Ltd. Sussex 2006. [ZHAN03] L. Zhang, P.B. Luh, “Neural Network-Based Market Clearing Price Prediction and Confidence Interval Estimation With an Improved Extended Kalman Filter Method”, IEEE. Connecticut 2003. - 184 -