Trabajo de grado - Doctorado
Generación automática de modelos de pronóstico usando bloques funcionales y programación genética
Fecha
2016-12-12Autor
Martínez, Carlos Alberto
Institución
Resumen
En el marco de la predicción de series temporales, la Programación Genética ha tomado gran fuerza en los últimos años debido a su capacidad de deducir la ecuación y aquellos parámetros que mejor aproximan la relación entre la variable de salida y el conjunto de variables de entrada; sin embargo, al ser aplicada en la predicción de series de tiempo, aún presenta limitaciones en la incorporación de las componentes de ciclo, tendencia, estacionalidad y error; en el uso de aquellos rezagos de interés en todos los individuos durante el proceso de búsqueda; en la inclusión de los modelos bechmark de predicción de series de tiempo presentes en la literatura; y la redundancia de nodos (terminales y operadores) que no aportan a la aptitud del modelo. Para abordarlos, en este trabajo se modificaron: la estructura del algoritmo de programación genética original, la función de aptitud, los operadores de selección, intensificación, reproducción, mutación y cruce; además, fueron incorporadas las componentes de ciclo, tendencia, estacionalidad y error, a los bloques funcionales. Lo anterior permite la inclusión de las componentes de los modelos actuales de predicción de series de tiempo, la focalización de los individuos en regiones de interés durante el proceso de exploración, y la incorporación de conocimiento experto en la generación de la población inicial del algoritmo. Las modificaciones propuestas fueron implementadas en un prototipo en el lenguaje R, y validadas contra series de tiempo con ecuación de generación conocida (para verificar la capacidad de deducción de la ecuación a partir de los datos) y series benchmark de la literatura de predicción de series de tiempo, como son las series: AIRLINE, SUNSPOT, LYNX, INTERNET y POLLUTION. Los resultados obtenidos en términos de medidas de error comparados contra modelos ARIMA, SVM (Maquinas de vectores de soporte), MLP (perceptrones multicapa), NN (redes neuronales artificiales), DAN (redes neuronales de arquitectura dinamica) y el algoritmo original de programación genética, fueron mejores tanto en el entrenamiento como la predicción. Abstract: In the framework of time-series forecasting, Genetic Programming has taken great strength in recent years due to their ability to derive the equation and the parameters that best approximate the relationship between the output variable and the set of input variables; but when applied to the prediction time series, is still limited in the incorporation of cycle, trend, seasonality and error components; in the use of lags of interest in all individuals during the search process; in the inclusion of bechmark models of literature of time series forcasting, and the redundancy of nodes (terminals and operators) that do not contribute to the fitness of the model. To address them, in this work were modified the structure of the original genetic programming algorithm, the fitness function, selection operators, intensification, reproduction, mutation and crossover, in addition, it included cycle components, trend, seasonality and error, to the functional blocks. This allows the inclusion of components of current models of time series forecasting, the targeting of individuals in regions of interest during the exploration process, and the incorporation of expert knowledge in the generation of the initial population of the algorithm. The proposed changes were implemented in a prototype in the R language, and validated against time series generation equation with known (to verify deductibility of the equation from the data) and bechmarks of series of time series forecasting, such as the series: AIRLINE, SUNSPOT, LYNX, INTERNET and POLLUTION. The results in terms of error measures compared with ARIMA models, SVM (support vector machines), MLP (multilayer perceptron), NN (artificial neural network), DAN (Dynamic Architecture for Artificial Neural Networks) and original genetic programming algorithm, were both better training and prediction.