• No se han encontrado resultados

Técnicas Deep Learning aplicadas a la predicción de series temporales

N/A
N/A
Protected

Academic year: 2023

Share "Técnicas Deep Learning aplicadas a la predicción de series temporales"

Copied!
152
0
0

Texto completo

(1)

Alumno: Roberto de Dios Molina

Tutor: Prof. Dª. Mª Dolores Pérez Godoy Prof. D. Antonio Jesús Rivera Rivas Dpto: Informática

Junio, 2021

Escu el a P ol ité cn ica Sup er ior d e Jaé n Escu el a P ol ité cn ica Sup er ior d e Jaé n

TÉCNICAS DEEP

LEARNING APLICADAS A LA PREDICCIÓN DE SERIES TEMPORALES

U

NIVERSIDAD DE

J

AÉN

Escuela Politécnica Superior de Jaén

Trabajo Fin de Grado

(2)
(3)

Universidad de Jaén

Escuela Politécnica Superior de Jaén Departamento de Informática

Doña María Dolorés Pérez Godoy y Don Antonio Jesús Rivera Rivas, tutores del Proyecto Fin de Carrera titulado: Técnicas Deep Learning aplicadas a la predicción de series temporales, que presenta Roberto de Dios Molina, autorizan su

presentación para defensa y evaluación en la Escuela Politécnica Superior de Jaén.

Jaén, Junio de 2021

El alumno: Los tutores:

Fdo. Roberto de Dios Molina Fdo. Mª Dolorés Pérez Godoy

Fdo. Antonio Jesús Rivera Rivas

PEREZ GODOY MARIA DOLORES - 75093149N

Firmado digitalmente por PEREZ GODOY MARIA DOLORES - 75093149N Fecha: 2021.06.10 10:42:36 +02'00'

RIVERA RIVAS ANTONIO JESUS - 26015863B

Firmado digitalmente por RIVERA RIVAS ANTONIO JESUS - 26015863B Fecha: 2021.06.10 10:43:33 +02'00'

DE DIOS MOLINA ROBERTO - 77373357T

Firmado digitalmente por DE DIOS MOLINA ROBERTO - 77373357T Fecha: 2021.06.10 11:54:54 +02'00'

(4)

Índice:

Índice de ilustraciones: ... 7

1. Introducción ...12

1.1. Motivación ...12

1.2. Propósito y objetivos ...13

1.3. Metodología ...14

1.4. Planificación del proyecto ...14

1.5. Estructura del documento ...16

2. Análisis de series temporales ...17

2.1. Series temporales ...20

2.1.1. Componentes de las series temporales ...20

2.1.2. Tipos de series temporales ...22

2.1.3. Series temporales no estacionarias ...22

2.1.4. Series temporales estacionarias ...23

2.1.5. Series temporales univariantes ...25

2.1.6. Series temporales multivariantes ...26

2.1.7. Otros tipos de series temporales ...26

2.2. Modelos estadísticos de predicción de series temporales ...27

2.2.1. Modelos Autorregresivos (AR) ...27

2.2.2. Modelos de media móvil (MA) ...28

2.2.3. Modelos media móvil autorregresivo (ARMA) ...28

2.2.4. Modelos de media móvil integrada autoregresiva (ARIMA) ...29

2.2.5. Modelos de media móvil integrada autoregresiva estacionaria (SARIMA) ...29

2.2.6. Otros modelos clásicos ...30

3. Ciencia de datos ...32

3.1. Introducción. ¿Qué es ciencia de datos? ...32

3.2. Proceso de extracción del conocimiento ...33

3.3. Tareas de la ciencia de datos ...40

3.3.1. Tareas descriptivas ...40

3.3.2. Tareas predictivas ...41

3.4. Técnicas de Machine Learning clásicas ...42

3.4.1. Árboles de decisión ...42

3.4.2. Máquinas de vectores de soporte – SVM ...42

3.4.3. Redes neuronales ...43

(5)

3.4.4. Tipos de redes neuronales ...45

3.5. Deep Learning ...47

3.5.1. Tipos de redes Deep Learning...48

4. Herramientas de desarrollo ...51

4.1. Estudio de frameworks de desarrollo de Deep Learning ...51

4.1.1. ¿Qué es Tensorflow? ...51

4.1.2. Otros marcos de aprendizaje profundo ...51

4.2. Entorno de trabajo y lenguaje de programación ...55

4.2.1. Características del equipo ...56

4.3. Bibliotecas de programación usadas...56

5. Desarrollo de técnicas evolutivas para el diseño automático de redes LSTM ...58

5.1. Optimización de hiperparámetros ...59

5.1.1. Parámetros vs Hiperparámetros ...60

5.1.2. Número de neuronas ...61

5.1.3. Epoch ...62

5.1.4. Batchsize ...62

5.1.5. Dropout ...63

5.1.6. Optimizadores ...64

5.1.7. Funciones de activación ...67

5.2. Técnicas evolutivas para la optimización de hiperparámetros ...70

5.2.1. Biblioteca DEAP ...73

5.3. Algoritmos desarrollados ...75

5.3.1. Algoritmo Genético ...75

5.3.2. Algoritmos Estrategias de Evolución ...78

5.3.3. Algoritmo PSO ...82

6. Experimentación y análisis de resultados ...86

6.1. Conjuntos de datos ...86

6.2. Medidas de calidad ...89

6.3. Resultados de los algoritmos desarrollados ...89

6.3.1. Algoritmo de fuerza bruta ...92

6.3.2. Resultados de series univariantes ...93

Algoritmo Genético ...93

Algoritmo Estrategias de evolución ... 103

Algoritmo PSO ... 114

6.3.3. Resultados de series multivariantes ... 124

Algoritmo genético ... 124

(6)

Algoritmo Estrategias Evolutivas ... 131

Algoritmo PSO ... 138

6.3.4. Resumen de resultados ... 145

7. Conclusiones y análisis de resultados ... 146

8. Bibliografía ... 151

(7)

Índice de ilustraciones:

Ilustración 1. Diagrama de Gantt del proyecto __________________________________________ 15 Ilustración 2. Ejemplo de una gráfica de una serie temporal. Fuente: monografías.com __________ 18 Ilustración 3. Ejemplo 2 de una gráfica de una serie temporal. Fuente: monografías.com ________ 18 Ilustración 4. Ejemplo diferencia entre serie temporal estacionaria y serie temporal no estacionaria.

Fuente: estrategiastrading.com ______________________________________________________ 23 Ilustración 5. Ejemplo 2 diferencia entre serie estacionaria y no estacionaria. Fuente:

estrategiastrading.com ____________________________________________________________ 23 Ilustración 6. Conjunto de técnicas para eliminar la tendencia y la estacionalidad. Fuente:

https://www.researchgate.net/ _______________________________________________________ 24 Ilustración 7. Estructura de un proceso de ciencia de datos ________________________________ 32 Ilustración 8. Tareas del proceso de extracción de datos __________________________________ 33 Ilustración 9. Modelo matemático simple en una neurona _________________________________ 44 Ilustración 10. Esquema de una red neuronal recurrente __________________________________ 45 Ilustración 11. Estructura de una red multicapa _________________________________________ 46 Ilustración 12. Esquema de una red base radial _________________________________________ 47 Ilustración 13. Estructura de una red convolucional ______________________________________ 48 Ilustración 14. Estructura de una red neuronal recurrente LSTM ____________________________ 49 Ilustración 15. Esquema de optimizadores. Fuente: datasmarts.net _________________________ 64 Ilustración 16. Gráfica de la función Sigmoid ___________________________________________ 67 Ilustración 17. Gráfica de la función Tanh ______________________________________________ 68 Ilustración 18. Gráfica de la función Relu ______________________________________________ 69 Ilustración 19. Gráfica de la función Softmax ___________________________________________ 69 Ilustración 20. Esquema general de diseño de un algoritmo evolutivo. _______________________ 71 Ilustración 21. Esquema general de los algoritmos genéticos ______________________________ 75 Ilustración 22. Serie temporal del conjunto de datos monthly-sunspots.csv ___________________ 86 Ilustración 23. Serie temporal del conjunto de datos daily-total-female-births-CA.csv ____________ 87 Ilustración 24. Serie temporal del conjunto de datos monthly-mean-temp.csv __________________ 87 Ilustración 25. Serie temporal del conjuto de datos london_merged.csv ______________________ 88 Ilustración 26. Serie temporal del conjunto de datos m-pgspabt.csv _________________________ 89 Ilustración 27. Gráfica de error del mejor individuo en la ejecución 1 del conjunto: monthly-

sunspots.csv con el algoritmo Genético _______________________________________________ 93 Ilustración 28. Gráfica de predicción del mejor individuo en la ejecución 1 del conjunto: monthly- sunspots.csv con el algoritmo Genético _______________________________________________ 94 Ilustración 29. Gráfica de error del mejor individuo en la ejecución 2 del conjunto: monthly-

sunspots.csv con el algoritmo Genético _______________________________________________ 94 Ilustración 30. Gráfica de predicción del mejor individuo en la ejecución 2 del conjunto: monthly- sunspotscsv con el algoritmo Genético ________________________________________________ 95 Ilustración 31. Gráfica de error del mejor individuo en la ejecución 2 del conjunto: monthly-

sunspots.csv con el algoritmo Genético _______________________________________________ 95 Ilustración 32. Gráfica de predicción del mejor individuo en la ejecución 2 del conjunto: monthly- sunspots.csv con el algoritmo Genético _______________________________________________ 96 Ilustración 33. Gráfica de error del mejor individuo en la ejecución 1 del conjunto: daily-total-female- births-CA.csv con el algoritmo Genético _______________________________________________ 97 Ilustración 34. Gráfica de predicción del mejor individuo en la ejecución 1 del conjunto: daily-total- female-births-CA.csv con el algoritmo Genético _________________________________________ 97 Ilustración 35. Gráfica de error del mejor individuo en la ejecución 2 del conjunto: daily-total-female- births-CA.csv con el algoritmo Genético _______________________________________________ 98 Ilustración 36. Gráfica de predicción del mejor individuo en la ejecución 2 del conjunto: daily-total- female-births-CA.csv con el algoritmo Genético _________________________________________ 98

(8)

Ilustración 37. Gráfica de error del mejor individuo en la ejecución 3 del conjunto: daily-total-female- births-CA.csv con el algoritmo Genético _______________________________________________ 99 Ilustración 38. Gráfica de predicción del mejor individuo en la ejecución 3 del conjunto: daily-total- female-births-CA.csv con el algoritmo Genético _________________________________________ 99 Ilustración 39. Gráfica de error del mejor individuo en la ejecución 1 del conjunto: monthly-mean- temp.csv con el algoritmo Genético _________________________________________________ 100 Ilustración 40. Gráfica de predicción del mejor individuo en la ejecución 1 del conjunto: monthly-mean- temp.csv con el algoritmo Genético _________________________________________________ 101 Ilustración 41. Gráfica de error del mejor individuo en la ejecución 2 del conjunto: monthly-mean- temp.csv con el algoritmo Genético _________________________________________________ 101 Ilustración 42. Gráfica de predicción del mejor individuo en la ejecución 2 del conjunto: monthly-mean- temp.csv con el algoritmo Genético _________________________________________________ 102 Ilustración 43. Gráfica de error del mejor individuo en la ejecución 3 del conjunto: monthly-mean- temp.csv con el algoritmo Genético _________________________________________________ 102 Ilustración 44. Gráfica de predicción del mejor individuo en la ejecución 3 del conjunto: monthly-mean- temp.csv con el algoritmo Genético _________________________________________________ 103 Ilustración 45. Gráfica de predicción del mejor individuo en la ejecución 1 del conjunto: monthly-mean- temp.csv con el algoritmo Estrategias de Evolución _____________________________________ 104 Ilustración 46. Gráfica de predicción del mejor individuo en la ejecución 1 del conjunto: monthly-mean- temp.csv con el algoritmo Estrategias de Evolución _____________________________________ 104 Ilustración 47. Gráfica de error del mejor individuo en la ejecución 2 del conjunto: monthly-mean- temp.csv con el algoritmo Estrategias de Evolución _____________________________________ 105 Ilustración 48. Gráfica de predicción del mejor individuo en la ejecución 2 del conjunto: monthly-mean- temp.csv con el algoritmo Estrategias de Evolución _____________________________________ 105 Ilustración 49. Gráfica de error del mejor individuo en la ejecución 3 del conjunto: monthly-mean- temp.csv con el algoritmo Estrategias de Evolución _____________________________________ 106 Ilustración 50. Gráfica de predicción del mejor individuo en la ejecución 3 del conjunto: monthly-mean- temp.csv con el algoritmo Estrategias de Evolución _____________________________________ 106 Ilustración 51. Gráfica de predicción del mejor individuo en la ejecución 1 del conjunto: daily-total- female-births-CA.csv con el algoritmo Estrategias de Evolución ___________________________ 107 Ilustración 52. Gráfica de predicción del mejor individuo en la ejecución 1 del conjunto: daily-total- female-births-CA.csv con el algoritmo Estrategias de Evolución ___________________________ 108 Ilustración 53. Gráfica de error del mejor individuo en la ejecución 2 del conjunto: daily-total-female- births-CA.csv con el algoritmo Estrategias de Evolución _________________________________ 108 Ilustración 54. Gráfica de predicción del mejor individuo en la ejecución 2 del conjunto: daily-total- female-births-CA.csv con el algoritmo Estrategias de Evolución ___________________________ 109 Ilustración 55. Gráfica de error del mejor individuo en la ejecución 3 del conjunto: daily-total-female- births-CA.csv con el algoritmo Estrategias de Evolución _________________________________ 109 Ilustración 56. Gráfica de predicción del mejor individuo en la ejecución 3 del conjunto: daily-total- female-births-CA.csv con el algoritmo Estrategias de Evolución ___________________________ 110 Ilustración 57. Gráfica de error del mejor individuo en la ejecución 1 del conjunto: monthly-mean- temp.csv con el algoritmo Estrategias de Evolución _____________________________________ 111 Ilustración 58. Gráfica de predicción del mejor individuo en la ejecución 1 del conjunto: monthly-mean- temp.csv con el algoritmo Estrategias de Evolución _____________________________________ 111 Ilustración 59. Gráfica de error del mejor individuo en la ejecución 2 del conjunto: monthly-mean- temp.csv con el algoritmo Estrategias de Evolución _____________________________________ 112 Ilustración 60. Gráfica de predicción del mejor individuo en la ejecución 2 del conjunto: monthly-mean- temp.csv con el algoritmo Estrategias de Evolución _____________________________________ 112 Ilustración 61. Gráfica de error del mejor individuo en la ejecución 3 del conjunto: monthly-mean- temp.csv con el algoritmo Estrategias de Evolución _____________________________________ 113 Ilustración 62. Gráfica de predicción del mejor individuo en la ejecución 3 del conjunto: monthly-mean- temp.csv con el algoritmo Estrategias de Evolución _____________________________________ 113

(9)

Ilustración 63. Gráfica de error del mejor individuo en la ejecución 1 del conjunto: monthly-

sunspots.csv con el algoritmo PSO __________________________________________________ 114 Ilustración 64. Gráfica de predicción del mejor individuo en la ejecución 1 del conjunto: monthly- sunspots.csv con el algoritmo PSO __________________________________________________ 115 Ilustración 65. Gráfica de error del mejor individuo en la ejecución 2 del conjunto: monthly-

sunspots.csv con el algoritmo PSO __________________________________________________ 115 Ilustración 66. Gráfica de predicción del mejor individuo en la ejecución 2 del conjunto: monthly- sunspots.csv con el algoritmo PSO __________________________________________________ 116 Ilustración 67. Gráfica de error del mejor individuo en la ejecución 3 del conjunto: monthly-

sunspots.csv con el algoritmo PSO __________________________________________________ 116 Ilustración 68.Gráfica de predicción del mejor individuo en la ejecución 3 del conjunto: monthly- sunspots.csv con el algoritmo PSO __________________________________________________ 117 Ilustración 69. Gráfica de error del mejor individuo en la ejecución 1 del conjunto: daily-total-female- births-CA.csv con el algoritmo PSO _________________________________________________ 118 Ilustración 70. Gráfica de predicción del mejor individuo en la ejecución 1 del conjunto: daily-total- female-births-CA.csv con el algoritmo PSO ___________________________________________ 118 Ilustración 71. Gráfica de error del mejor individuo en la ejecución 2 del conjunto: daily-total-female- births-CA.csv con el algoritmo PSO _________________________________________________ 119 Ilustración 72. Gráfica de predicción del mejor individuo en la ejecución 2 del conjunto: daily-total- female-births-CA.csv con el algoritmo PSO ___________________________________________ 119 Ilustración 73. Gráfica de error del mejor individuo en la ejecución 3 del conjunto: daily-total-female- births-CA.csv con el algoritmo PSO _________________________________________________ 120 Ilustración 74. Gráfica de predicción del mejor individuo en la ejecución 3 del conjunto: daily-total- female-births-CA.csv con el algoritmo PSO ___________________________________________ 120 Ilustración 75. Gráfica de error del mejor individuo en la ejecución 1 del conjunto: monthly-mean- temp.csv con el algoritmo PSO _____________________________________________________ 121 Ilustración 76. Gráfica de predicción del mejor individuo en la ejecución 1 del conjunto: monthly-mean- temp.csv con el algoritmo PSO _____________________________________________________ 122 Ilustración 77. Gráfica de error del mejor individuo en la ejecución 2 del conjunto: monthly-mean- temp.csv con el algoritmo PSO _____________________________________________________ 122 Ilustración 78. Gráfica de predicción del mejor individuo en la ejecución 2 del conjunto: monthly-mean- temp.csv con el algoritmo PSO _____________________________________________________ 123 Ilustración 79. Gráfica de error del mejor individuo en la ejecución 3 del conjunto: monthly-mean- temp.csv con el algoritmo PSO _____________________________________________________ 123 Ilustración 80. Gráfica de predicción del mejor individuo en la ejecución 3 del conjunto: monthly-mean- temp.csv con el algoritmo PSO _____________________________________________________ 124 Ilustración 81. Gráfica de error del mejor individuo en la ejecución 1 del conjunto: m-pgspabt.csv con el algoritmo Genético _____________________________________________________________ 125 Ilustración 82. Gráfica de predicción del mejor individuo en la ejecución 1 del conjunto: m-pgspabt.csv con el algoritmo Genético _________________________________________________________ 125 Ilustración 83. Gráfica de error del mejor individuo en la ejecución 2 del conjunto m-pgspabt.csv con el algoritmo Genético ______________________________________________________________ 126 Ilustración 84. Gráfica de predicción del mejor individuo en la ejecución 2 del conjunto: m-pgspabt.csv con el algoritmo Genético _________________________________________________________ 126 Ilustración 85. Gráfica de error del mejor individuo en la ejecución 3 del conjunto: m-pgspabt.csv con el algoritmo Genético _____________________________________________________________ 127 Ilustración 86. Gráfica de predicción del mejor individuo en la ejecución 3 del conjunto: m-pgspabt.csv con el algoritmo Genético _________________________________________________________ 127 Ilustración 87. Gráfica de error del mejor individuo en la ejecución 1 del conjunto: london_merged.csv con el algoritmo Genético _________________________________________________________ 128 Ilustración 88. Gráfica de predicción del mejor individuo en la ejecución 1 del conjunto:

london_merged.csv con el algoritmo Genético _________________________________________ 129

(10)

Ilustración 89. Gráfica de error del mejor individuo en la ejecución 2 del conjunto: london_merged.csv con el algoritmo Genético _________________________________________________________ 129 Ilustración 90. Gráfica de predicción del mejor individuo en la ejecución 2 del conjunto:

london_merged.csv con el algoritmo Genético _________________________________________ 130 Ilustración 91. Gráfica de error del mejor individuo en la ejecución 3 del conjunto: london_merged.csv con el algoritmo Genético _________________________________________________________ 130 Ilustración 92. Gráfica de predicción del mejor individuo en la ejecución 3 del conjunto:

london_merged.csv con el algoritmo Genético _________________________________________ 131 Ilustración 93. Gráfica de error del mejor individuo en la ejecución 1 del conjunto: m-pgspabt.csv con el algoritmo Estrategias de Evolución ________________________________________________ 132 Ilustración 94. Gráfica de predicción del mejor individuo en la ejecución 1 del conjunto: m-pgspabt.csv con el algoritmo Estrategias de Evolución ____________________________________________ 132 Ilustración 95. Gráfica de error del mejor individuo en la ejecución 2 del conjunto: m-pgspabt.csv con el algoritmo Estrategias de Evolución ________________________________________________ 133 Ilustración 96. Gráfica de predicción del mejor individuo en la ejecución 2 del conjunto: m-pgspabt.csv con el algoritmo Estrategias de Evolución ____________________________________________ 133 Ilustración 97. Gráfica de error del mejor individuo en la ejecución 3 del conjunto: m-pgspabt.csv con el algoritmo Estrategias de Evolución ________________________________________________ 134 Ilustración 98. Gráfica de predicción del mejor individuo en la ejecución 3 del conjunto: m-pgspabt.csv con el algoritmo Estrategias de Evolución ____________________________________________ 134 Ilustración 99. Gráfica de error del mejor individuo en la ejecución 1 del conjunto: london_merged.csv con el algoritmo Estrategias de Evolución ____________________________________________ 135 Ilustración 100. Gráfica de predicción del mejor individuo en la ejecución 1 del conjunto:

london_merged.csv con el algoritmo Estrategias de Evolución ____________________________ 136 Ilustración 101. Gráfica de error del mejor individuo en la ejecución 2 del conjunto:

london_merged.csv con el algoritmo Estrategias de Evolución ____________________________ 136 Ilustración 102. Gráfica de predicción del mejor individuo en la ejecución 2 del conjunto:

london_merged.csv con el algoritmo Estrategias de Evolución ____________________________ 137 Ilustración 103. Gráfica de error del mejor individuo en la ejecución 3 del conjunto:

london_merged.csv con el algoritmo Estrategias de Evolución ____________________________ 137 Ilustración 104. Gráfica de predicción del mejor individuo en la ejecución 3 del conjunto:

london_merged.csv con el algoritmo Estrategias de Evolución ____________________________ 138 Ilustración 105. Gráfica de error del mejor individuo en la ejecución 1 del conjunto m-pgspabt.csv con el algoritmo PSO ________________________________________________________________ 139 Ilustración 106. Gráfica de predicción del mejor individuo en la ejecución 1 del conjunto: m-

pgspabt.csv con el algoritmo PSO __________________________________________________ 139 Ilustración 107. Gráfica de error del mejor individuo en la ejecución 2 del conjunto: m-pgspabt.csv con el algoritmo PSO ________________________________________________________________ 140 Ilustración 108. Gráfica de predicción del mejor individuo en la ejecución 2 del conjunto: m-

pgspabt.csv con el algoritmo PSO __________________________________________________ 140 Ilustración 109. Gráfica de error del mejor individuo en la ejecución 3 del conjunto: m-pgspabt.csv con el algoritmo PSO ________________________________________________________________ 141 Ilustración 110. Gráfica de predicción del mejor individuo en la ejecución 3 del conjunto: m-

pgspabt.csv con el algoritmo PSO __________________________________________________ 141 Ilustración 111. Gráfica de error del mejor individuo en la ejecución 1 del conjunto:

london_merged.csv con el algoritmo PSO ____________________________________________ 142 Ilustración 112. Gráfica de predicción del mejor individuo en la ejecución 1 del conjunto:

london_merged.csv con el algoritmo PSO ____________________________________________ 143 Ilustración 113. Gráfica de error del mejor individuo en la ejecución 2 del conjunto:

london_merged.csv con el algoritmo PSO ____________________________________________ 143 Ilustración 114. Gráfica de predicción del mejor individuo en la ejecución 2 del conjunto:

london_merged.csv con el algoritmo PSO ____________________________________________ 144

(11)

Ilustración 115. Gráfica de error del mejor individuo en la ejecución 3 del conjunto:

london_merged.csv con el algoritmo PSO ____________________________________________ 144 Ilustración 116. Gráfica de predicción del mejor individuo en la ejecución 3 del conjunto:

london_merged.csv con el algoritmo PSO ____________________________________________ 145 Ilustración 117. Gráfica de resultados de las funciones de activación _______________________ 148 Ilustración 118. Gráfica de resultados de los optimizadores _______________________________ 148

(12)

1. Introducción

En este primer apartado de la memoria se explicará a grandes rasgos el contenido y estructura del proyecto realizado además de explicar la motivación, y los propósitos marcados en este trabajo con el objetivo principal de ir haciendo una idea de lo que se verá después.

El T.F.G consiste en el estudio y análisis de distintas técnicas, principalmente evolutivas, que permitan establecer automáticamente los parámetros de métodos de Deep Learning (Aprendizaje Profundo), con las que poder ayudar en el campo de la predicción de datos de series temporales. Para llevar a cabo dicho T.F.G se ha realizado una etapa de investigación y estudio sobre las series temporales, muy ligadas a otras materias como la estadística, mencionar también que el desarrollo del estudio de las técnicas Deep Learning, en particular de las redes LSTM, se ha realizado en Python, un lenguaje de programación un poco desconocido en la carrera ya que nos centramos en otros como C++ o Java, pero a la vez muy potente, versátil y con una curva de aprendizaje muy leve.

1.1. Motivación

La predicción de series temporales es, hoy en día, una amplia área de investigación que presenta importantes aplicaciones en industria, economía, ciencia o en la sociedad en general.

Por otro lado, la aparición del aprendizaje profundo ha supuesto un hito importante en los avances que ha tenido en los últimos años el aprendizaje automático o la Inteligencia Artificial1 en general.

Pero tienen un problema o una desventaja a intentar solventar, y es que tanto el aprendizaje automático como el aprendizaje supervisado tiene una gran cantidad de parámetros cuyos valores se tienen que optimizar para conseguir los mejores resultados, en este caso, en la predicción de series temporales.

1 Inteligencia Artificial (IA) es la combinación de algoritmos con el propósito de crear máquinas que presenten las mismas capacidades que el ser humano.

(13)

El problema en sí, radica en que a parte de la gran cantidad de parámetros que hay, estos se involucran entre sí en el proceso de optimización, por lo que de forma manual resulta altamente complicado encontrar una combinación ideal. Si la hubiera, puesto que para cada conjunto de datos la combinación sería distinta, lo que provoca que el proceso de optimización sea aún más complejo.

Y, por tanto, es aquí donde este proyecto intenta aportar un poco de luz, investigando distintas técnicas de optimización de parámetros, analizándolas, tanto en tiempo como en resultados, y, por último, comparándolas para ayudar al avance de este campo.

1.2. Propósito y objetivos

El objetivo de este proyecto es la optimización de métodos de Aprendizaje Profundo para la predicción de series temporales.

Este estudio incidirá principalmente en el uso de algoritmos automáticos (basados en técnicas evolutivas) para el diseño de los parámetros de los métodos de aprendizaje automático, analizándolos, comparándolos y proponiendo propuestas de mejoras.

Objetivos generales del proyecto:

• Estudiar el campo de predicción de series temporales.

• Realizar un estudio sobre el aprendizaje profundo en general y su aplicación a la predicción de series temporales.

• Analizar y comparar las principales técnicas para el diseño automático de métodos de aprendizaje profundo para la predicción de series temporales.

• Proponer posibles mejoras en el campo y estudiar su posible impacto

Objetivos personales en la realización del proyecto:

• Aumentar mis conocimientos en un área en pleno auge como es el aprendizaje automático y, en concreto, en el aprendizaje profundo.

(14)

• Ganar experiencia programando con un lenguaje de programación como es Python, tan potente y versátil.

• Poder ayudar con esta investigación a aportar luz a un campo en plena investigación y desarrollo.

1.3. Metodología

El desarrollo del trabajo se ha llevado a cabo de la siguiente manera:

• Búsqueda bibliográfica del estado del arte en los campos de la predicción de series temporales, aprendizaje profundo y sus sinergias.

• Análisis de los principales métodos propuestos para el diseño automático de métodos de aprendizaje profundo en el campo de la predicción de series temporales.

• Diseño de una experimentación que contemple los principales métodos del apartado anterior.

• Ejecución y análisis de los resultados obtenidos.

• Extracción de conclusiones y propuestas de mejoras.

1.4. Planificación del proyecto

En la realización de este T.F.G. se han empleado poco más de 6 meses, desde mediados de noviembre de 2020 hasta finales de mayo de 2021.

Es importante hacer una planificación previa del tiempo que vamos a emplear. En un caso de un proyecto real, nos ayudaría a estimar el presupuesto y los recursos que se van a necesitar.

Se esbozará la planificación previa realizada y para visualizar esta planificación utilizaremos un diagrama de Gantt.

(15)

Actividad

Fecha de inicio

Duración en días

Fecha de fin

Recogida de información sobre las series temporales 12-nov 10 22-nov

Instalación del software a utilizar 22-nov 2 24-nov

Aprendizaje de Python 24-nov 21 15-dic

Aprendizaje con los paquetes Pandas, Keras y Tensorflow 15-dic 21 05-ene Implementación de los métodos de preprocesamiento 05-ene 10 15-ene

Implementación de una red neuronal LSTM 15-ene 7 22-ene

Estudio de la librería DEAP 22-ene 10 01-feb

Implementación de los métodos de optimización de

parámetros 01-feb 30 02-mar

Desarrollo de las pruebas 02-mar 30 01-abr

Análisis y conclusiones de estas 01-abr 21 22-abr

Desarrollo de la memoria del proyecto 22-abr 30 22-may

A continuación, el diagrama:

Ilustración 1. Diagrama de Gantt del proyecto

12-nov 22-dic 31-ene 12-mar 21-abr Recogida de información sobre las series…

Instalación del software a utilizar Aprendizaje de Python Aprendizaje con los paquetes Pandas, Keras y…

Implementación de los métodos de…

Implementación de una red neuronal LSTM Estudio de la librería DEAP Implementación de los métodos de optimización…

Desarrollo de las pruebas Análisis y conclusiones de estas Desarrollo de la memoria del proyecto

Diagrama de Gantt del TFG

(16)

1.5. Estructura del documento

El documento se ha realizado dividiéndolo en 4 partes, para poder desarrollar y explicar de la manera más eficiente posible todo el trabajo tanto teórico como práctico realizado. Las partes del documento serán las siguientes:

Parte 1: se realiza una breve introducción, explicando la motivación y objetivos del proyecto. Y estará formada por el punto:

1. Introducción. En la cual se encuentra.

Parte 2: Donde se hablará de que es una serie temporal, los tipos y características de estas además de hablar de como se analizan a través de modelos, explicando que son estos y hablando de los principales modelos matemáticos. Y estará formada por el punto:

2. Análisis de series temporales

Parte 3: en esta parte del documento, una vez se ha hablado ya de las series temporales y de su análisis se profundizará en el Deep Learning, empezando por explicar de dónde viene hasta acabar por desarrollar un modelo con el que poder predecir series temporales. Y estará formada por los puntos:

3. Ciencia de datos

4. Herramientas de desarrollo

5. Desarrollo de técnicas Deep Learning para el diseño automático de redes LSTM

Parte 4: por último, en esta parte, con un modelo de predicción de datos desarrollado nos centraremos en realizar una serie de pruebas buscando los mejores resultados posibles y analizando el porqué de estos. Acabando con un listado de la bibliografía revisada para la realización del proyecto. Y estará formada por los puntos:

6. Experimentación y análisis de resultados 7. Conclusiones

8. Bibliografía

(17)

2. Análisis de series temporales

El punto de partida del análisis de series temporales son las definiciones de proceso estocástico y serie temporal (Peña, 2005):

• Proceso estocástico, es un conjunto de variables aleatorias asociadas a distintos instantes de tiempo.

• Serie temporal, es un conjunto de observaciones o medidas realizadas secuencialmente en intervalos predeterminados y de igual, o aproximadamente igual, duración.

Actualmente, la predicción de series temporales se usa en muchos campos, desde la medicina hasta la economía. Para poder tener más claro que es una serie temporal se pondrán algunos ejemplos:

• Economía: producto interior bruto anual, tasa de inflación, tasa de desempleo, etc.

• Demografía: nacimientos anuales, tasa de dependencia, etc.

• Meteorología: temperaturas máximas, medias o mínimas, precipitaciones diarias, etc.

• Medio ambiente: concentración media mensual de nitratos en agua, alcalinidad media anual del suelo, emisiones anuales de CO2, etc.

El análisis de series temporales busca comprender el pasado y poder hacer una predicción sobre cómo será el futuro, aborda métodos que ayudan a interpretar todo tipo de datos, extrayendo información representativa, tanto referente a los orígenes o relaciones subyacentes como a la posibilidad de extrapolar y predecir su comportamiento futuro. Esos métodos que menciono pueden ser de muchos y variados tipos, pero en este proyecto se ha profundizado en el Deep Learning2.

2 Deep Learning: es un tipo de aprendizaje automático que entrena a una computadora

para que realice tareas como las hacemos los seres humanos, utilizando para ello estructuras de redes neuronales complejas.

(18)

El análisis de las series temporales se encuentra en todos los campos, tanto en ingeniería, matemáticas, medicina, química como en muchos otros. A menudo, se representa la serie en un gráfico temporal, con el valor de la serie en el eje de ordenadas y los tiempos en el eje de abscisas, como se puede apreciar en las siguientes ilustraciones:

Ilustración 2. Ejemplo de una gráfica de una serie temporal. Fuente: monografías.com

Ilustración 3. Ejemplo 2 de una gráfica de una serie temporal. Fuente: monografías.com

(19)

La tarea de predicción y análisis de series temporales por lo general consta de cinco pasos básicos:

• Definición del problema. A menudo, esta es la parte más difícil de la predicción. En la definición del problema se necesita que se comprenda la forma en que se utilizarán las predicciones. Hay que dedicar tiempo para la recogida de datos, el mantenimiento de bases de datos, y el uso de las predicciones.

• Recopilación de información. Hay al menos dos tipos de información necesaria:

o los datos estadísticos

o la experiencia acumulada. Será difícil obtener suficientes datos históricos para ser capaz de encajar un buen modelo estadístico. Sin embargo, datos históricos antiguos serán menos útiles para la predicción.

• Análisis Preliminar. Primero, es necesario hacer una representación gráfica de los datos. Y hacerse las siguientes preguntas:

¿Existen patrones? ¿Hay alguna tendencia que destaque? ¿Es importante la estacionalidad? ¿Hay presencia en los ciclos? ¿Hay algunas anomalías en los datos que puedan ser explicados por expertos? ¿Qué relación tienen las variables que se estudian?

• Elección y ajuste de modelos. El mejor modelo a utilizar depende (en la mayoría de los casos) de la disponibilidad de datos históricos, la fuerza de las relaciones entre la variable de predicción y las variables explicativas. Cada modelo es una construcción artificial que se basa en un conjunto de supuestos (explícitos e implícitos) y por lo general consiste en uno o más parámetros que deben ser "equipados" utilizando los datos históricos conocidos. Para ello:

modelos matemáticos, Deep Learning, ...

• Uso y evaluación de un modelo de predicción. Una vez que el modelo ha sido seleccionado y sus parámetros estimados, el modelo se utiliza para hacer predicciones. El rendimiento del modelo sólo puede ser evaluado

(20)

correctamente después de que los datos para el período de predicción estén disponibles.

2.1. Series temporales

Una serie temporal es una colección de observaciones de una variable realizadas de forma secuencial en el tiempo, en las que el orden de observación es importante. Los valores de una serie temporal van ligados a instantes de tiempo, de manera que el análisis de una serie implica el manejo conjunto de dos variables; la variable en estudio propiamente dicha y la variable tiempo. Las series pueden tener una periodicidad anual, semestral, trimestral, mensual, etc.

Según los periodos de tiempo en los que están recogidos los datos que la componen. Las series temporales se pueden definir como un caso particular de los procesos estocásticos, ya que un proceso estocástico es una secuencia de variables aleatorias, ordenadas y equidistantes cronológicamente referidas a una característica observable en diferentes momentos.

El objetivo del análisis o la predicción de series temporales reside en estudiar los cambios en esa variable con respeto al tiempo (descripción), y en predecir sus valores futuros (predicción). Por lo tanto, el análisis de series temporales presenta un conjunto de técnicas estadísticas que permiten extraer las regularidades que se observan en el comportamiento pasado de la variable, para tratar de predecir el comportamiento futuro.

2.1.1. Componentes de las series temporales

El estudio descriptivo de series temporales se basa en la idea de descomponer la variación de una serie en varias componentes básicas. Este enfoque no siempre resulta ser el más adecuado, pero es interesante cuando en la serie se observa cierta tendencia o cierta periodicidad. Hay que resaltar que esta descomposición no es en general única. Este enfoque descriptivo consiste en encontrar componentes que correspondan a una tendencia a largo plazo, un comportamiento estacional y una

(21)

parte aleatoria. Las componentes o fuentes de variación que se consideran habitualmente son las siguientes:

1. Tendencia: Se puede definir como un cambio a largo plazo que se produce en relación al nivel medio, o el cambio a largo plazo de la media. La tendencia se identifica con un movimiento suave de la serie a largo plazo.

2. Efecto Estacional: Muchas series temporales presentan cierta periodicidad o dicho de otro modo, variación de cierto periodo (anual, mensual ...). Por ejemplo, el paro laboral aumenta en general en invierno y disminuye en verano. Estos tipos de efectos son fáciles de entender y se pueden medir explícitamente o incluso se pueden eliminar del conjunto de los datos, desestacionalizando la serie original.

3. Componente Aleatoria: Una vez identificados los componentes anteriores y después de haberlos eliminado, persisten unos valores que son aleatorios. Se pretende estudiar qué tipo de comportamiento aleatorio presentan estos residuos, utilizando algún tipo de modelo probabilístico que los describa.

De las tres componentes reseñadas, las dos primeras son componentes determinísticas, mientras que la última es aleatoria. Así, se puede denotar que

Xt = Tt + Et + It

donde Tt es la tendencia, Et es la componente estacional, que constituyen la señal o parte determinística, e It es el ruido o parte aleatoria.

Es necesario aislar de alguna manera la componente aleatoria y estudiar qué modelo probabilístico es el más adecuado. Conocido éste, podremos conocer el comportamiento de la serie a largo plazo.

¿Cómo podemos eliminar estos factores que mencionamos? Con técnicas de preprocesamiento. En eso consiste el preprocesamiento de una serie temporal: en eliminar, si las hubiera, la tendencia y la estacionalidad, y además conseguir una varianza lo más homogénea posible. Pero, ¿cómo hacemos esto?

• Técnicas para homogeneizar la varianza.

• Transformación logarítmica para homogeneizar la varianza.

(22)

• Transformación Box-Cox para homogeneizar la varianza.

• Técnicas para eliminar la tendencia.

• Diferencias regulares.

• Extracción de medias estacionales.

• Diferencias estacionales.

Una vez nos hemos asegurado de la estacionariedad de una serie, podemos empezar a aplicar modelos predictivos. Si la serie no es estacionaria cuando construyamos el modelo, los resultados pueden ser malos, dependen del modelo empleado.

Por último, debemos tener en cuenta todas las transformaciones que hemos realizado a la serie. Una vez hayamos encontrado las predicciones, tenemos que revertir los cambios para observar los valores y las gráficas reales.

2.1.2. Tipos de series temporales

Una serie temporal puede ser discreta o continúa dependiendo de cómo sean las observaciones. Si se pueden predecir exactamente los valores, se dice que las series son determinísticas.

Si el futuro sólo se puede determinar de modo parcial por las observaciones pasadas y no se pueden determinar exactamente, se considera que los futuros valores tienen una distribución de probabilidad que está condicionada a los valores pasados.

Las series son así estocásticas

Además, las series temporales también se pueden dividir en series temporales no estacionarias, series temporales estacionarias, series temporales univariantes, series temporales multivariantes, las cuales veremos a continuación.

2.1.3. Series temporales no estacionarias

Las series temporales no estacionarias son aquellas en las que las propiedades estadísticas de la serie sí varían con el tiempo. Estas series pueden

(23)

mostrar cambio de varianza, tendencia o efectos estacionales a lo largo del tiempo.

Una serie es no estacionaria en media cuando muestra una tendencia, y una serie es no estacionaria en varianza cuando la variabilidad de los datos es diferente a lo largo de la serie. A continuación, se exponen unos ejemplos de serie estacionaria y serie no estacionaria:

Ilustración 4. Ejemplo diferencia entre serie temporal estacionaria y serie temporal no estacionaria. Fuente:

estrategiastrading.com

Ilustración 5. Ejemplo 2 diferencia entre serie estacionaria y no estacionaria. Fuente:

estrategiastrading.com

2.1.4. Series temporales estacionarias

Las series temporales estacionarias es aquella en la que las propiedades estadísticas de la serie son estables, no varían con el tiempo, más en concreto su

(24)

media, varianza y covarianza se mantienen constantes a lo largo del tiempo. Si una serie temporal tiene una media constante a lo largo del tiempo, decimos que es estacionaria con respecto a la media. Si tiene varianza constante con respecto al tiempo, decimos que es estacionaria en varianza. Para el proceso de predicción de datos deseamos que las series sean estacionarias. A través de la ilustración 6 se intenta exponer un nuevo ejemplo de los posibles problemas que nos encontramos en una serie estacionaria (tendencia y estacionalidad) y de algunas técnicas para solucionar estos problemas.

Ilustración 6. Conjunto de técnicas para eliminar la tendencia y la estacionalidad. Fuente:

https://www.researchgate.net/

La importancia de solucionar estos problemas reside en que la estacionariedad (en media y en varianza) es un requisito que debe cumplirse para poder aplicar modelos paramétricos de análisis y predicción de series de datos. Ya que con series estacionarias podemos obtener predicciones fácilmente, debido a que como la media es constante se puede estimar con todos los datos y utilizar este valor para predecir una nueva observación. Y también permite obtener intervalos de confianza para las predicciones.

(25)

Un tipo especial de serie estacionaria es la serie denominada ruido blanco. Un ruido blanco es una serie estacionaria tal que ninguna observación influye sobre las siguientes, es decir, donde los valores son independientes e idénticamente distribuidos a lo largo del tiempo con media y covarianza cero e igual varianza.

Otro tipo especial de serie temporal es la llamada camino aleatorio, una serie es un camino aleatorio si la primera diferenciación de la serie es un ruido blanco.

Como ya hemos visto en la ilustración 6, uno de los principales problemas para que una serie temporal sea estacionaria es la tendencia, una de las principales soluciones para eliminar la tendencia es el test de la raíz unitaria.

El test de raíz unitaria se trata de tests de hipótesis estadísticos de estacionariedad que indican si es necesario diferenciar. Hay varios tests disponibles, y están basados en diferentes suposiciones y pueden llevar a respuestas conflictivas.

Uno de los más populares es el Augmented Dickey-Fuller (ADF). Para este test se estima el siguiente modelo de regresión:

Y′t=ϕYt−1 + β1Y′t−1 + β2Y′t−2 + ⋯ + βkY′t−k’

Donde Y’t denota la primera serie diferenciada, Y’t = Yt - Yt-1 y k es el número de lags a incluir en la regresión. Si la serie original Yt necesita diferenciación el coeficiente ϕ debería ser aproximadamente cero. Si Yt ya es estacionaria, ϕ < 0.

Las series temporales también se pueden dividir según cuántas variables se observan o según su variabilidad:

2.1.5. Series temporales univariantes

Las series temporales univariante son aquellas series temporales que tienen un conjunto de observaciones sobre una única característica o variable.

• Se considera una sola variable endógena (por eso es “…univariante”)

• No consideran variables exógenas

(26)

• Se trata de construir un modelo sencillo que aproveche la inercia de los datos pasados para predecir los valores futuros de la serie

2.1.6. Series temporales multivariantes

El análisis multivariante está relacionado con conjuntos de datos que involucran más de una variable para cada unidad de observación. En general, tales conjuntos de datos vienen representados por matrices de datos X con n filas y p columnas, donde las filas representan los casos, y las columnas las variables.

En cuanto al análisis de tales matrices, unas veces estaremos interesados en estudiar las filas (casos), otras veces las relaciones entre las variables (las columnas) y algunas veces en estudiar simultáneamente ambas cosas.

2.1.7. Otros tipos de series temporales

Existen también otros tipos de series temporales menos conocidas:

• Homocedástica: una serie es homocedástica si su variabilidad se mantiene constante a lo largo de la serie.

• Heterocedástica: una serie es heterocedástica cuando la variabilidad de la serie aumenta o disminuye a lo largo del tiempo.

Por otro lado, la variable que se observa en una serie temporal puede ser de tipo:

• Flujo: variable cuya cantidad es acumulada a lo largo del tiempo, por ejemplo:

inversión, ahorro, etc.

• Stock: variable cuya cantidad se mide en un determinado momento del tiempo, por ejemplo: población, nº parados, etc.

(27)

2.2. Modelos estadísticos de predicción de series temporales

El objetivo fundamental del estudio de las series temporales es el conocimiento del comportamiento de una variable a través del tiempo para, a partir de dicho conocimiento, y bajo el supuesto de que no van a producirse cambios estructurales, poder realizar predicciones, es decir, determinar qué valor tomará la variable objeto de estudio en uno o más períodos de tiempo situados en el futuro, mediante la aplicación de un determinado modelo generado previamente, los cuales veremos a continuación.

2.2.1. Modelos Autorregresivos (AR)

El método de autorregresión (AR) modela el siguiente paso en la secuencia como una función lineal de las observaciones en los pasos de tiempo anteriores. La notación para el modelo implica especificar el orden del modelo p como parámetro de la función AR, por ejemplo, AR (1) es un modelo de autorregresión de primer orden.

Los modelos AR, se utilizan para realizar pronósticos sobre variables ex-post (observaciones que conocemos completamente su valor) en determinados momentos del tiempo normalmente ordenados cronológicamente. El método es adecuado para series de tiempo univariadas sin tendencia ni componentes estacionales.

Los modelos autorregresivos, como bien dice su nombre, son modelos que se regresan en sí mismos. Es decir, la variable dependiente y la variable explicativa son la misma con la diferencia que la variable dependiente estará en un momento del tiempo posterior (t) al de la variable independiente (t-1). Decimos ordenados cronológicamente porque actualmente nos encontramos en el momento (t) del tiempo.

Si avanzamos un período nos trasladamos a (t+1) y si retrocedemos un período nos vamos a (t-1).

Los procesos AR no pueden representar series de memoria muy corta, donde el valor actual de la serie sólo está correlado con un número pequeño de valores anteriores de la serie.

(28)

2.2.2. Modelos de media móvil (MA)

En análisis de serie de tiempo, el modelo de medias móviles (MA) es una aproximación común para series de tiempo univariadas. El modelo de medias móviles especifica que la variable de salida depende linealmente del valor actual y varios de los anteriores de un término estocástico.

El método MA modela el siguiente paso de la secuencia como una función lineal de los errores residuales de un proceso medio en los pasos de tiempo anteriores.Un modelo de media móvil es diferente de calcular la media móvil de la serie de tiempo.

La notación para el modelo implica especificar el orden del modelo q como parámetro de la función MA, por ejemplo, MA (1) es un modelo de promedio móvil de primer orden.

El método es adecuado para series de tiempo univariadas sin tendencia ni componentes estacionales.

2.2.3. Modelos media móvil autorregresivo (ARMA)

En estadística, los modelos autorregresivos de media móvil (en inglés AutoRegressive Moving Average models, abreviados ARMA), también llamados Modelos Box-Jenkins, se aplican a series temporales de datos. Dada una serie temporal de datos Xt, el modelo ARMA es una herramienta para entender y, aún más, para predecir futuros valores de la serie.

El método de ARMA modela el siguiente paso de la secuencia como una función lineal de las observaciones y los errores residuales en los pasos de tiempo anteriores.

Combina los modelos de autorregresión (AR) y de media móvil (MA).

La notación para el modelo implica especificar el orden de los modelos AR (p) y MA (q) como parámetros para una función ARMA, por ejemplo, ARMA (p, q) donde p es el orden de la parte autorregresiva y q es el orden de la parte de media móvil. Se puede utilizar un modelo ARIMA para desarrollar modelos AR o MA.

(29)

El método es adecuado para series de tiempo univariadas sin tendencia ni componentes estacionales.

2.2.4. Modelos de media móvil integrada autoregresiva (ARIMA)

El método de media móvil integrada autorregresiva (ARIMA) modela el siguiente paso en la secuencia como una función lineal de las observaciones diferenciadas y los errores residuales en los pasos de tiempo anteriores.

Combina los modelos de autorregresión (AR) y de media móvil (MA), así como un paso de preprocesamiento de diferenciación de la secuencia para hacer que la secuencia sea estacionaria, llamado integración (I).

La notación para el modelo implica especificar el orden de los modelos AR (p), I (d) y MA (q) como parámetros para una función ARIMA, por ejemplo, ARIMA (p, d, q). Un modelo ARIMA también se puede utilizar para desarrollar modelos AR, MA y ARMA.

El método es adecuado para series de tiempo univariadas con tendencia y sin componentes estacionales.

2.2.5. Modelos de media móvil integrada autoregresiva estacionaria (SARIMA)

El método de media móvil integrada autorregresiva estacional (SARIMA) modela el siguiente paso de la secuencia como una función lineal de las observaciones diferenciadas, los errores, las observaciones estacionales diferenciadas y los errores estacionales en los pasos de tiempo anteriores.

Combina el modelo ARIMA con la capacidad de realizar la misma autorregresión, diferenciación y modelado de media móvil a nivel estacional.

La notación para el modelo implica especificar el orden de los modelos AR (p), I (d) y MA (q) como parámetros para una función ARIMA y AR (P), I (D), MA (Q) y m parámetros a nivel estacional, por ejemplo, SARIMA (p, d, q) (P, D, Q) m donde “m”

(30)

es el número de pasos de tiempo en cada temporada (el período estacional). Se puede utilizar un modelo SARIMA para desarrollar modelos AR, MA, ARMA y ARIMA.

El método es adecuado para series de tiempo univariadas con tendencia y / o componentes estacionales.

2.2.6. Otros modelos clásicos

• Media móvil integrado autorregresiva estacional con regresores exógenos (SARIMAX)

El Promedio Móvil Estacional Autoregresivo Integrado con Regresores Exógenos ( SARIMAX ) es una extensión del modelo SARIMA que también incluye el modelado de variables exógenas.

Las variables exógenas también se denominan covariables y se pueden considerar como secuencias de entrada paralelas que tienen observaciones en los mismos pasos de tiempo que la serie original. La serie primaria puede denominarse datos endógenos para contrastarla con la secuencia o secuencias exógenas. Las observaciones de las variables exógenas se incluyen en el modelo directamente en cada paso de tiempo y no se modelan de la misma manera que la secuencia endógena primaria (por ejemplo, como un proceso AR, MA, etc.).

El método SARIMAX también se puede utilizar para modelar los modelos subsumidos con variables exógenas, como ARX, MAX, ARMAX y ARIMAX. El método es adecuado para series de tiempo univariadas con componentes tendenciales y / o estacionales y variables exógenas.

• Autorregresión vectorial (VAR)

El método de autorregresión vectorial (VAR) modela el siguiente paso en cada serie de tiempo utilizando un modelo AR. Es la generalización de AR a múltiples series de tiempo paralelas, por ejemplo, series de tiempo multivariadas.

(31)

La notación para el modelo implica especificar el orden para el modelo AR (p) como parámetros para una función VAR, por ejemplo, VAR (p). El método es adecuado para series de tiempo multivariadas sin tendencia ni componentes estacionales.

• Media móvil de autorregresión vectorial (VARMA)

El método de media móvil de autorregresión vectorial (VARMA) modela el siguiente paso en cada serie de tiempo utilizando un modelo ARMA. Es la generalización de ARMA a múltiples series de tiempo paralelas, por ejemplo, series de tiempo multivariadas.

La notación para el modelo implica especificar el orden de los modelos AR (p) y MA (q) como parámetros para una función VARMA, por ejemplo, VARMA (p, q). También se puede utilizar un modelo VARMA para desarrollar modelos VAR o VMA. El método es adecuado para series de tiempo multivariadas sin tendencia ni componentes estacionales.

Pero nosotros nos centraremos en modelos de Machine Learning para crear nuestro modelo de predicción de datos en una serie temporal. Concretamente nos centraremos en modelos Deep Learnig como son las redes neuronales que veremos a continuación.

(32)

3. Ciencia de datos

3.1. Introducción. ¿Qué es ciencia de datos?

La Ciencia de Datos (o Data Science) es la disciplina que convierte los datos en conocimiento útil. Es decir, la ciencia de datos domina el espectro completo del ciclo de vida de los datos:

Ilustración 7. Estructura de un proceso de ciencia de datos

Captura de los datos (recepción de señales y adquisición de datos),

Gestión y preprocesamiento (ordenación, limpieza, transformación e ingeniería de datos),

Exploración y análisis (análisis exploratorio, clasificación, predicción de series temporales, regresión y otras técnicas de minería de datos),

Comunicación (informes reproducibles, visualización interactiva y apoyo a la toma de decisiones).

¿Aprendizaje automático?

El Machine Learning o Aprendizaje Automático es una disciplina científica del ámbito de la Inteligencia Artificial que crea sistemas que aprenden automáticamente.

Aprender en este contexto quiere decir identificar patrones complejos en millones de datos. La máquina que realmente aprende es un algoritmo que revisa los datos y es capaz de predecir comportamientos futuros. Automáticamente, también en este contexto, implica que estos sistemas se mejoran de forma autónoma con el tiempo, sin intervención humana (NG, 2018). Veamos cómo funciona.

(33)

3.2. Proceso de extracción del conocimiento

El proceso de extracción de conocimiento es el proceso no trivial de identificar patrones válidos, novedosos, potencialmente útiles y, en última instancia, comprensibles a partir de datos.

Propiedades deseables del conocimiento extraído:

• Válido. El modelo o patrón encontrado debe mostrar un adecuado nivel de precisión cuando se usa con nuevos datos.

• Novedoso. El conocimiento extraído debía ser desconocido antes de su obtención.

• Útil. El conocimiento obtenido debe permitir mejorar el sistema o adoptar decisiones que aporten algún beneficio al usuario.

• Comprensible. En otro caso se dificulta la interpretación, validación y uso del mismo.

Ilustración 8. Tareas del proceso de extracción de datos

(34)

Preparación de datos

La calidad del conocimiento extraído de un conjunto de datos depende del algoritmo de extracción empleado y de la calidad de los datos.

• Para mejorar la calidad de los datos se debe seleccionar y preparar un subconjunto del conjunto total de datos para formar lo que se conoce como vista minable.

• Algunas tareas que pueden o deben realizarse en esta etapa son:

o Identificar los datos irrelevantes.

o Identificar los outliers y lo valores perdidos (missing values).

o Reducir la dimensionalidad (seleccionar los atributos relevantes, seleccionar una muestra apropiada de datos)

o Construir nuevos atributos (discretización, transformación ...)

Minería de datos

En esta fase se obtiene nuevo conocimiento a partir de los datos, para ello se construye un modelo basado en datos. El modelo describe los patrones y relaciones encontrados entre los datos y se usa para entender mejor los datos, explicar situaciones pasadas o predecir situaciones futuras.

Identificar la tarea (clasificación, agrupamiento, detección de outlier, regla de asociación) que es más apropiada para la problemática que se tiene. Elegir el modelo (árbol de decisión, clasificador bayesiano, agrupamiento jerárquico, Deep learning...) que resuelve la tarea. Y, por último, seleccionar el algoritmo que construye el modelo escogido en el paso anterior.

(35)

Evaluación e interpretación

Antes de su uso, todo modelo obtenido desde los datos debe ser evaluado para medir su calidad. Es una tarea no trivial que puede depender de varios criterios, algunos de ellos bastante subjetivos y que pueden estar enfrentados entre sí.

Debe recordarse que los patrones descubiertos deben tener tres cualidades:

debe ser validos (precisos), interesantes (útiles y novedosos) y comprensibles.

Etapas de entrenamiento y validación

Para medir la calidad de los modelos predictivos deben definirse apropiadamente las etapas de entrenamiento y validación. De esta manera se asegura que las predicciones sean precisas y robustas.

• Datos de entrenamiento (training dataset): porción del conjunto de datos que se emplea para construir el modelo.

• Datos de validación (test dataset): porción del conjunto de datos que se usa para validar el modelo obtenido en la etapa anterior.

Técnicas de evaluación

• Validación simple: se divide aleatoriamente el conjunto de datos en dos subconjuntos: uno para el entrenamiento y otro para la validación. Con el primero se construye el modelo que luego es validado con los datos del segundo. El conjunto de validación suele constar del 5% al 50% de los datos iniciales.

• Validación cruzada: se divide aleatoriamente el conjunto de datos en dos subconjuntos.

o Se construye el modelo con el primer subconjunto y se valida con el segundo. Se obtiene así un primer ratio de error (o precisión).

Referencias

Documento similar

In addition to the requirements set out in Chapter VII MDR, also other MDR requirements should apply to ‘legacy devices’, provided that those requirements

The notified body that issued the AIMDD or MDD certificate may confirm in writing (after having reviewed manufacturer’s description of the (proposed) change) that the

En estos últimos años, he tenido el privilegio, durante varias prolongadas visitas al extranjero, de hacer investigaciones sobre el teatro, y muchas veces he tenido la ocasión

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

En junio de 1980, el Departamento de Literatura Española de la Universi- dad de Sevilla, tras consultar con diversos estudiosos del poeta, decidió propo- ner al Claustro de la

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

Sanz (Universidad Carlos III-IUNE): &#34;El papel de las fuentes de datos en los ranking nacionales de universidades&#34;.. Reuniones científicas 75 Los días 12 y 13 de noviembre