• No results found

Capítulo 6: Preparación de los datos

6.5 Corte de los datos

Fraccionamiento de los datos

El objetivo de esta fase de pre-procesamiento de los datos es disponer de una base de datos que nos permita entrenar, evaluar y testear la red neuronal. Una de las características más importantes de las redes neuronales es su capacidad de generalización, y por ello es muy importante diseñar una red neuronal que sea capaz de predecir a partir de nuevos datos. Si se utilizan todos los datos para entrenar y validar el modelo generado por una red neuronal no se podrá saber cómo va a responder ante la entrada de nuevos datos. Pueden ocurrir dos tipos de problemas [51]:

Ajuste deficiente (underfitting): sucede cuando el modelo se ajusta mal a los datos y hay errores grandes a la hora de entrenar y testear los datos.

Sobre ajuste (overfitting): sucede cuando se ha ajustado demasiado el modelo a los datos de entrenamiento. Presenta una precisión muy elevada a la hora tratar con los datos conocidos, y una baja precisión al tratar con datos nuevos. También puede aparecer en caso de disponer datos muy ruidosos ya que el modelo podría ajustarse de forma errónea a una región de los datos compuesta por outliers.

Con el objetivo de evitar estos problemas se cortan los datos. Una parte se utilizará para entrenar el modelo, otra para validarlo, y finalmente otra para testearlo. Cada uno de los trozos de los datos está compuesto por un conjunto de datos que conforman las variables de entrada, y otros datos que

D. M. Baer | Universidad de las Islas Baleares, 2019-2020 87 conforman la salida a predecir (targets)[58]. A continuación, se describe cada uno de estos conjuntos de datos:

 Conjunto de entrenamiento: mediante los datos de entrenamiento se ajustan los parámetros de la red neuronal, como por ejemplo los pesos que interconectan las neuronas de diferentes capas. Para ello se utiliza algún método de entrenamiento supervisado, que intenta predecir la salida a partir de los datos de entrada. En función de la salida predicha, y su comparación con los targets, se van ajustando los parámetros.

Habitualmente representa alrededor del 70 % de los datos

 Conjunto de validación: cuando se cree que se ha obtenido un modelo ajustado, se utilizan estos datos nuevos para realizar una nueva previsión. Los datos de validación permiten detectar insuficiencias en el modelo e ir modificando su estructura (cantidad de neuronas en la capa oculta, cantidad de capas ocultas...). Habitualmente representa un 10 % de los datos.

 Conjunto de testeo: estos datos se utilizan para realizar una evaluación final del modelo.

Habitualmente representa un 20% de los datos.

En la Figura 50 se puede ver la dimensión habitual de cada subconjunto, respecto al total de los datos.

Figura 50: Partición de los datos en subconjuntos. Fuente: Elaboración propia.

En la Figura 51 se puede ver como se suelen utilizar los diferentes conjuntos de datos en el flujo de trabajo de un modelo de predicción.

Figura 51: Flujo de trabajo, usando los tres conjuntos de datos. Fuente: Elaboración propia.

D. M. Baer | Universidad de las Islas Baleares, 2019-2020 88 6.5.1 FRACCIONAMIENTO DE LOS DATOS DEL PARQUE EÓLICO DE ES MILÁ

El proceso de fragmentación al que se ha sometido los datos de Es Milá difiere del expuesto en el apartado anterior, debido a que las series temporales contienen una cantidad muy grande de huecos temporales, y si se quiere obtener resultados de predicción de cierta calidad se debe regenerar la señal temporal. A continuación, se expone el proceso seguido para obtener archivos aptos para el entrenamiento, el testeo y la validación de la red neuronal:

Figura 52: Flujo de trabajo de la fragmentación de los datos de Es Milá. Fuente: Elaboración propia.

Clasificación de los datos según la estación del año

La clasificación de los datos según la estación anual permite mejorar la capacidad de predicción debido a que se incorpora información estacional al modelo de predicción. El objetivo es disponer de cuatro redes neuronales recurrentes NARX que han sido entrenadas y validadas con los datos de una de las estaciones del año. Posteriormente a la hora de realizar las predicciones se consulta a que estación pertenece el periodo que se quiere prever y se selecciona la red neuronal correspondiente para realizar la previsión.

Corte de las tablas de datos estacionales con tolerancias de huecos de 12 horas

Se ha generado un script de MATLAB para cortar las tablas de las estaciones en diferentes archivos cuando detecta huecos temporales mayores a 12 horas consecutivas. De esta forma se obtiene archivos relativamente grandes, y al regenerar la señal como mucho se “regeneran” datos para periodos como máximo de 12 horas consecutivas.

D. M. Baer | Universidad de las Islas Baleares, 2019-2020 89

Figura 53: Ejemplo de la fragmentación de una de las tablas estacionales. Fuente: Elaboración propia.

Regeneración de las señales

Una vez finalizada la fragmentación de las tablas de las estaciones se dispone de múltiples archivos que contienen múltiples huecos temporales. Para ello se ha generado un script en MATLAB encargado de leer cada uno de estos archivos, identificar el tamaño de los huecos y reconstruir las señales temporales. El programa primeramente se encarga de identificar la cantidad de filas faltantes, para luego reconstruir la matriz de fechas y rellenar los huecos de valores de las demás variables con

“NaN”. Posteriormente substituye los NaN por valores numéricos que obtiene realizando una media móvil de los últimos 16 valores disponibles. A continuación, se presenta un ejemplo del aspecto de la serie temporal de uno de los archivos antes de ser regenerada y posteriormente a ser reconstruida:

Figura 54: Ejemplo de la regeneración de la señal mediante la media móvil. Fuente: Elaboración propia

D. M. Baer | Universidad de las Islas Baleares, 2019-2020 90 Series temporales regeneradas

Se han seleccionado los archivos con las señales regeneradas de mayor tamaño de cada estación. De las cuales, una parte se destinará a entrenar las redes neuronales, una parte a validar el entrenamiento y optimizar la configuración de la red, y finalmente la última parte se destinará a realizar las pruebas de predicción. Se utilizará aproximadamente el 70 % de los archivos para entrenar, un 15% para la validación y un 15 % para las pruebas. Adicionalmente, con el objetivo de mejorar la capacidad de predicción, se recorta los archivos regenerados de manera que todos empiezan a la misma hora, concretamente a las 00:00:00. De esta manera se asegura que todos los archivos son procesados de la misma manera ya que disponen de un punto de inicio temporal común

Figura 55: Clasificación de las series temporales regeneradas según el uso. Fuente: Elaboración propia

D. M. Baer | Universidad de las Islas Baleares, 2019-2020 91