Download Predicción del Precio de la Electricidad Mediante Redes

Document related concepts

Red neuronal artificial wikipedia , lookup

Método de agrupamiento para el manejo de datos wikipedia , lookup

Red neuronal de impulsos wikipedia , lookup

Red neuronal prealimentada wikipedia , lookup

Software de redes neuronales wikipedia , lookup

Transcript
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 -