SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO...

84
SELECCI ´ ON DE CARACTER ´ ISTICAS MEDIANTE UN ALGORITMO GEN ´ ETICO PARA EL DIAGN ´ OSTICO DE CAOTICIDAD EN SERIES DE TIEMPO USANDO UN CLASIFICADOR CON REDES NEURONALES Jos´ e Guillermo Barrero Navas COD: 20101005032 Sharon Stephanie L´ opez R´ ıos COD: 20101005038 Universidad Distrital Francisco Jos´ e de Caldas Facultad de Ingenier´ ıa Bogot´ a - Colombia Septiembre de 2017

Transcript of SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO...

Page 1: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

SELECCION DE CARACTERISTICAS MEDIANTE UN ALGORITMOGENETICO PARA EL DIAGNOSTICO DE CAOTICIDAD EN SERIES DETIEMPO USANDO UN CLASIFICADOR CON REDES NEURONALES

Jose Guillermo Barrero Navas COD: 20101005032

Sharon Stephanie Lopez Rıos COD: 20101005038

Universidad Distrital Francisco Jose de Caldas

Facultad de Ingenierıa

Bogota - Colombia

Septiembre de 2017

Page 2: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Trabajo de grado

Requisito para optar por el tıtulo de Ingeniero Electronico

Jose Guillermo Barrero Navas COD: 20101005032

Sharon Stephanie Lopez Rıos COD: 20101005038

Director:

Miguel Alberto Melgarejo Rey

Profesor Asociado

Facultad de Ingenierıa – Laboratorio de Automatica e Inteligencia Computacional

Page 3: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

“. . . porque la naturaleza por sı misma, en caos, no puede mas que desarrollarse de manera regulary ordenada.”

Immanuel KantHistoria general de la naturaleza y teorıa del cielos (1755)

Page 4: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Nota de aceptacion:

Firma del jurado

Firma del director del trabajo de grado

Bogota, Septiembre de 2017

Page 5: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Agradecimientos

A nuestras familias por su paciencia y apoyo.Al profesor Miguel Melgarejo por inspirarnos y por guiarnos, desde incluso antes de que nacieraeste proyecto.A la Universidad Distrital Francisco Jose de Caldas por acogernos y formarnos.

Page 6: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Indice general

1. Introduccion 5

1.1. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2.2. Objetivos especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3. Solucion propuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4. Contenido del libro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2. Marco de referencia 9

2.1. Sistemas caoticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2. Redes neuronales artificiales (RNA) . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3. Algoritmos geneticos (AG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.3.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.3.2. Estructura general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.4. Algoritmos para identificacion de caos en series de tiempo . . . . . . . . . . . . . . . 14

2.4.1. Estimacion de los exponentes de Lyapunov . . . . . . . . . . . . . . . . . . . 14

2.4.2. Calculo de la dimension fractal . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3. Construccion de la base de datos de senales 19

3.1. Senales caoticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.1.1. Definicion de los sistemas de ecuaciones . . . . . . . . . . . . . . . . . . . . . 19

3.1.2. Ilustracion de las senales obtenidas . . . . . . . . . . . . . . . . . . . . . . . . 30

3.2. Senales regulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.2.1. Obtencion de las senales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.2.2. Ilustracion de las senales obtenidas . . . . . . . . . . . . . . . . . . . . . . . . 38

4. Construccion de la base de datos de caracterısticas 39

5. Diseno del algoritmo de seleccion de caracterısticas 47

5.1. Configuracion del algoritmo genetico . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.2. Ajustes debido a costo computacional . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.2.1. Filtrado de la base de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.3. Funcion de aptitud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.4. Integracion del AGC con la RNA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

1

Page 7: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

6. Resultados y experimentos 536.1. Resultados del algoritmo de seleccion . . . . . . . . . . . . . . . . . . . . . . . . . . . 536.2. Descripcion de las caracterısticas seleccionadas . . . . . . . . . . . . . . . . . . . . . 54

6.2.1. Estadısticos basicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556.2.2. Medidas de correlacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556.2.3. Operaciones de dominio especıfico . . . . . . . . . . . . . . . . . . . . . . . . 566.2.4. Estacionalidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566.2.5. Transformaciones en el dominio del tiempo . . . . . . . . . . . . . . . . . . . 596.2.6. Medidas de distribucion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616.2.7. Entropıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636.2.8. Informacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646.2.9. Patrones 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

6.3. Configuracion del sistema final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656.3.1. Entrenamiento de la RNA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656.3.2. Pruning de la RNA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666.3.3. Modelo del sistema final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

6.4. Experimentos de validacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

7. Conclusiones y trabajo futuro 727.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727.2. Aportes originales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737.3. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

2

Page 8: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Indice de figuras

2.1. Atractor extrano de Chen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2. Diagrama de una neurona artificial. Tomado de [37] . . . . . . . . . . . . . . . . . . 112.3. Ejemplos de funciones de activacion. Tomado de [39] . . . . . . . . . . . . . . . . . . 112.4. Seleccion de los cromosomas padres usando seleccion de tipo ruleta. Tomado de [40] 142.5. Representacion grafica de un cruce simple. Tomado de [40] . . . . . . . . . . . . . . . 142.6. a) Procedimiento para aproximar λ1, b) Procedimiento para aproximar λ1 + λ2.

Tomado de [24] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.7. Grafica log-log para el mapa de Henon. Tomado de [42] . . . . . . . . . . . . . . . . 18

3.1. Algunos mapas caoticos del cuadro 3.1 en rojo y las senales con las que se construyenen azul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.2. Algunos atractores caoticos del cuadro 3.2 en rojo y las senales con las que se cons-truyen en azul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.3. Vista general de la base de datos de senales caoticas, normalizadas entre 0 y 1. . . . 313.4. Algunas senales de ruido sintetico del cuadro 3.3 . . . . . . . . . . . . . . . . . . . . 383.5. Algunas senales de otro tipo del cuadro 3.4 . . . . . . . . . . . . . . . . . . . . . . . 383.6. Vista general de la base de datos de senales regulares, normalizadas entre 0 y 1. . . . 38

4.1. Vista general de la base de datos de caracterısticas, normalizadas entre 0 y 1. . . . . 40

5.1. Ejemplo de actualizacion del vector de probabilidad. I1 es el individuo ganador, I2el perdedor y p es el vector de probabilidad . . . . . . . . . . . . . . . . . . . . . . . 48

5.2. Esquema de la red neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485.3. Interpretaciones de la curva ROC. Tomado de [67] . . . . . . . . . . . . . . . . . . . 505.4. Pseudocodigo del algoritmo de seleccion implementado . . . . . . . . . . . . . . . . . 51

6.1. Cambios en el vector de probabilidad a traves de las 239 epocas . . . . . . . . . . . . 546.2. Vector de probabilidad final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546.3. Diagrama de la RNA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656.4. Curva ROC de la red neuronal seleccionada . . . . . . . . . . . . . . . . . . . . . . . 656.5. Error de entrenamiento y validacion al reducir los parametros mediante OBS . . . . 666.6. Representacion grafica del sistema de diagnostico final (SDF) . . . . . . . . . . . . . 676.7. Algunos resultados del algoritmo Grassberger-Procaccia . . . . . . . . . . . . . . . . 706.8. Tiempos de ejecucion aproximados para los algoritmos SDF y AGP. . . . . . . . . . 71

3

Page 9: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Indice de cuadros

3.1. Mapas caoticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.2. Flujos caoticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.3. Senales de ruido sintetico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.4. Otras senales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.1. Descripcion de la base de datos de caracterısticas . . . . . . . . . . . . . . . . . . . . 41

5.1. Matriz de error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505.2. Especificaciones para la RNA de evaluacion de los individuos . . . . . . . . . . . . . 52

6.1. Descripcion de la maquina virtual usada en el proceso de seleccion de caracterısticas 536.2. Especificaciones para RNA final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656.3. Cantidad de parametros de la RNA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666.4. Puntos de interes luego de OBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676.5. Resultados de los experimentos realizados . . . . . . . . . . . . . . . . . . . . . . . . 686.6. Descripcion de la maquina usada en el proceso de pruebas . . . . . . . . . . . . . . . 69

4

Page 10: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Capıtulo 1

Introduccion

1.1. Planteamiento del problema

En los anos 50 el matematico y meteorologo Edward Lorenz empezo a cuestionar la naturalezadel clima, que hasta ese momento era caracterizado mediante modelos lineales. En 1963 publicosu trabajo Deterministic Nonperiodic Flow [1], donde encontro que existen sistemas dinamicos nolineales extremadamente sensibles a pequenas variaciones en las condiciones iniciales y que, en casode tratarse de un sistema determinıstico, su comportamiento no puede ser predicho a menos de quese conozcan con exactitud estas condiciones iniciales. A estos sistemas, luego se les dio el nombrede caoticos [2].

Segun la definicion de Lorenz [3]:

“Chaos: When the present determines the future, but the approximate present does not appro-ximately determine the future”

Desde entonces se han detectado comportamientos caoticos en varios fenomenos relacionadoscon campos de la ciencia y la ingenierıa: astrofısica [4], crecimiento dendrıtico [5], actividad cerebral[6, 7], fibras nerviosas [8], cardiologıa y hematologıa [9, 10, 11], economıa [12], epidemiologıa [13],fluidos [14, 15, 16], laseres [17, 18] y sociologıa [19], solo por nombrar algunos.

Simultaneamente se han desarrollado multiples elementos para la caracterizacion de caos tem-poral que han sido usados para describir y analizar todos los fenomenos anteriormente nombrados.Varias herramientas teoricas han surgido con el fin de identificar comportamientos caoticos en estetipo de senales, como el analisis de los atractores que pueden obtenerse en el espacio de fase[20,21], en particular con el calculo de los exponentes de Lyapunov [22, 23, 24, 25] y el calculo de ladimension fractal [26], en donde sobresale el algoritmo de Grassberger-Procaccia [27], entre otros.Estos algoritmos han comprobado ser confiables en datos generados por simulaciones numericas,sin embargo, cuando se trata de datos experimentales, la mayorıa de las bases de datos contienenruido, o no poseen una tasa de muestreo o cantidad de muestras adecuadas para garantizar laconfiabilidad de los resultados [28].

Existen propuestas en la literatura para la identificacion de caos que directamente involucranla inteligencia computacional y las tecnicas mencionadas anteriormente. En [29] se usa un sistema

5

Page 11: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

difuso que clasifica de acuerdo con dos parametros, el primero detecta el grado de linealidad de laserie y el segundo el grado de no linealidad haciendo uso de la dimension de correlacion halladamediante el algoritmo de Grassberger-Procaccia. En [30] se calculan los exponentes de Lyapunov deuna serie temporal usando el metodo de correlacion cruzada discreta [31] y una red de 4 neuronaspara identificar y eliminar los exponentes falsos. Aunque los resultados son satisfactorios, estastecnicas implican una gran cantidad de procesamiento de las senales antes de ser siquiera puestasbajo el lente del sistema inteligente.

Los autores replicaron el trabajo propuesto en [29], usando tanto un sistema de inferencia difusacomo una red neuronal. Se calcularon la dimension de correlacion y el coeficiente de determinacion,sin embargo, es en el calculo de la dimension de correlacion en donde los autores encontraron ungran costo computacional debido a la complejidad del proceso. En primer lugar es necesario hallar elretraso adecuado para la correcta insercion de la senal en varias dimensiones, mediante el calculo dela Informacion Mutua Promedio (AMI) [32]. Luego se debe insertar la senal en varias dimensiones,teniendo en cuenta el resultado anterior y de acuerdo con el teorema de Takens [20]. Finalmentese halla una medida aproximada de la integral de correlacion para cada una de las 10 dimensionesexploradas siguiendo el algoritmo de Grassberger-Procaccia [27]. De acuerdo con el cambio de ladimension de correlacion a medida que se aumenta la dimension de insercion, se puede determinarel tipo de sistema del que la senal proviene. Por esto tambien es necesario realizar un analisisde tendencia en los valores de dimension de correlacion obtenidos. Este proceso arrojo resultadosconsiderablemente buenos cuando se trataba de series de tiempo sinteticas, pero los resultadosfueron ambiguos a la hora de someter al proceso senales de origen experimental [33, 34].

Teniendo en cuenta el trabajo realizado en [35], surge entonces la pregunta que se pretende resol-ver con este trabajo: ¿Como se seleccionarıan los parametros de entrada de un sistema clasificadorde manera que este permita diagnosticar la presencia de comportamientos caoticos en senales ex-perimentales? Se espera que la solucion a este interrogante lleve a la obtencion de una herramientacapaz de identificar caoticidad en sistemas no lineales, especialmente en series de tiempo experi-mentales, que pueda contribuir como base para el desarrollo de futuras aplicaciones de analisis desistemas no lineales, ası como en los propositos de investigacion del Laboratorio de Automatica eInteligencia Computacional (LAMIC) de la Universidad Distrital Francisco Jose de Caldas.

1.2. Objetivos

1.2.1. Objetivo general

Desarrollar un algoritmo genetico para la seleccion de los parametros de entrada a una redneuronal que permita la deteccion de caos en series temporales.

1.2.2. Objetivos especıficos

Crear una base de datos que contenga por lo menos 200 senales, tanto sinteticas como expe-rimentales, provenientes de diversos sistemas dinamicos (lineales, no lineales no caoticos y nolineales caoticos).

6

Page 12: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Proponer un conjunto de por lo menos 20 estadısticos que permitan caracterizar las senalesde la base de datos.

Procesar la base de datos calculando los parametros conseguidos para cada una de las senalescontenidas en ella.

Implementar una arquitectura, que involucre un algoritmo genetico y una red neuronal, parala seleccion de parametros.

Validar el clasificador obtenido por medio de experimentos sobre una base de datos de vali-dacion.

1.3. Solucion propuesta

En este trabajo se propone un sistema de diagnostico de caos en senales basado en el calculode una serie de caracterısticas y una red neuronal simple. Para lograr el modelo final se siguieronlos pasos enunciados a continuacion:

Se construyo una base de datos de senales con 200 senales provenientes de sistemas caoticossinteticos y 140 senales ordinarias, con 10000 muestras cada una. Luego se calcularon 1452 parame-tros de todo tipo para cada una de las 340 senales. Para eliminar informacion redundante se realizoun filtro de correlacion lineal en la base de datos de caracterısticas. Una vez obtenida la base dedatos con una cantidad reducida de caracterısticas (351) que describen cada una de las senales, serealizo la seleccion de estas caracterısticas mediante un algoritmo genetico.

Los cromosomas usados en el algoritmo genetico tienen una longitud igual al numero de carac-terısticas, de manera que el alelo correspondiente a cada caracterıstica es 1 (se tiene en cuenta enla clasificacion) o 0 (no se tiene en cuenta). Entonces, cada unos de los cromosomas generados porel algoritmo genetico provee una combinacion diferente de caracterısticas a tener en cuenta en elproblema de clasificacion.

Luego de multiples iteraciones, el algoritmo genetico permitio identificar aquellas caracterısticasque aportan mas a la tarea de clasificacion. La red entrenada para esta combinacion en particulares el clasificador final.

1.4. Contenido del libro

En el capıtulo dos se ahonda en los conceptos generales necesarios para el entendimiento de esteproyecto tales como redes neuronales y algoritmos geneticos. Se hace una sıntesis general sobre labase de la teorıa del caos y se describen varios procesos usados actualmente para la estimacion decoeficientes que permiten detectar caoticidad en series de tiempo.

En el capıtulo tres se describe el proceso de construccion de la base de datos de senales. Para lassenales caoticas se presentan las ecuaciones de cada uno de los sistemas usados, con las condicionesiniciales y parametros necesarios para que el sistema se comporte de forma caotica. Para el caso delas senales no caoticas, se presenta una breve descripcion de la senal.

7

Page 13: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

En el capıtulo cuatro se describe el proceso de construccion de la base de datos de caracterısti-cas, esto es, el conjunto de estadısticos que permiten caracterizar una senal para clasificarla. Losestadısticos se dividen en varios grupos y a su vez cada estadıstico puede ser calculado con variosparametros distintos. Se presenta una breve descripcion de cada estadıstico y se describe el procesode normalizacion de la base de datos. Se describe el diseno de un filtro de correlacion que permitioeliminar senales altamente correlacionadas entre sı.

En el capıtulo cinco se describe el proceso de diseno del algoritmo de seleccion de caracterısticas,se habla de como se realizo la integracion del algoritmo genetico con las redes neuronales artificiales,y especıficamente de como se diseno y parametrizo el algoritmo genetico compacto para el problemade clasificacion binario. Se hace enfasis en los problemas relacionados con el costo computacionalque supone el proceso de clasificacion y en como afectaron la implementacion del algoritmo final.

En el capıtulo seis se analizan los resultados del algoritmo de seleccion, se compara la efectivi-dad y la rapidez que proporciona el clasificador final contra los metodos tratados en el marco dereferencia y se concluye sobre las caracterısticas seleccionadas en el problema de seleccion de caos.

Finalmente, en el capitulo siete se concluye sobre el trabajo desarrollado y se proponen algunostrabajos futuros.

8

Page 14: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Capıtulo 2

Marco de referencia

2.1. Sistemas caoticos

El caos es una caracterıstica de sistemas dinamicos no lineales que describe un comportamientoirregular e inestable pero que a la vez posee una estructura “ordenada” en el espacio de fase. Muchasveces es confundido con ruido por tener un espectro de potencia de banda ancha. Por esto el analisisde Fourier, como otras herramientas lineales, no aportan suficiente informacion y ha sido necesarioel desarrollo de otras herramientas para el analisis de este tipo de sistemas.

El sistema caotico evoluciona describiendo orbitas extranas confinadas en una porcion del espa-cio de fase. Estas trayectorias presentan sensibilidad a las condiciones iniciales del sistema, causandoque dos puntos o estados iniciales infinitesimalmente cercanos en el espacio de fase evolucionen entrayectorias totalmente distintas que se separan exponencialmente una de la otra [32].

Suponiendo que se tiene una resolucion limitada en el espacio de fase para un sistema inestable,donde dicha resolucion esta dada por una hiperesfera de radio R, es decir que dos estados x1(t) yx2(t) contenidos en esta son indistinguibles para el observador en el instante de tiempo t0. En untiempo t′ despues, la distancia entre los puntos habra crecido de acuerdo a la siguiente relacion,para al menos una de las variables de estado establecidas para el sistema [32]:

|x1(t′)− x2(t′)| ≈ |x1(t0)− x2(t0)|eλ|t

′−t0|, λ > 0 (2.1)

Esto significa que el observador solo presenciaba una trayectoria dentro de la hiperesfera deradio R y luego del periodo de tiempo t′ puede distinguir que existıan dos trayectorias dentro dedicha hiperesfera. Lo anterior deja en evidencia la relacion que existe entre el caos y la produccionde informacion que puede ser medida en terminos de entropıa (entropıa de Kolmogorov - Sinai)[36]. Esta propiedad hace que los sistemas caoticos sean poco predecibles a largo plazo, aun ası, esposible calcular un horizonte de predictibilidad dentro del cual se puede estimar el comportamientodel sistema[.]

Un sistema dinamico tiene tantos exponentes de Lyapunov (λ) [22] como variables de estadoo dimensiones. Si por lo menos uno de estos es positivo el sistema es inestable. Entonces, en unsistema caotico se tiene por lo menos un exponente positivo que lleva a un estiramiento de las

9

Page 15: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico
Page 16: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Figura 2.2: Diagrama de una neurona artificial. Tomado de [37]

Una funcion de activacion f que determina el nuevo nivel de activacion basado en la entradaXi y el estado de activacion actual Yi. Algunos tipos se muestran en la figura 2.3.

Una entrada externa θi, conocida tambien como bias, para cada neurona.

Un metodo para recopilar informacion llamada regla de aprendizaje.

Un ambiente en el cual cada sistema opera, que provee senales de entrada y si es necesariosenales de error.

Las neuronas reciben entradas de sus vecinos o de fuentes externas, que son usadas para calcularel valor de la salida, ası [38]:

Yi = f(n) = f(

N∑

i=1

[(Xi ∗Wi) + θi]) (2.2)

Figura 2.3: Ejemplos de funciones de activacion. Tomado de [39]

Para disenar una red se debe establecer la forma en que las unidades procesadoras se conectanentre sı. Para esto se han propuesto varias estructuras de redes en la literatura siendo lo mas usual

11

Page 17: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

disponer las neuronas en forma de capas. Aunque, en un principio se plantearon redes que constabande una sola capa, en la actualidad es recurrente el uso de tres o mas. La primera capa actua comoun regulador de entrada almacenando la informacion bruta suministrada a la red o realizando unsencillo pre-proceso de la misma, se conoce como capa de entrada. Otra capa actua como reguladorde salida, almacenando la respuesta de la red para que pueda ser leıda, se llama capa de salida. Lascapas intermedias, principales encargadas de procesar y memorizar la informacion, se denominancapas ocultas.

Ademas del numero de capas es importante definir la forma en que las capas se conectan entresı, se habla generalmente de dos topologıas de red:

Redes recurrentes: la informacion puede volver a lugares por los que ya habıa pasado, forman-do bucles, y se admiten las conexiones entrecapa (laterales), incluso de una unidad consigomisma.

Redes no recurrentes o redes en cascada: La informacion fluye unidireccionalmente de unacapa a otra (desde la capa de entrada a las capas ocultas y de estas a la capa de salida), yademas, no se admiten conexiones entrecapa.

Las conexiones entre una capa y otra pueden ser totales, es decir, que cada unidad se conectacon todas las unidades de la capa siguiente, o parciales, en las cuales una unidad se conecta consolo algunas de las capas de la unidad siguiente, generalmente siguiendo algun patron aleatorio opseudo-aleatorio [39].

Las caracterısticas de las ANNs las hacen bastante apropiadas para aplicaciones hacia problemasen los que no se dispone a priori de un modelo que pueda ser programado, pero se dispone de unconjunto de ejemplos de entrada que proporcionen a la red un patron para adaptarse. Asimismo,son altamente robustas al ruido y son facilmente paralelizables [38].

2.3. Algoritmos geneticos (AG)

2.3.1. Generalidades

Los algoritmos geneticos nacen en los anos sesenta, desarrollados por John Holland en la Uni-versidad de Michigan, inspirados en los procesos evolutivos presentes en la naturaleza y su basegenetico-molecular. Surgen con dos propositos generales: solucionar problemas computacionales ycomo modelos cientıficos simplificados que respondan a problemas de la naturaleza [40].

En la biologıa, el conjunto de posibilidades es el conjunto de posibles secuencias geneticasy las soluciones deseadas son organismos altamente adaptados. En los GAs, el cromosoma hacereferencia a una solucion candidata, que generalmente tiene la forma de una cadena de bits dondecada posicion tiene dos posibles alelos: 0 o 1. Entonces, el espacio de busqueda esta conformadopor todas las posibles soluciones o, en este caso, combinaciones geneticas [41].

Los AGs surgieron con el proposito de hacer una busqueda amplia sobre el espacio de solucionesmediante la exploracion en paralelo con lo cual se corre un menor riesgo de caer en mınimos locales

12

Page 18: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

como en otros algoritmos de optimizacion, aun ası, entre mas mınimos locales tenga la funcion aoptimizar se requeriran mas iteraciones del algoritmo para alcanzar el mınimo global, y ademas,si existen varios mınimos locales cercanos al mınimo global aumenta la probabilidad de que elalgoritmo no converja al mınimo global [40].

Los AGs se diferencian de otros algoritmos de optimizacion y/o busqueda, en los siguientesaspectos [40]:

Trabajan con una codificacion de los parametros y no con los parametros directamente.

Buscan sobre un conjunto de puntos simultaneamente y no sobre un solo punto.

Usan la funcion objetivo unicamente como medida de aptitud, no las derivadas ni otro tipode informacion.

Usan reglas basadas en probabilidad, es decir, no son determinısticas.

2.3.2. Estructura general

El AG mas simple consta de los siguientes pasos soluciones o, en este caso, combinacionesgeneticas [41]:

1. Iniciar con una poblacion generada aleatoriamente de n cromosomas de tamano l.

2. Calcular la funcion de aptitud para todos los individuos. La aptitud o fitness indica que tanbuena solucion resulta un cromosoma en particular para el problema.

3. La creacion de la descendencia se realiza hasta lograr una nueva poblacion del mismo tamanon de la poblacion inicial, de acuerdo con las siguientes etapas:

a) Seleccion: Seleccionar un par de cromosomas padres en la poblacion actual. La probabi-lidad de que un cromosoma sea seleccionado en esta etapa aumenta si su aptitud resultoalta en el paso 2. Los mecanismos de seleccion mas usados son [37]:

i Torneo: se seleccionan dos individuos al azar y se conserva en un conjunto separadoel mejor de estos. El procedimiento se realiza hasta tener solo dos individuos.

ii Proporcional: donde la probabilidad de seleccion depende de la aptitud absoluta delindividuo seleccionado comparada con la aptitud absoluta del resto de la poblacion.

iii Ruleta: aquı el individuo mas apto ocupa un area mayor de la ruleta. A cada indi-viduo se le asignan ranuras de la ruleta en funcion de su aptitud. Luego se generaun numero al azar y el individuo en la ranura con ese numero es seleccionado. Unejemplo se muestra en la figura 2.4.

iv Rango: la poblacion es organizada de acuerdo con los valores de la funcion de aptitudpara cada individuo.

b) Cruce: De acuerdo con la probabilidad de cruce establecida, se selecciona aleatoriamenteuna posicion desde donde se combinan los dos padres, produciendo dos descendientescomo se muestra en la figura 6. En algunos algoritmos el proceso de cruce se omite y losdos descendientes son identicos a sus padres.

13

Page 19: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Figura 2.4: Seleccion de los cromosomas padres usando seleccion de tipo ruleta. Tomado de [40]

c) Mutacion: Para los dos descendientes, mutar cada alelo, de acuerdo con la probabili-dad de mutacion establecida. Los dos cromosomas resultantes son ubicados en la nuevapoblacion. Esto sirve para explorar el espacio de busqueda de una manera mas amplia

4. La nueva poblacion es configurada como la poblacion inicial.

5. Repetir desde el paso 2.

Figura 2.5: Representacion grafica de un cruce simple. Tomado de [40]

Cabe resaltar que la anterior es la estructura general de un AG. Existen multiples variacionesque pueden hacer el procedimiento mas efectivo para un problema especıfico como, por ejemplo,cambios en el tamano de la poblacion o el valor de las diferentes probabilidades involucradas asıcomo diferentes metodos de cruce y mutacion.

2.4. Algoritmos para identificacion de caos en series de tiempo

2.4.1. Estimacion de los exponentes de Lyapunov

Dado un sistema dinamico continuo en un espacio de n dimensiones, se monitorea la evolucion alargo plazo de una n-esfera de condiciones iniciales. La n-esfera se convertira en un n-elipsoide debidoa la naturaleza del flujo. Entonces, el exponente i-esimo de Lyapunov (el espectro de exponentes estaordenado de mayor a menor), se define en terminos de la longitud del eje principal del n-elipsoidepi(t) ası [24]:

14

Page 20: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

λi = lımx→∞

1

tlog2

pi(t)

pi(0)(2.3)

Como se explico en la seccion 2.1, los exponentes de Lyapunov estan fuertemente relacionadoscon la sensibilidad de un sistema a las condiciones iniciales y la forma en que se contrae o expandeel diagrama de fase del sistema dinamico.

En la literatura se encuentra gran cantidad de algoritmos para la estimacion de los exponentesde Lyapunov. Sin embargo la mayorıa de estos metodos son variaciones de tres enfoques previos[23],[24], [25].

Los algoritmos desarrollados en [23],[25] permiten la estimacion del espectro entero de expo-nentes de Lyapunov, basandose en el calculo de la matriz jacobiana.

Teniendo una serie de tiempo x0, x1, ..., xT−1,, donde T es el numero total de datos, se escogeuna dimension de insercion dE y se reconstruye el espacio de fase usando el teorema de Takens [20],ası:

xt := (xt, xt+1, ..., xt+dE−1) (2.4)

Luego es necesario encontrar los vecinos de xt, es decir, los puntos xt de la orbita que estancontenidos en la ε-vecindad centrada en xt:

‖xT − xt‖ ≤ ε (2.5)

Entonces definimos yi, como el desplazamiento entre los vectores x(ki) y xj . Luego de un inter-valo de tiempo m, el punto xj se convertira en x(j +m) y los puntos vecinos x(ki) se convertiranen x(ki +m). El desplazamiento entre estos nuevos vectores es zi.

yi := xki − xj , ‖xki − xj‖ ≤ ε (2.6)

zi := xki+m − xj+m, ‖xki − xj‖ ≤ ε (2.7)

Si el radio ε es lo suficientemente pequeno para que los vectores de desplazamiento yi y zi seanconsiderados buenos aproximadores de los vectores tangentes en el espacio tangente, la evolucionde yi a zi se puede representar por la matriz Aj , ası:

zi = AjYi (2.8)

Donde la matriz Aj es una aproximacion del flujo del mapa en xj . Ahora es necesario encontrarla mejor estimacion para Aj partiendo de los conjuntos de datos yi y zi . Se usa el algoritmo de errorde mınimos cuadrados, el cual minimiza el error cuadrado promedio entre zi y Ajyi con respecto atodos los componentes del la matriz, ası:

15

Page 21: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

mın(Aj)

S = min(Aj)1

N

N∑

i=0

‖zi −AjYi‖2 (2.9)

Denotando el componente de la matriz Aj en la posicion (k,l) como Akl(j) y aplicando lacondicion de la ecuacion, se obtienen dxd ecuaciones para resolver de la forma:

∂S

∂Akl(j)= 0 (2.10)

Entonces, se escribe AjV = C, donde las matrices V y C estan dadas por las ecuaciones (11) y(12), respectivamente.

(V )kl =1

N

n∑

i=1

YikYil (2.11)

(C)kl =1

N

n∑

i=1

zikzil (2.12)

V y C son matrices de tamano dxd y son llamadas matrices de covarianza. yik y zik son loscomponentes en la posicion k de los vectores yi y yi, respectivamente. Si N ≥ d no hay degeneraciony A(j)V = C tiene solucion y los exponentes de Lyapunov pueden ser calculados siguiendo (13).

λi =1

n∑

j=1

ln ‖Aj(ei)j‖ (2.13)

Donde i = 1, ..., dy(ei)j es un conjunto de vectores de la base del espacio tangente en xj . En

el procedimiento numerico se selecciona un conjunto (ei)j arbitrario. Se realiza el producto Aj(ei)

j

y se normaliza para que tenga tamano 1. Usando el algoritmo de Gram-Schmidt se mantiene laortogonalidad mutua de la base. Se repite este procedimiento por n iteraciones.

Por otro lado, en [24] se propone un algoritmo con un enfoque geometrico que puede detectarcaos en datos experimentales mediante la estimacion de los primeros exponentes de Lyapunov nonegativos. Sin embargo, los procedimientos requieren una cantidad razonable de datos sin ruido yel atractor resultante no debe ser de dimension muy alta, ya que la cantidad de datos requeridosaumenta exponencialmente con la dimension del atractor.

Este procedimiento involucra examinar la divergencia de las orbitas del atractor reconstruido,mediante el teorema de Takens [20].

Para determinar una estimacion de λ1, se escogen dos puntos cuya separacion temporal en laserie de tiempo original sea al menos un periodo orbital promedio. Estos puntos definen el primerestado, debido a que su separacion espacial es muy pequena. Cuando su separacion se vuelva mayorse selecciona un nuevo punto cerca de la trayectoria de referencia. El procedimiento se repite hasta

16

Page 22: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico
Page 23: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

pares de puntos cuya distancia es menor que r, ası:

C(r) =2

N(N − 1)

i<j

θ(r − ‖xi − xj‖) (2.15)

θ(x) representa la funcion escalon de Heaviside, es decir cuando r − ‖xi − xj‖ ≥ 0 la funciontiene un valor igual a la unidad, en caso contrario la funcion vale cero. El valor de C(r) decrece deacuerdo con la ley de potencia conforme r tiende a cero. Entonces se puede decir que:

C(r,m) ≈ rD (2.16)

Donde D representa la dimension de correlacion. Formalmente, D se expresa de la siguientemanera:

D = lımr→0

logC(r)

log r(2.17)

Figura 2.7: Grafica log-log para el mapa de Henon. Tomado de [42]

El algoritmo de Grassberger-Procaccia [27] permite la estimacion de D, mediante la insercion dela serie de tiempo en diferentes dimensiones usando el teorema de Takens [20]. Para cada dimensionde insercion m, se calcula el valor de C(r,m), luego se grafica C(r,m) contra r en ejes log-log, demanera que el valor de la pendiente de la curva resulta ser D.

Este metodo distingue entre series de tiempo estocasticas y caoticas determinısticas, ya que parauna senal estocastica la pendiente de la curva es aproximadamente igual a la dimension de insercionpara cualquier m, es decir C(r,m) ≈ rm. Por otro lado, para un sistema caotico la pendiente de lacurva es aproximadamente D, para cualquier m mayor a la dimension verdadera del sistema, es decirC(r,m) ≈ rD. Como se puede apreciar en la figura 2.7, para el mapa de Henon, que es un sistemacaotico conocido, para m ≥ 2, la pendiente de las curvas es casi la misma y es aproximadamente1.21.

18

Page 24: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Capıtulo 3

Construccion de la base de datos desenales

3.1. Senales caoticas

3.1.1. Definicion de los sistemas de ecuaciones

Para la obtencion de esta porcion de la base de datos se busco en la literatura sistemas deecuaciones que describieran comportamientos caoticos, de manera que se pudieran sintetizar lassenales correspondientes usando MATLAB R©. De esta manera se logro obtener 200 senales caoticas.Los sistemas usados se detallan en los cuadros 3.1 y 3.2. En ambos casos se generaron series de 11000 muestras, y se eliminaron las 1 000 primeras, de manera que los vectores correspondientes acada senal tienen una longitud de 10 000 muestras. Este procedimiento se realizo debido a que lossistemas caoticos tardan cierto tiempo para lograr estar contenidos dentro del atractor.

Los mapas, correspondientes al cuadro 3.1, son funciones iterativas. El valor de la senal en elinstante n+1 se obtiene calculando determinada funcion sobre el valor de la senal en el instante n.La gran mayorıa de los mapas usados estan definidos por una unica ecuacion. Para aquellos casosen los que se tiene mas de una ecuacion y en donde una de las variables tiene una relacion linealcon otra, solo se tuvo en cuenta una de las senales.

Los flujos, correspondientes al cuadro 3.2, son sistemas de ecuaciones diferenciales para loscuales se han identificado comportamientos caoticos. En la mayorıa de los casos usados se describensistemas de 3 ecuaciones. La sıntesis de las senales a partir de estas ecuaciones se realizo usandola funcion ode45 que es uno de los modulos que ofrece MATLAB R© para la solucion de sistemas deecuaciones de la forma y′ = f(t, y) [43].

Algunos de los sistemas caoticos descritos en esta seccion son modelos reales de fenomenos fısicos,por lo que se tiene claramente definido el significado de cada una de las constantes. Sin embargo,existen otros modelos que son producto de la variacion de parametros al azar en busqueda de caos.Es por esto que en este trabajo se opto por generalizar la nomenclatura de las constantes ası: pn. Losvalores de pn y las condiciones iniciales usadas para cada sistema se definen en la quinta columnade los cuadros.

19

Page 25: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Cuadro 3.1: Mapas caoticos

Tipo Nombre del sistema Ecuaciones Posicion CondicionesNon

invertible

map

s[44]

Logistic map x[n+ 1] = p ∗ x[n](1− x[n]) 108p = 3,9999

x[0] = 0,667508

Sine map x[n+ 1] = p ∗ sin(π ∗ x[n]) 181p = 1

x[0] = 0,95

Tent mapx[n+ 1] = p ∗ x[n], x[n] < 0,5

184p = 1,85

x[n+ 1] = p(1− x[n]), x[n] > 0,5 x[0] = 0,6

Lineal congruential generator x[n+ 1] = mod(p1 ∗ x[n] + p2, p3) 104

p1 = 7141p2 = 54773p3 = 259200x[0] = 0

Cubic map x[n+ 1] = p ∗ x[n](1− x[n]2) 35p = 2,4

x[0] = 0,6

Ricker’s population model x[n+ 1] = p ∗ x[n]e−x[n] 150p = 18

x[0] = 0,6Gauss map x[n+ 1] = mod(1/x[n], 1) 71 x[1] = 0,9575

Cusp map x[n+ 1] = 1− p ∗√

|x[n]| 36p = 1,95x[0] = 0,5

Gaussian white noise chaotic map x[n+ 1] = |x[n]|−1/4 − (1/2)− |x[n]| 72 x[0] = 0,4

Pincher’s map x[n+ 1] = | tanh(p1 ∗ x[n]− p2)| 135p1 = 2p2 = 0,6x[0] = 0

Spence map x[n+ 1] = |ln(x[n])| 183 x[0] = 0,5

Sine-circle map x[n+ 1] = mod(x[n] + p1 − (p2/2π) ∗ sin(2π ∗ x[n]), 1) 182p1 = 0,5p2 = 2

x[0] = 0,1

Dissipativemap

s[44]

Henon map 86

p1 = 1,4x[n+ 1] = 1 + y[n]− p1 ∗ x[n]2 x[0] = 1,076

y[0] = −0,12

Lozi map 113

p1 = 0,56x[n+ 1] = 1 + y[n]− p1 ∗ |x[n]| p2 = −0,24

y[n+ 1] = p2 ∗ x[n] x[0] = 0,56y[0] = −0,24

Delayed logistic mapx[n+ 1] = p ∗ x[n](1− y[n])

40p = 2,27

y[n+ 1] = x[n] x[0] = 0,01y[0] = 0,01

20

Page 26: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Tipo Nombre del sistema Ecuaciones Posicion Condiciones

Dissipativemap

s[44]

Tinkerbell map

p1 = 0,9p2 = −0,6013

x[n+ 1] = x[n]2 + p1 ∗ x[n]− y[n]2 + p2 ∗ y[n] 188 p3 = 2y[n+ 1] = p3 ∗ x[n] + 2x[n] + p4 ∗ y[n] 189 p4 = 0,5

x[0] = −0,5y[0] = −0,5

Burger’s map

p1 = 0,75x[n+ 1] = p1 ∗ x[n]− y[n]2 15 p2 = 1,75

y[n+ 1] = p2 ∗ y[n] + x[n] ∗ y[n] 16 x[0] = −0,0572y[0] = 0,1573

Holme’s cubic map 87

p1 = 0,2x[n+ 1] = y[n] p2 = 2,77

y[n+ 1] = −p1 ∗ x[n] + p2 ∗ y[n]− y[n]3 x[0] = −0,0572y[0] = 0,1573

Kaplan-Yorke map

p1 = 1,9999x[n+ 1] = mod(p1 ∗ x[n], 1) 99 p2 = 0,2

y[n+ 1] = mod(p2 ∗ y[n] + cos(4π) ∗ x[n]), 1) 100 x[0] = 1/√2

y[0] = 0,4

Dissipative standard map

p1 = 0,1x[n+ 1] = p1 ∗ y[n] + p2 ∗ sin(x[n]) 49 p2 = 8,8y[n+ 1] = mod(x[n] + y[n+ 1], 2π) 50 x[0] = 2,88

y[0] = −0,19

Ikeda map

p1 = 1t[n] = p3 − (p4/(1 + x[n]2 + y[n])) p2 = 0,9

x[n+ 1] = p1 + p2 ∗ (x ∗ cos(t[n])− y[n] ∗ sin(t[n])) 91 p3 = 0,4y[n+ 1] = p2 ∗ (x[n] ∗ sin(t[n])) + y[n] ∗ cos(t[n]) 92 p4 = 6

x[0] = 0,5y[0] = 0,5

Sinai mapx[n+ 1] = mod(x[n] + y[n] + p ∗ cos(2π ∗ y[n]), ) 179 p = 0,1

y[n+ 1] = mod(x[n] + 2 ∗ y[n], 1) 180 x[0] = 0,5y[0] = 0,5

Predator-prey map

p1 = 3x[n+ 1] = x[n]ep1∗(1−x[n]/p2) − p3 ∗ y[n] 47 p2 = 1

y[n+ 1] = x[n](1− e−p3∗y[n]) 48 p3 = 5x[0] = 0,5y[0] = 0,5

21

Page 27: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Tipo Nombre del sistema Ecuaciones Posicion Condiciones

Con

servativemap

s[44]

Chirikov (standard) mapx[n+ 1] = x[n] + y[n+ 1] 27 x[0] = 0,1y[n+ 1] = y[n] + sin(x[n]) 28 y[0] = 6,2

Arnold’s cat mapx[n+ 1] = mod(x[n] + y[n], 1) 10 p = 2y[n+ 1] = mod([n] + p ∗ y[n], 1) 11 x[0] = 0

y[0] = 1/√2

Gingerbreadman mapx[n+ 1] = 1 + |x[n]|–y[n]

76x[0] = 0,5

y[n+ 1] = x[n] y[0] = 3,7

Chaotic web mapx[n+ 1] = x[n] cos(α)–(y[n] + sin(x[n])) sin(α)

23x[0] = 0

y[n+ 1] = x[n] sin(α) + (y[n] + sin(x[n])) cos(α) y[0] = 3

Lorenz 3D chaotic mapx[n+ 1] = x[n] ∗ y[n]–z[n]

112x[0] = 0,5

y[n+ 1] = x[n] y[0] = 0,5z[n+ 1] = y[n] z[0] = −1

Cuadro 3.2: Flujos caoticos

Tipo Nombre del sistema Ecuaciones Posicion Condiciones

Drivendissipativeflow

s[44]

Driven Van der Pol oscillator

x(0) = −1,9x = y 54 y(0) = 0

y = −x+ p1(1− x2)x2 + p2 sin(p3t) 55 p1 = 3p2 = 5

p3 = 1,788

Shaw-Van der Pol oscillator

x(0) = 1,3x = y + p1 sin(p3t) 166 y(0) = 0

y = −x+ p2(1− x2)y 167 p1 = 1p2 = 1p3 = 2

Forced Brusselator

x(0) = 1y(0) = 1

x = x2y − (p2 + 1)x+ p1 + p3 sin(p4t) 66 p1 = 0,4y = −x2y + p2x 67 p2 = 1,2

p3 = 0,04578p4 = 0,81

Ueda oscillator

x(0) = 2,5x = y 190 y(0) = 0

y = −x3 − p1y + p2 sin(p3t) 191 p1 = 0,05p2 = 7,5p3 = 1

22

Page 28: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Tipo Nombre del sistema Ecuaciones Posicion Condiciones

Drivendissipativeflow

s[44]

Duffing’s two-well oscillator

x(0) = 0,2x = y 58 y(0) = 0

y = −x3 + x− p1y + p2 sin(p3t) 59 p1 = 0,25p2 = 0,4p3 = 1

Duffing-Van der Pol oscillator

x(0) = 0,2y(0) = −2,5

x = y 56 p1 = 0,2y = p1(1− p2x

2)y − x3 + p3 sin(p4t) 57 p2 = 8p3 = 0,35p4 = 1,02

Rayleigh-Duffing oscillator

x(0) = 0,3y(0) = 0

x = y 148 p1 = 0,2y = p1(1− p2y

2)y − x3 + p3 sin(p4t) 149 p2 = 4p3 = 0,3p4 = 1,1

Autonom

usdissipativeflow

s[44]

Lorenz attractor

x(0) = 10x = −p1(x− y) 109 y(0) = 20y = p3x− y − xz 110 z(0) = 30z = −p2z + xy 111 p1 = 10

p2 = 8/3p3 = 28

Rossler attractor

x(0) = 0x = −y − z 154 y(0) = 0y = x+ p1y 155 z(0) = 0

z = p2 + z(x− p3) 156 p1 = 0,2p2 = 0,2p3 = 5,7

Difussionless Lorenz attractor

x = −y − x 44 x(0) = 1y = −xz 45 y(0) = 1z = xy + p 46 z(0) = 1

p = 1

Complex butterfly

x = p(y − x) 32 x(0) = 1y = −xz/|x| 33 y(0) = 1z = |x| − 1 34 z(0) = 1

p = 0,55

23

Page 29: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Tipo Nombre del sistema Ecuaciones Posicion Condiciones

Autonom

usdissipativeflow

s[44]

Chen’s system

x(0) = 1x = −p1(y − x) 24 y(0) = 1

y = (p3 − p1)x− xz + p3y 25 z(0) = 1z = xy − p2z 26 p1 = 35

p2 = 3p3 = 28

Hadley’s circulation

x(0) = 1,6y(0) = 0,4

x = −y2 − z2 − p1x+ p1p3 80 z(0) = 0,5y = xy − p2xz − y + p4 81 p1 = 0,25

z = p2xy + xz − z 82 p2 = 4p3 = 8p4 = 1

ACT attractor

x(0) = 1y(0) = 0

x = p1(x− y) 4 z(0) = 0y = −4p1y + xz + p4x

3 5 p1 = 1,8z = −p3p1z + xy + p2z

2 6 p2 = −0,07p3 = 1,5p4 = 0,02

Rabinovich-Fabrikant attractor

x(0) = 1x = y(z − 1 + x2) + p2x 145 y(0) = 1y = x(3z + 1− x2 + p2y) 146 z(0) = 1

z = −2z(p1 + xy) 147 p1 = 1,1p2 = 0,87

Linear feedback rigid body motion system

x(0) = 0,2x = −yz + p1x 105 y(0) = 0,2y = xz + p2y 106 z(0) = 0,2

z = (1/3)xy + p3z 107 p1 = 5p2 = −10p3 = −3,8

Chua’s circuit

x(0) = 0y(0) = 0

x = p1(y − p4x− 0,5(p3 − p4)(|x+ 1| − |x− 1|)) 29 z(0) = 0,6y = x− y + z 30 p1 = 9,85z = −p2y 31 p2 = 14,3

p3 = −1/7p4 = 2/7

24

Page 30: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Tipo Nombre del sistema Ecuaciones Posicion Condiciones

Autonom

usdissipativeflow

s[44]

Moore-Spiegel oscillator

x(0) = 1x = y 120 y(0) = 1y = z 121 z(0) = 1

z = −z − y(p1 − p2 + p2x2 − p1x) 122 p1 = 6

p2 = 20

Thomas cyclically symmetric attractor

x = sin(y)− px 185 x(0) = 0y = sin(z)− py 186 y(0) = 0,65z = sin(x)− pz 187 z(0) = 0,8

p = 0,18

Halvorsen’s cyclically symmetric attractor

x = −px− 4y − 4z − y2 83 x(0) = −9,65y = −py − 4z − 4x− z2 84 y(0) = −8,68z = −pz − 4x− 4y − x2 85 z(0) = 5,64

p = 1,27

Burke-Shaw attractor

x(0) = 1x = −p1(x+ y) 17 y(0) = 1y = −y − p1xz 18 z(0) = 1z = p1xy + p2 19 p1 = 10

p2 = 4,272

Rucklidge attractor

x(0) = 1x = −p1x+ p2y − yz 160 y(0) = 1

y = x 161 z(0) = 1z = −z + y2 162 p1 = 2

p2 = 6,7

WINDMI attractor

x(0) = 1x = y 195 y(0) = 1y = z 196 z(0) = 1

z = −p1z − y + p2 − ex 197 p1 = 0,7p2 = 2,5

Simplest quadratic chaotic flow

x = y 176 x(0) = −0,9y = z 177 y(0) = −0,2

z = −pz + y2 − x 178 z(0) = 0,5p = 2,017

Simplest cubic chaotic flow

x = y 168 x(0) = 0,0303y = z 169 y(0) = −0,9866

z = −pz + xy2 − x 170 z(0) = 0,0386p = 2,028

25

Page 31: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Tipo Nombre del sistema Ecuaciones Posicion Condiciones

A.dissipative[44]

Simplest piecewise linear chaotic flow

x = y 173 x(0) = 0,8426y = z 174 y(0) = 1,342

z = −pz − y − |x+ 1| 175 z(0) = 0,441p = 0,6

Double scroll

x = y 51 x(0) = 0,01y = z 52 y(0) = 0,01

z = −p(z + y + x− x/|x|) 53 z(0) = 0p = 0,8

Sim

ple

chaotic

flow

s[45]

Ax = y 1 x(0) = 0

y = −x+ yz 2 y(0) = 1z = 1− y2 3 z(0) = 1

Bx = yz 12 x(0) = 1

y = x− y 13 y(0) = 1z = 1− xy 14 z(0) = 1

Cx = yz 20 x(0) = 1

y = x− y 21 y(0) = 1z = 1− x2 22 z(0) = 1

Dx = −y 37 x(0) = 0,05y = x+ z 38 y(0) = 0,05

z = xz + 3y2 39 z(0) = 0,05

Ex = yz 60 x(0) = 1

y = x2 − y 61 y(0) = 1z = 1− 4x 62 z(0) = 1

Fx = y + z 63 x(0) = 0,1

y = −x+ 0,5y 64 y(0) = 0,1z = x2 − z 65 z(0) = 0,1

Gx = 0,4x+ z 68 x(0) = 0,3y = xz − y 69 y(0) = 0,3z = −x+ y 70 z(0) = 0,3

Hx = −x+ z2 77 x(0) = 1y = x+ 0,5y 78 y(0) = 1z = x− z 79 z(0) = 1

Ix = −0,2y 88 x(0) = 0,0767y = x+ z 89 y(0) = 0,2361

z = x+ y2 − z 90 z(0) = 0,1106

Jx = 2z 93 x(0) = 3,36

y = −2y + z 94 y(0) = 1,201z = −x+ y + y2 95 z(0) = 2,768

26

Page 32: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Tipo Nombre del sistema Ecuaciones Posicion Condiciones

Sim

ple

chaoticflow

s[45]

Kx = xy − z 96 x(0) = 1y = x− y 97 y(0) = 1

z = x+ 0,3z 98 z(0) = 1

Lx = y + 3,9z 101 x(0) = 6,202y = 0,9x2 − y 102 y(0) = 16,71z = 1− x 103 z(0) = −3,797

Mx = −z 117 x(0) = −0,2417

y = −x2 − y 118 y(0) = −0,6641z = 1,7(1 + x) + y 119 z(0) = 2,161

Nx = −2y 123 x(0) = −4,817y = x+ z2 124 y(0) = 3,261

z = 1 + y − 2z 125 z(0) = 1,954

Ox = y 129 x(0) = 0,1

y = x− z 130 y(0) = 0,1z = x+ xz + 2,7y 131 z(0) = 0,1

Px = 2,7y + z 132 x(0) = 0,1y = −x+ y2 133 y(0) = 0,1z = x+ y 134 z(0) = 0,1

Qx = −z 136 x(0) = 0,1y = x− y 137 y(0) = 0,1

z = 3,1x+ y2 + 0,5z 138 z(0) = 0,1

Rx = 0,9− y 142 x(0) = 0,1y = 0,4 + z 143 y(0) = 0,1z = xy − z 144 z(0) = 0,1

Sx = −x− 4y 163 x(0) = 0,1y = x+ z2 164 y(0) = 0,1z = 1 + x 165 z(0) = 0,1

Other

flow

s

Rose-Hindmarsh [46]

x(0) = 1y(0) = 1z(0) = 1p1 = 1

x = y − p1x3 + p2x

2 + p7 − z 151 p2 = 3y = p3 − p4x

2 − y 152 p3 = 1z = p8(p5(x− p6)− z) 153 p4 = 5

p5 = 4p6 = −1,6p7 = 3,4p8 = 0,009

27

Page 33: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Tipo Nombre del sistema Ecuaciones Posicion Condiciones

Other

flow

s

Nose-Hoover oscillator modification [46]x = y 126 x(0) = 1

y = −x− yz 127 y(0) = 1z = −1 + y2 128 z(0) = 1

Rossler fourth system [46]

x(0) = 0,476x = −y − z 157 y(0) = 1,76

y = x 158 z(0) = −0,59z = p1(y − y2)− p2z 159 p1 = 0,386

p2 = 0,2

Lu-Chen system [46]

x(0) = 10,46x = p1(y − x) 114 y(0) = 7,252y = −xz + p3y 115 z(0) = 35,13z = xy − p2z 116 p1 = 36

p2 = 2p3 = 28,7

Yu-Wang attractor [47]

x(0) = 3y(0) = 2

x = p1(y − x) 198 z(0) = 2y = p2x− p3xz 199 p1 = 10z = exy − p4z 200 p2 = 30

p3 = 2p4 = 2,5

Wang-Sun attractor [48]

x(0) = 0,1y(0) = 0,1z(0) = 0,1

x = p1x+ p3yz 192 p1 = 0,2y = p2x+ p4y − xz 193 p2 = −0,01z = p5(z + xy) 194 p3 = 1

p4 = −0,4p5 = −1p6 = −1

Qi-Chen attractor [49]

x(0) = 2y(0) = 2

x = p1(y − x) + p5yz 139 z(0) = 2y = p3x+ p4y − xz 140 p1 = 14

z = xy − p2z 141 p2 = 43p3 = −1p4 = 16p5 = 4

28

Page 34: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Tipo Nombre del sistema Ecuaciones Posicion Condiciones

Other

flow

sGenesio-Tesi attractor [50]

x(0) = 0,01y(0) = 0,01

x = y 73 z(0) = 0,01y = z 74 p1 = 1

z = −p1x− p2y − p3z + p4x2 75 p2 = 1,1

p3 = 0,44p4 = 1

Dequan Li attractor [51]

x(0) = 0,01y(0) = 0,01z(0) = 0,01

x = p1(y − x) + p2xz 41 p1 = 40y = p3x+ p4y − xz 42 p2 = 0,16z = p5z + xy − p6x

2 43 p3 = 55p4 = 20p5 = 11/6p6 = 0,65

Arneodo system [52]

x(0) = 1x = y 7 y(0) = 1y = z 8 z(0) = 1

z = −p1x− p2y − z + p3x3 9 p1 = −5,5

p2 = 3,5p3 = −1

Simplest driven chaotic flow [53]x = y 171 x(0) = 0

y = −x3 + sin(pt) 172 y(0) = 0p = 1,88

29

Page 35: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

3.1.2. Ilustracion de las senales obtenidas

(a) Mapa de ruido gaussiano blanco y senal 72 (1 000 muestras iniciales).

(b) Mapa de galleta de jengibre y senal 76 (1 000 muestras iniciales).

(c) Mapa de Tinkerbell y senales 188 y 189 (1 000 muestras iniciales).

(d) Mapa de Ikeda y senales 91 y 92 (1 000 muestras iniciales).

Figura 3.1: Algunos mapas caoticos del cuadro 3.1 en rojo y las senales con las que se construyenen azul

30

Page 36: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

(a) Atractor del brusselator forzado y senales 66 y 67.

(b) Atractor ACT y senales 4, 5 y 6

(c) Atractor de doble giro y senales 51, 52 y 53

Figura 3.2: Algunos atractores caoticos del cuadro 3.2 en rojo y las senales con las que se construyenen azul

Figura 3.3: Vista general de la base de datos de senales caoticas, normalizadas entre 0 y 1.

31

Page 37: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

3.2. Senales regulares

3.2.1. Obtencion de las senales

El gran reto de la identificacion de caos en senales de tiempo esta en diferenciar el caos del ruido.Es por esto que en esta seccion se presto especial interes en lograr una recopilacion de diversos tiposde ruido. Luego se anadieron otras senales comunes. Con esto se logro obtener una recopilacion de140 senales no caoticas, que se detallan en los cuadros 3.3 y 3.4, respectivamente.

Las senales de ruido se sintetizaron de acuerdo a 27 distribuciones de probabilidad diferentes yutilizando las funciones de MATLAB R© [54] que se listan en la tercera columna del cuadro 3.3. Sesintetizaron dos senales diferentes para cada distribucion, cambiando en cada caso los parametrosrequeridos. Para cada senal los parametros seleccionados se enuncian en la quinta columna delcuadro 3.3. Las dos ultimas senales de ruido fueron obtenidas usando un generador de numerostrue random[55].

En el cuadro 3.4 se listan las demas senales utilizadas. Se describe cada una de estas y lascondiciones bajo las cuales se obtuvieron. Las senales no citadas fueron construidas por los autoresde este trabajo. A excepcion de True Random y Random Walk las demas senales presentadas eneste cuadro fueron extraidas directamente de [56], sin embargo se menciona para mayor claridad lafuente que inspiro al autor para la construccion de cada una de ellas.

Es importante anotar que al igual que las senales descritas en la seccion anterior, las senalesregulares tambien tienen 10 000 muestras.

32

Page 38: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Cuadro 3.3: Senales de ruido sintetico

Tipo Distribucion Funcion MATLAB R© Posicion CondicionesSynthetic

Noise[54]

Beta betarnd1

a = 1b = 1

2a = 0,5b = 0,5

Birnbaum-Saunders random(’birnbaumsaunders’)3

β = 10γ = 0,1

4β = 10γ = 0,2

Burr Type XII random(’burr’)

5α = 10c = 10k = 10

6α = 1c = 1k = 10

Chi Square chi2rnd7 V = 108 V = 20

Exponential exprnd9 µ = 0,110 µ = 1

Extreme Value evrnd11

µ = 0σ = 1

12µ = 0,5σ = 0,5

F frnd13

V1 = 100V2 = 100

14V1 = 10V2 = 10

Gamma gamrnd15

A = 1B = 0,2

16A = 0,5B = 0,5

Gauss normrnd17

µ = 0σ = 1

18µ = 0σ = 2

Generalized Extreme Value gevrnd

19k = 0,01σ = 1µ = 0

20k = 0σ = 1µ = 1

Generalized Pareto gprnd

21k = 0,01σ = 10θ = 0

22k = 0,1σ = 1θ = 0

Inverse Gaussian random(’inversegaussian’)23

µ = 10λ = 100

24µ = 1λ = 100

33

Page 39: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Tipo Distribucion Funcion MATLAB R© Posicion Condiciones

Synthetic

Noise[54]

Logistic random(’logistic’)25

µ = 0σ = 1

26µ = 0σ = 10

LogLogistic random(’loglogistic’)27

µ = 1σ = 0,1

28µ = 0,5σ = 0,1

LogNormal lognrnd29

µ = 0σ = 0,1

30µ = 0σ = 1

Nakagami random(’nakagami’)31

µ = 1ω = 0,1

32µ = 1ω = 1

Normal random(’norm’)33

µ = 1σ = 0,1

34µ = 1σ = 1

Rayleigh raylrnd35 B = 136 B = 10

Rician random(’rician’)37

s = 0σ = 0,1

38s = 0σ = 1

T trnd39 ν = 5040 ν = 10

Uniform unifrnd41

A = 0B = 1

42A = 1B = 2

Weibull wblrnd43

A = 10B = 1

44A = 1B = 1

Binomial binornd45

N = 20P = 0,5

46N = 10P = 0,2

Geometrical geornd47 p = 0,248 p = 0,1

Hypergeometric hygernd

49M = 1000K = 100N = 100

50M = 10000K = 1000N = 1000

Poisson poissrnd51 λ = 1052 λ = 100

Discrete Uniform unidrnd53 N = 10054 N = 1000

34

Page 40: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Cuadro 3.4: Otras senales

Nombre Descripcion Posicion CondicionesTrue Random[55] Senales provenientes de ruido atmosferico real 55 - 56

Freitas nonlinear filter[57]Una senal de ruido uniforme xn se pasa por un filtrode promedio movil de la forma y[n] = ax[n]+ bx[n−1].

57 - 59a = [−5, 5]b = [−5, 5]x[0] = [−5, 5]

Nonlinear AR[58]

Es una serie de la forma y[n] = s(x[n]) dondex[n] = αx[n − 1]. La funcion s se define como unpolinomio de orden 2 a 5, una funcion exponencial ouna sinusoide.

60 - 79 α = [−0,9;−0,5;−0,1; 0,1; 0,5; 0,9]

Nonstationary AR[59]

La ecuacion generadora es:x[n] = ai[n]x[n− 1] + a2[n]x[n− 2] + a3[n].En el primer modo, los coeficientes son constantesa1 = 2cos(2π/T )e−1/τ y a2 = −e−2/τ . La serie re-sultante es estacionaria.En el segundo modo se anaden no estacionalidadesperiodicas moduladas en amplitud.xamp[n] = (1 + µampsin(2π/Tmodn))x0[n]En el tercer modo se usa un proceso autoregresivomodulado en periodo, que tiene la misma forma delprimer modelo con a1 = 2cos(2π/T [n])e−1/τ dondeT [n] = Tmean + µT sin(2π/Tmodn).

80 - 82

T = [10; 20; 50]τ = [20; 50; 100]µamp = [0,3; 0,6; 0,9]Tmod = [100; 250]µT = [1; 3; 5]Tmean = [10; 20]

Periodic experiment[60]La serie de tiempo corresponde a una medida de ve-locidad tomada con un anemometro de hilo caliente.

83

Air pressure[61]La serie de tiempo corresponde a las medidas de pre-sion del aire tomada con un barometro durante undıa en determinado lugar de la Tierra.

84

Air temperature[61]La serie de tiempo corresponde a una medida de latemperatura del aire durante un dıa en determinadolugar de la Tierra.

85

Rain rate[61]La serie de tiempo corresponde a una medida de latasa de lluvia durante un mes en determinado lugarde la Tierra.

86

Text[56]La serie de tiempo corresponde a una medida de lacantidad de caracteres de cada oracion en algun textopopular.

87 - 88

35

Page 41: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Nombre Descripcion Posicion CondicionesSine product 1 sin(2πt) sin(2π2,5t) 89 t = 0 : 0,005 : 50− 0,005

Sine product 2 sin( 2πt1,04 ) sin(

2πt1,23 ) 90 t = 0 : 0,005 : 50− 0,005

Sine product 3 sin(2πt) + sin(2π3,1t) 91 t = 0 : 0,005 : 50− 0,005Sine product 4 sin(πt) + sin(2πt) + sin(3πt) + sin(4πt) + sin(5πt) 92 t = 0 : 0,005 : 50− 0,005

Sine product 5 sin(πt2 ) +sin( 3πt

2)

3 +sin( 5πt

2)

5 +sin( 7πt

2)

793 t = 0 : 0,005 : 50− 0,005

Sinesin(πt) 94

t = 0 : 0,004 : 40− 0,004sin( 5πt4 − 0,5) 95

Sincsinc( 3πt8 ) 96

t = 0 : 0,004 : 40− 0,004sinc(πt5 ) 97

Saw thoothsawtooth( 3πt4 , 0,5) 98

t = 0 : 0,004 : 40− 0,004sawtooth( 4πt5 , 0) 99

Exponential e−0,3t 100 t = 0 : 0,004 : 40− 0,004

Ramp t1000 101 t = −1000 : 0,2 : 1000− 0,2

Quadratic ( t1000 )

2 102 t = −1000 : 0,2 : 1000− 0,2

Cubic ( t1000 )

3 103 t = −1000 : 0,2 : 1000− 0,2

AM modulation(1 + 0,5 sin(πt/2))square(5πt) 104

t = 0 : 0,005 : 50− 0,005(1 + sin(3πt/4))sawtooth(5πt, 0,2)) 105

FM modulationsin(2πt+ 6 sin(2πt/10)) 106

t = 0 : 0,005 : 50− 0,005sin(πt+ 5square(πt/5− π/5) 107

Different local correlation[62]

Se generan dos series iniciales de la misma longitudy diferentes correlaciones. Se dividen las series origi-nales (senales estacionarias) en Nmax/W segmentosno solapados, de tamano W . Luego se seleccionanalgunos segmentos de la serie 1 aleatoriamente y seremplazan con los segmentos correspondientes de laserie 2.

108 - 110

36

Page 42: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Nombre Descripcion Posicion Condiciones

Different local standard deviation[62]

La serie original tiene σ1 = 1. Se divide la serieoriginal (senal estacionaria) en Nmax/W segmentosno solapados, de tamano W . Luego se seleccionanalgunos aleatoriamente y se aumenta la desviacionestandar de estos a σ2. Finalmente se normaliza laserie completa dividiendo cada punto p de la senal√

(1− p)σ21 + pσ2

2 .

111 - 114

Discontinuities[62]

Se divide la serie original (senal estacionaria) enNmax/W segmentos no solapados, de tamano W .Luego se eliminan algunos aleatoriamente y se unenlos segmentos restantes para formar la nueva serie.

115 - 118

Linear trends[62] La serie es ruido correlacionado con tendencia lineal. 119 - 121

Power law trends[62]La serie es una superposicion de ruido correlacionadoy tendencia potencial.

122 - 123

Sinusoidal trends[62]La serie es una superposicion de ruido correlacionadoy tendencia sinusoidal.

124 - 125

Spikes[62]La serie de tiempo tiene picos de diferentes amplitu-des posicionados aleatoriamente.

126 - 129

Random walk[55] cumsum(tr) 130 - 140 tr es una senal true random

37

Page 43: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

3.2.2. Ilustracion de las senales obtenidas

(a) Senal 1, ruido con distribu-cion Beta

(b) Senal 16, ruido con distribu-cion Gamma

(c) Senal 51, ruido con distribu-cion Poisson

Figura 3.4: Algunas senales de ruido sintetico del cuadro 3.3

(a) Senal 80, modelo AR no es-tacionario

(b) Senal 93, producto de senos5

(c) Senal 130, caminata aleato-ria

Figura 3.5: Algunas senales de otro tipo del cuadro 3.4

Figura 3.6: Vista general de la base de datos de senales regulares, normalizadas entre 0 y 1.

38

Page 44: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Capıtulo 4

Construccion de la base de datos decaracterısticas

El objetivo del conjunto de caracterısticas es lograr la descripcion completa de cada una de las senalesde la base de datos descrita en el capitulo 3. Es importante contar con suficientes caracteristicas de maneraque el algoritmo de seleccion tenga un espacio de busqueda lo suficientemente grande y se pueda determinarcuales de ellas aportan o no informacion para la identificacion de caos. A continuacion se describen de formageneral las 1 452 caracterısticas calculadas sobre cada una de las 340 senales enunciadas en la seccion anterior.

Las caracterısticas citadas en el cuadro 4.1 fueron implementadas por los autores de este trabajo. Enlos demas casos, los codigos de MATLAB R© usados para calcular las caracterısticas hacen parte del trabajodesarrollado en [56] y fueron utilizados y editados bajo autorizacion del autor.

En la figura 4.1 se puede apreciar una representacion grafica de la base de datos de caracterısticas. Enel eje x se tienen las 340 senales y en el eje y las 1 452 caracterısticas. Cabe recordar que las primeras200 senales corresponden a caos y las otras 140 son senales de otro tipo. En esta figura es facil visualizarciertas particularidades de las caracterısticas. Por ejemplo, se puede notar que los valores de las primeras100 caracterısticas son notablemente bajas para la senales de ruido, que estan ubicadas en las posiciones200 - 256 del eje x, en comparacion con el resto de las senales. Otras caracterısticas entre la 1 000 y la 1452 tambien cambian de valor considerablemente para las mismas senales de ruido. Es por esto que a priori,podria decirse que la diferenciacion entre ruido y caos es sencilla, si se tienen en cuenta las caracterısticasantes mencionadas.

De acuerdo con la figura tambien se pueden ver secciones de caracterısticas que no varian considera-blemente al cambiar el tipo de senal, por ejemplo entre las caracterısticas 550 - 1 000, aproximadamente.Si el valor de la senal es siempre el mismo, o la variacion es muy pequena entre senal y senal, la cantidadde informacion que estan aportando de acuerdo al problema planteado es mınima, por lo que es altamenteprobable que el algoritmo de seleccion a desarrollar no tenga en cuenta las caracterısticas de estas secciones.

39

Page 45: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Figura 4.1: Vista general de la base de datos de caracterısticas, normalizadas entre 0 y 1.

40

Page 46: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Cuadro 4.1: Descripcion de la base de datos de caracterısticas

GrupoNumero deparametros

Nombre DescripcionEstad

ısticosbasicos

1 Crinkle Calcula el estadıstico de Crinkle de Theiler de la serie de tiempo.

5 Der change

Esta operacion retorna un estadıstico de como varia la desviacion estandarde la derivada de la serie de tiempo a medida que aumenta el orden de laderivada. Esta variacion se ajusta a una funcion exponencial, las salidas sonlos parametros de la funcion y la calidad del ajuste.

7 Hypothesis Test

Retorna los valores de un test de hipotesis estadıstico aplicado a la serie detiempo. Se usaron los siguientes test incluidos en el toolbox estadıstico deMATLAB R©:

Sign test.

Runs test.

Variance test.

Z-test.

Wilcoxon signed Rank test for a zero median.

Jarque-Bera test of composite normality.

Ljun-Box Q-test for residual autocorrelation.

6 Ratio testRealiza un test de relacion de varianzas sobre la serie de tiempo usando lafuncion vratiotest del toolbox econometrico de MATLAB R©.

4 Simple Stats

Retorna los siguientes estadısticos: La proporcion de cruces por cero de laserie,de tiempo. La proporcion de la serie que es maximo local. La proporcionde la serie que es mınimo local. La relacion de cruces por cero de los datos encrudo con media cero y los datos sometidos a deduccion de tendencia.

3 Stdnth Der Desviacion estandar de la enesima derivada.1 Theiler Calcula el estadıstico de Theiler.

Medidas

de

correlacion 65 Add Noise

Analiza cambios en la funcion de informacion auto-mutua a medida que seanade ruido.

3 Embed circle

Se incrusta la serie en un espacio bidimensional usando un tiempo de retardoτ , luego se posiciona un circulo de radio r en cada punto del espacio. La funcioncuenta el numero de puntos dentro del cırculo en funcion del tiempo. Retornaestadısticos de dicha funcion.

41

Page 47: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

GrupoNumero deparametros

Nombre Descripcion

Medidas

de

correlacion 13 Embed dist

Se incrusta la serie en un espacio bidimensional usando un tiempo de retardoτ . Retorna estadısticos de la secuencia de distancias euclidianas sucesivas entrelos puntos del espacio bidimensional.

1 FastdfaEfectua un analisis rapido de fluctuacion sin tendencia en una senal no esta-cionaria para obtener un estimado del exponente de escalamiento [63].

2 FBMUsa la funcion wfbmesti de MATLAB R© para estimar los parametros del movi-miento Browniano fraccional de la serie de tiempo.

Operaciones

especıficas

dedom

inio 5 Medidas HRV

Evalua las medidas del histograma de ındices triangulares y la grafica de Poin-care asumiendo que la serie es una secuencia de intervalos RR consecutivosmedidos en segundos.

11 PNNAplica medidas PNNx a la serie de tiempo asumiendo que representa intervalosRR consecutivos medidos en milisegundos.

4 Power spectral density ratiosAgrupa varias medidas VRC (variabilidad del ritmo cardıaco) y las aplica a laserie de tiempo.

Estacionalidad

25 Drifting meanSepara la serie en segmentos calcula la media y la varianza en cada segmentoy compara la media maxima y mınima con la varianza de la media.

9 DynWinAnaliza como los estimados de estacionalidad dependen del numero de segmen-tos en que se divide la serie de tiempo.

36 Local distributionCompara la distribucion de particiones consecutivas de la serie. Retorna lasuma de diferencias entra cada distribucion Kernel suavizada.

22 Local extremaEncuentra maximos y mınimos dentro de segmentos de la serie. La salida cuan-tifica como los maximos y mınimos locales varıan en la serie de tiempo.

56 Local global

Compara los estadısticos,medidos en una region local de la serie de tiempo conaquellos medidos en la,serie completa. Los estadısticos incluyen:

Media.

Desviacion estandar.

Mediana.

Rango intercuartil.

Oblicuidad.

Curtosis

42

Page 48: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

GrupoNumero deparametros

Nombre Descripcion

Estacionalidad

18 Moment corrCalculacorrelaciones entre estadısticos simples resumiendo la distribucion devalores in ventanas locales de la senal.

212 Sliding windowEsta funcion se basa en deslizar una ventana a lo largo de la serie de tiempomidiendo un estadıstico en cada ventana.

6 Sweep lambdaDa informacion acerca de pasos discretos en la senal a traves de un rango deparametros de regularizacion λ.

1 Wavelet varchgEncuentra puntos de cambio de varianza usando funciones del toolbox Waveletde MATLAB R©.

Transformaciones

enel

dom

inio

del

tiem

po

482 Compare

Aplica una transformacion dada a la serie de tiempo y retorna estadısticos decomo varıan ciertas propiedades de la misma, comparando el resultado de latransformacion con la senal original. Dentro de las transformaciones aplicadasesta filtro de media, filtro de mediana, remuestreo, remocion de tendencia, entreotras.

6 IterateMide como cambian ciertas propiedades de la serie de tiempo a medida que seaplica una transformacion de forma iterativa.

Com

ple-

jidad

2 Aproximate entropy Calculo de la entropıa aproximada

2 LZ complexityEstima la medida de complejidad de Kolmogorov de la serie de tiempo umbra-lizada.

Medidas

dedistribucion

1 Burstiness Retorna el estadıstico de explosividad [64].

28 CompareKSFit

Retorna estadısticos simples sobre la discrepancia entre la distribucion Kernelsuavizada y la distribucion ajustada a algun modelo. Se utilizaron los siguientesmodelos de MATLAB R©:

Gaussian.

Extreme value.

Uniform.

Beta.

Rayleigh.

Exponential.

Gamma.

LogNormal.

Weibull

43

Page 49: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

GrupoNumero deparametros

Nombre Descripcion

Medidas

dedistribucion

1 Custom Skewness Retorna la oblicuidad de Pearson o de Bowley.1 Coefficient of variation Retorna el coeficiente de variacion.

5 Fit Kernel SmoothRetorna estadısticos sobre la distribucion Kernel suavizada de la serie de tiem-po.

3 Fit mle Retorna el ajuste de la distribucion con maxima verosimilitud.

1 High Low µRetorna la proporcion de la media de los datos que esta por encima de la mediaglobal con la media de los datos que esta por debajo de la media global.

1 Histogram ModeMide el modo del vector de datos usando histogramas con cierto numero debins.

5 Mean Estima una medida dada sobre la ubicacion de la serie de tiempo.2 Moments Retorna un momento de la distribucion de la serie de tiempo.1 nLogLnorm Retorna el logaritmo negativo de la distribucion de probabilidad Gaussiana.

96 Outlier includeMide un set de estadısticos sobre la serie de tiempo a medida que se insertanvalores atıpicos de acuerdo a cierta regla.

2 Outlier testRetorna estadısticos sobre la dependencia de la distribucion de probabilidad avalores atıpicos distributivos.

1 PleftRetorna la distancia de la media para la cual una proporcion de los datos deentrada estan mas distantes.

1 Proportion valuesRetorna la proporcion de ceros, la proporcion de valores positivos y la propor-cion de valores iguales o mayores a cero.

9 Quantile Calcula el valor del quantil para una probabilidad dada.

55 Remove pointsRetorna estadısticos sobre como cambian ciertas propiedades de la serie a me-dida que se remueven puntos de la misma.

48 SimpleFit Ajusta varias distribuciones de probabilidad a los valores de la serie.4 Spread Mide la extension de la serie de tiempo.9 TrimmedMean Calcula la media de la serie excluyendo los valores atıpicos.

10 WithinpProporciona la informacion de los puntos contenidos en una desviacion estandarp de la media.

11 Moving threshold

Representa el umbral de movimiento para eventos extremos en una serie detiempo. Utiliza la ocurrencia de eventos extremos en una barrera hipoteticaque clasifica nuevos puntos como extremos o no. La barrera comienza en σ, y siel valor absoluto del siguiente dato es mayor que la barrera, esta se incrementaen una proporcion a de lo contrario la barrera decrece un valor b.

44

Page 50: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

GrupoNumero deparametros

Nombre Descripcion

Medidas

de

distribucion

17 Range evolve

Mide el rango de la serie de tiempo como una funcion de tiempo; esto es rangox1:i para i = 1, 2, . . . , N , donde N es la extension de la serie de tiempo. Laentrada es la serie de tiempo y la salida esta basada en la dinamica de comoocurren nuevos eventos extremos en el tiempo.

4 CumulantsCalcula los momentos de mayor orden en la entrada de la serie de tiempoutilizando funciones estadısticas de asimetrıa y curtosis.

Entrop

ıa

5 Aproximate entropyEs una estadıstica de regularidad que calcula la imprevisibilidad de fluctuacio-nes en una serie de tiempo. Refleja la probabilidad de que patrones similaresde observacion no esten seguidos por observaciones similares adicionales.

6 Complexity measure

Describe la complejidad de la codificacion de un n-bit en una serie de tiempo.Esto es, el numero de distintas secuencias simbolicas en la serie de tiempodividido entre el numero esperado de distintos sımbolos para una secuencia deruido.

2 Distributional entropy

Estima la entropıa de la distribucion de un vector de datos. La distribucion esestimada usando un,histograma con numBins binarios, o como una distribu-cion suave del nucleo. Un parametro adicional opcional puede ser usado pararemover la proporcion de las desviaciones positivas y negativas mas extremasde la media como un pre-proceso inicial.

4 Permutation entropyProduce la permutacion de la entropıa y la version normalizada calculada deacuerdo a diferentes implementaciones.

53 Randomize

Muestra la manera en,que cambian las propiedades de las series de tiempo conel incremento de la,aleatorizacion. Progresivamente aleatoriza la entrada dela serie de tiempo,de acuerdo a un procedimiento de aleatorizacion especifico.El procedimiento,es repetido 2N veces, donde N es la longitud de la serie detiempo. Resume la,manera en que las propiedades cambian cuando uno de estosprocesos de,aleatorizacion es iterado, incluyendo la correlacion cruzada con laserie de,tiempo original, la auto-correlacion de la serie de tiempo aleatoria, suentropıa y estacionalidad.

1 Entropy Rudy ModdemeijerEstima la entropıa de senales estacionarias con muestras independientes usandodiferentes enfoques.

6 Sample entropyCalcula sobre una muestra de la entropıa en una serie de tiempo, el incrementosucesivo de la serie de tiempo; esto es, se usa un pre-proceso de diferenciacionincremental, como se usa en la cantidad de entropıa de control.

2 Wentropy Muestra la entropıa de la serie de tiempo utilizando wavelets.

45

Page 51: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

GrupoNumero deparametros

Nombre Descripcion

Infor-

macion

20 Automutual Info StatsEstadısticos de la funcion mutua de informacion para una serie de tiempo. Laestructura contiene estadısticos de AMIs y sus patrones a lo largo del rango deretrasos de tiempo especıficos.

Patrones

2D[65] 1 Standard deviation

Retorna la desviacion estandar de la funcion lograda al calcular los patronesde tipo 2 contenidos en la serie de datos.

1 MeanRetorna la media de la funcion lograda al calcular los patrones de tipo 2 con-tenidos en la serie de datos.

1 MedianRetorna la mediana de la funcion lograda al calcular los patrones de tipo 2contenidos en la serie de datos.

1 VarianceRetorna la varianza de la funcion lograda al calcular los patrones de tipo 2contenidos en la serie de datos.

46

Page 52: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

47

Page 53: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Capıtulo 5

Diseno del algoritmo de seleccion decaracterısticas

5.1. Configuracion del algoritmo genetico

El problema a afrontar consiste en identificar cuales de las 1 452 caracterısticas que componen la basede datos original aportan mas informacion a la tarea de deteccion de caos. Entonces se define la tarea comoun problema de seleccion binario, donde el 1 representa que la caracterıstica es incluida y el 0 lo contario.Se escogio el Algoritmo Genetico Compacto (AGC) como metodo de busqueda ya que su desempeno enproblemas de este tipo ha probado ser el mas adecuado [66]. El AGC analiza el crecimiento y decaimientode un gen dentro de una poblacion como una caminata aleatoria de una dimension, los genes luchan contrasus competidores y su numero dentro de la poblacion puede aumentar o disminuir, esto determinado por elmetodo de seleccion descrito a continuacion.

La seleccion consiste en evaluar a los individuos mediante una funcion de aptitud y determinar unganador, luego el ganador se multiplica y el perdedor perece. A pesar de que la seleccion da como resultadomas copias de los mejores individuos, esto no siempre se traduce en mas copias de los mejores genes, debidoa que la evaluacion se realiza sobre el individuo completo y no sobre los genes en particular. El rol de lapoblacion dentro del problema de seleccion es reducir el efecto mencionado anteriormente.

Todas las combinaciones posibles de genes presentes o ausentes dentro del genoma dan como resultado unapoblacion total de 2n individuos, siendo n el numero de caracterısticas a tener en cuenta dentro del genoma(en este caso n = 1452). Esto significa que despues de una competencia entre dos individuos generadosaleatoriamente, en donde se mantiene una copia del individuo ganador y se descarta el perdedor, los genesdel individuo ganador que difieren de los genes del perdedor aumentan su probabilidad de aparecer en elmejor individuo en un factor de 1/2n .

El efecto del tamano de la poblacion sobre el AGC se simula mediante la generacion de un vector deprobabilidades, que representa la probabilidad de cada gen de aparecer en el mejor individuo de la poblacion.El vector se compone de n posiciones que corresponden a cada una de las caracterısticas presentes dentrodel genoma. Todas las probabilidades se inicializan con un valor de 0.5 y a medida que la seleccion haga sutrabajo estos valores aumentaran o disminuiran en un valor de 1/2n hasta converger en 0 o 1.

Suponiendo que se realiza una competencia entre dos individuos I1 e I2 en donde I1 resulta ganador, laactualizacion del vector de probabilidad sucede como se ilustra en la imagen 5.1.

El problema cuando se trabaja con una poblacion tan grande (en este caso 21452 = 4,587∗10105 individuos)

47

Page 54: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico
Page 55: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

parametros activados en el genoma del individuo. Fue necesario trabajar con redes que supusieran el menorcosto computacional posible, esto debido a la magnitud de la base de datos y al numero de caracterısticascalculadas para todas las senales.

El numero de entradas hacia la RNA es un factor crıtico cuando hablamos de costo computacional. Elnumero de elementos P en la matriz jacobiana que se calcula en el algoritmo de Backpropagation sera:

P = [hn(in + 1) + hn + 1]2 (5.1)

Donde hn hace referencia al numero de neuronas en la capa oculta e in indica el numero de entradas dela red.

El numero de caracterısticas que se calcularon para la base de datos de senales es de 1 452, por lo tantoel numero de elementos en la matriz jacobiana en el peor de los casos, es decir cuando se evalue un individuoque tenga todas las caracterısticas activas sera igual a:

P = [726(1452 + 1) + 726 + 1]2 = 1, 114 ∗ 1012 (5.2)

Esto supone almacenar una matriz de√Px

√P en la RAM de la maquina. Cada posicion de la matriz

es un double de 8 bytes, por lo tanto el tamano total en gigabytes de memoria necesaria para almacenar losparametros de la RNA es igual a:

RAMnecesaria(GB) =8bytes(1, 114 ∗ 1012)

10243bytes= 8302, 196 (5.3)

Al no disponer de los recursos computacionales necesarios para evaluar redes de dicho tamano, se hizonecesario un metodo que permitiera reducir el numero de entradas hacia la red.

5.2.1. Filtrado de la base de datos

Ya que el proposito de la RNA es establecer una relacion de mapeo no lineal entre los parametros deentrada y la salida deseada, se propuso entonces un filtro de correlacion lineal (FCL). Este filtro consisteen calcular el coeficiente de correlacion entre una de las caracterısticas y las 1 451 restantes, de acuerdo ala ecuacion 5.4. En caso de que el coeficiente de correlacion sea mayor a 0.95, en alguno de los casos, seconserva en la base de datos solo la caracterıstica inicial. El proceso se realiza hasta haber recorrido todaslas caraterısticas.

C = cos(x1, x2) =x1 · x2

|x1||x2|(5.4)

De esta forma se eliminaron caracterısticas que estaban altamente correlacionadas linealmente entre sıy se logro obtener una base de datos reducida de solo 351 caracterısticas, lo cual corresponde al 24,173% dela base de datos inicial.

Ahora, en el peor de los escenarios (un individuo con un genoma en el que todas las caracterısticas estanactivas) la RAM necesaria para almacenar los parametros de la red es igual a:

P = (175(351 + 1) + 175 + 1)2 = 3, 816 ∗ 109 (5.5)

49

Page 56: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

RAMnecesaria(GB) =8bytes(3, 816 ∗ 109)

10243bytes= 28, 433 (5.6)

5.3. Funcion de aptitud

Para evaluar la calidad de los individuos se implemento una funcion de aptitud que consiste en estimarel area bajo la curva ROC (por sus iniciales en ingles Receiver Operating Characteristic) sobre la salidadel clasificador obtenido despues de entrenar la RNA. De esta forma se tiene en cuenta tanto el error devalidacion como la sensibilidad y especificidad del clasificador.

La curva ROC es una representacion grafica de la sensibilidad frente a la especificidad para un sistemaclasificador binario segun se varıa el umbral de discriminacion. El eje x representa los valores RFP (razonde falsos positivos) y el eje y los valores RVP (razon de verdaderos positivos) que se obtienen al cambiar elumbral de discriminacion desde 0 hasta 1.

RV P =V P

V P + FN(5.7)

RFN =FP

FP + V N(5.8)

Donde V P representa los verdaderos positivos, V N los verdaderos negativos, FN los falsos negativos yFP los falsos positivos. La naturaleza de cada uno de los tipos de diagnostico se describe en el cuadro 5.1.

Cuadro 5.1: Matriz de error

Condicion

positiva

Condicion

negativa

Prediccion

positivaVP FP

Prediccion

negativaFN VN

El area bajo la curva ROC se puede interpretar como una medida de la precision del clasificador. Elvalor del area puede variar entre 0.5 y 1, siendo 0.5 el peor clasificador posible y 1 un clasificador perfecto.

Figura 5.3: Interpretaciones de la curva ROC. Tomado de [67]

La funcion de aptitud esta determinada entonces por la ecuacion:

fitness =

∫ 1

0

f(RFP,RV P ) (5.9)

50

Page 57: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

5.4. Integracion del AGC con la RNA

Teniendo en cuenta las especificaciones mencionadas en las secciones anteriores, el algoritmo de seleccionse resume en la figura 5.4.

Figura 5.4: Pseudocodigo del algoritmo de seleccion implementado

Es importante aclarar que la evaluacion de los individuos que se menciona en el paso 3 del algoritmo, serealiza usando la RNA. Cada vez que entra un nuevo individuo, se configura una nueva red con un numeroneuronas (tanto para la capa de entrada como para la capa oculta) que dependen directamente del numerode caracterısticas activas del individuo en cuestion. Esta red se entrena de acuerdo a las condiciones que seindican en el cuadro 5.2.

Cada vez que ingresa un nuevo individuo, la base de datos se reordena de forma aleatoria. El entrena-miento se realiza con el 80% de la base de datos, luego se calcula la funcion de aptitud del individuo usandoel 20% restante de la base de datos como seccion de validacion.

51

Page 58: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Cuadro 5.2: Especificaciones para la RNA de evaluacion de los individuos

Caracterıstica ValorNeuronas capa de entrada (in) Dependen del individuo a evaluarNeuronas capa oculta (hn) in/2

Neuronas capa de salida (on) 1Funcion de entrenamiento trainlm

Numero de epocas 1 000Gradiente mınimo 10−7

Base de datos de entrenamiento 272 ejemplos (con in muestras c/u)Base de datos de validacion 68 ejemplos (con in muestras c/u)

52

Page 59: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Capıtulo 6

Resultados y experimentos

6.1. Resultados del algoritmo de seleccion

El algoritmo de seleccion, tal y como es descrito en la seccion 5.4, fue implementado usando MATLAB R©.Debido al alto costo computacional ya discutido en la seccion 5.2, el algoritmo fue ejecutado usando GooglePlaform Cloud R©, sobre una maquina virtual con las caracterısticas especificadas en el cuadro 6.1.

Cuadro 6.1: Descripcion de la maquina virtual usada en el proceso de seleccion de caracterısticas

Caracterıstica ValorSistema operativo Windows Server R2 x64

RAM 52 GBHDD 50 GB

Nucleos 8

Debido al alto costo computacional y al tiempo limitado de disponibilidad del servidor, fue necesariodetener el algoritmo despues de 28 dıas de ejecucion. El algoritmo alcanzo a ejecutar 239 epocas.

(a) Epoca 1 (b) Epoca 20

53

Page 60: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

(c) Epoca 239

Figura 6.1: Cambios en el vector de probabilidad a traves de las 239 epocas

Como se puede evidenciar en la figura 6.1c, al finalizar la ejecucion no se habia alcanzado la convergenciadel vector de probabilidad, teniendo en cuenta que la convergencia implica que todas las posiciones del vectortengan valores menores que 0 o mayores que 1. De acuerdo con esto, se opto por tener en cuenta unicamentelas caracterısticas que ya habian sido seleccionadas por el algoritmo, es decir, todas aquellas para las cualesel pi > 1. Con esta suposicion, el vector de probabilidad final corresponde ahora al de la figura 6.2.

Figura 6.2: Vector de probabilidad final

De las 351 caracterısticas que entraron al proceso de seleccion, solo 118 sobrevivieron. Se realiza unadescripcion mas profunda de estas caracterısticas en la seccion 6.2.

6.2. Descripcion de las caracterısticas seleccionadas

En esta seccion se describen mas extensamente las 118 caracterısticas seleccionadas por el algoritmo. Seagrupan de acuerdo a los tipos definidos en el cuadro 4.1. Ademas se identifica cada una con un numero quecorresponde a la posicion de esta caracterıstica en el vector de entrada de la red neuronal resultante.

54

Page 61: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

6.2.1. Estadısticos basicos

Test de hipotesis

(1)Este parametro retorna el valor de probabilidad p para un test de rango signo de dos lados usandola funcion signtest de MATLAB R©. El test consiste en probar la hipotesis de que los datos en elvector de entrada tienen una distribucion continua con media igual a 0 contra la alternativa de que ladistribucion no tiene media igual a 0 en el nivel de significancia del 5%.

(2)Este parametro retorna el valor de probabilidad p para un test de rango signado Wilcoxon de doslados usando la funcion signrank de MATLAB R©. El test prueba la hipotesis nula de que los datos enel vector de entrada tienen media igual a 0 en un nivel de significancia del 5% . El test asume que losdatos provienen de una distribucion continua simetrica con respecto a la media.

(3)Se realiza un test de razon de varianza sobre la serie de tiempo usando la funcion vratiotest deMATLAB R©. Este parametro retorna el valor de la razon obtenida.

Estadısticos simples

(4)El valor de este parametro esta dado por la proporcion de puntos de la serie de datos que sonmaximos locales.

6.2.2. Medidas de correlacion

Adicion de ruidoSe anade ruido gaussiano a la serie de datos original. En cada paso se incrementa la desviacion estandar delruido y se mide la auto informacion mutua (AMI).

(5)Se realiza un ajuste con un modelo exponencial de la forma aebx sobre la funcion de AMI obtenidapara un retraso igual a 1. Este parametro corresponde al coeficiente a del modelo resultante.

(6)Se realiza un ajuste con un modelo lineal de la forma ax+ b sobre la funcion de AMI obtenida paraun retraso igual a 1. Este parametro corresponde al coeficiente a del modelo resultante.

(7)Este parametro corresponde al numero de veces que la funcion de AMI obtenida para un retrasoigual a 1 cruza por su media.

(8)Este parametro corresponde al numero de veces que la funcion de AMI obtenida para un retrasoigual a 2 cruza por su media.

Circulo en insercionSe inserta la serie de tiempo en un espacio bidimensional, usando un retraso τ igual al primer cruce porcero de la funcion de autocorrelacion. Se ubica un circulo de radio r centrado en cada punto y se cuenta elnumero de puntos que entran en el cırculo. De esta manera se recorren toda la serie.

r = 0,1

(9)Este parametro corresponde al valor maximo de la funcion obtenida.

(10)Este parametro corresponde a la media de la funcion obtenida.

(11)Este parametro corresponde al valor de τ usado.

r = 1

55

Page 62: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

(12)Este parametro corresponde al rango intercuantil de la funcion obtenida.

(13)Este parametro corresponde a la media de la funcion obtenida.

(14)Se calcula cual es el valor mas probable dentro de la funcion de cantidad de puntos contenidosen el circulo. Este parametro corresponde a la primer posicion de la funcion que tiene este valor masprobable.

(15)Este parametro corresponde al error cuadratico medio (RSME) entre el ajuste de los datos a unadistribucion de Poisson y la funcion original.

(16)Se mide la estacionariedad de los quintiles de la funcion obtenida. Se calcula dividiendo la senalen 5 segmentos de igual tamano, para cada uno se calcula la desviacion estandar. Este parametrocorresponde al cociente entre la desviacion estandar de las 5 desviaciones obtenidas y la desviacionestandar de la funcion completa.

Distancia en insercion

(17)Se inserta la serie de datos en un espacio bidimensional usando τ igual al primer mınimo dela funcion de autocorrelacion. Se miden las distancias euclidianas entre puntos sucesivos en la serieinsertada. Este parametro corresponde a la distancia maxima encontrada.

Medidas sobre histograma

(18)El valor de este parametro corresponde al cociente entre el numero de muestras de la serie sobreel valor maximo de un histograma de la serie con 10 bins.

6.2.3. Operaciones de dominio especıfico

Densidad espectral de potenciaSe calcula la densidad espectral de potencia (PSD) usando la funcion periodogram de MATLAB R© con unaventana Hanning. Se fija LFlo = 0,04, LFhi = 0,15, HFlo = 0,15 y HFlo = 0,4. Se calcula lpf realizando elproducto entre el intervalo entre frecuencias y la suma de los valores de la funcion PSD filtrada por LF . Secalcula hpf realizando el producto entre el intervalo entre frecuencias y la suma de los valores de la funcionPSD filtrada por HF . Se calcula vpf realizando el producto entre el intervalo entre frecuencias y la sumade los valores de la funcion PSD filtrada para valores menores a LFlo. Se calcula tpf realizando el productoentre el intervalo entre frecuencias y la suma de los valores de la funcion PSD sin filtrar.

(19)El valor de este parametro corresponde al cociente entre lpf y hpf .

(20)El valor de este parametro corresponde al cociente entre vpf y tpf , multiplicado por 100.

(21)El valor de este parametro corresponde al cociente entre lpf y tpf , multiplicado por 100.

6.2.4. Estacionalidad

Estacionalidad localSe analiza como cambian las estimaciones de estacionalidad sobre la serie de datos dependiendo del numerode segmentos en los que se divide la serie. En cada etapa del proceso se aumenta el numero de segmentos enlos que se divide la senal original, desde 1 hasta 10.

56

Page 63: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

(22)Se calcula la desviacion estandar sobre cada uno de los segmentos. El valor de este parametrocorresponde a la desviacion estandar de los datos de desviacion estandar obtenidos en cada etapa.

(23)Se calcula la entropıa aproximada sobre cada uno de los segmentos. El valor de este parametrocorresponde a la desviacion estandar de los datos de entropıa aproximada obtenidos en cada etapa.

Distribuciones localesSe divide la serie de tiempo en dos segmentos. Se ajusta cada uno de los segmentos y la serie total a unadistribucion Kernel-Smooth.

(24)Este parametro retorna el valor de la suma de las diferencias absolutas entre la distribucion delsegmento 1 y la distribucion del segmento 2.

(25)Se calcula la suma de las diferencias absolutas entre la distribucion del segmento 1 y la distribucionde la serie original. Luego se calcula la suma de las diferencias absolutas entre la distribucion delsegmento 2 y la distribucion de la serie original. El valor de este parametro el mınimo entre los dosresultados anteriores.

Extremos localesSe divide la serie de tiempo en 100 segmentos. Se hallan los maximos y mınimos de cada segmento.

(26)Este parametro corresponde a la media de los valores absolutos de los mınimos locales.

(27)Este parametro corresponde a la desviacion estandar de los extremos locales (maximo o mınimomas alejado de la media).

(28)Este parametro corresponde a la proporcion de cruces por la media de la funcion construida conlos extremos locales.

(29)Se calcula la diferencia entre el maximo y el valor absoluto del mınimo para cada segmento. Esteparametro corresponde a la suma del valor absoluto de las diferencias locales, sobre el numero desegmentos.

Estadısticos locales vs globales

(30)Se seleccionan los primeros 500 puntos de la serie y se calcula la oblicuidad s, tanto para elsubconjunto como para la serie completa. Este parametro corresponde a |1− ss|/so.(31)Se seleccionan 500 puntos aleatorios de la serie y se calcula la media µ, tanto para el subconjuntocomo para la serie completa. Este parametro corresponde a |1− µs|/µo.

(32)Se seleccionan 100 puntos uniformemente distribuidos de la serie y se calcula la media µ, tantopara el subconjunto como para la serie completa. Este parametro corresponde a |1− µs|/µo.

(33)Se seleccionan 100 puntos uniformemente distribuidos de la serie y se calcula el ındice de kurtosisk, tanto para el subconjunto como para la serie completa. Este parametro corresponde a |1− ks|/ko.

Correlacion de estadısticos localesSe divide la senal en 200 segmentos, con una superposicion de 40 puntos.

(34)Se calcula la media y desviacion estandar para cada segmento. El valor de este parametro corres-ponde al coeficiente de correlacion R entre las medias y las desviaciones estandar.

(35)Se calcula la mediana y rango intercuantil para cada segmento. Se calcula la diferencia entre elmaximo y el mınimo de las funciones de mediana y rango intercuantil. El valor de este parametrocorresponde al producto de las diferencias anteriores, multiplicadas por el numero total de muestras.

57

Page 64: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

(36)Primero se calcula la raız cuadrada de los valores absolutos de todos los puntos de la serie original.Luego ee calcula la mediana y rango intercuantil para cada segmento. Se calcula la diferencia entreel maximo y el mınimo de las funciones de mediana y rango intercuantil. El valor de este parametrocorresponde al producto de las diferencias anteriores, multiplicadas por el numero total de muestras.

Ventana deslizableSe desliza una ventana a traves de la serie de datos midiendo cierto estadıstico en cada paso, se retornanestadısticos sobre la funcion obtenida.

(37)Se divide la serie en 10 segmentos y en cada ventana se calcula la autocorrelacion con retraso iguala 1. La ventana se mueve 10 puntos por iteracion. El parametro retorna la entropıa aproximada de lafuncion obtenida.

(38)Se divide la serie en 5 segmentos y en cada ventana se calcula la entropıa aproximada. La ventanase mueve 5 puntos por iteracion. El parametro retorna la entropıa aproximada de la funcion obtenida.

(39)Se divide la serie en 5 segmentos y en cada ventana se calcula la entropıa aproximada. La ventanase mueve 2 puntos por iteracion. El parametro retorna la entropıa aproximada de la funcion obtenida.

(40)Se divide la serie en 10 segmentos y en cada ventana se calcula la entropıa del histograma. Laventana se mueve 5 puntos por iteracion. El parametro retorna la desviacion estandar de la funcionobtenida.

(41)Se divide la serie en 2 segmentos y en cada ventana se calcula el valor p de un test de gausianidad deLilliefors utilizando la funcion lillietest de MATLAB R©. La ventana se mueve 10 puntos por iteracion.El parametro retorna la entropıa aproximada de la funcion obtenida.

(42)Se divide la serie en 10 segmentos y en cada ventana se calcula el valor p de un test de gausianidadde Lilliefors. La ventana se mueve 1 punto por iteracion. El parametro retorna la desviacion estandarde la funcion obtenida.

(43)Se divide la serie en 2 segmentos y en cada ventana se calcula el valor p de un test de gausianidadde Lilliefors. La ventana se mueve 10 puntos por iteracion. El parametro retorna la desviacion estandarde la funcion obtenida.

(44)Se divide la serie en 2 segmentos y en cada ventana se calcula el valor p de un test de gausianidadde Lilliefors. La ventana se mueve 2 puntos por iteracion. El parametro retorna la desviacion estandarde la funcion obtenida.

(45)Se divide la serie en 10 segmentos y en cada ventana se calcula el valor de oblicuidad (asimetrıaestadıstica). La ventana se mueve 1 punto por iteracion. El parametro retorna la entropıa aproximadade la funcion obtenida.

(46)Se divide la serie en 5 segmentos y en cada ventana se calcula el valor de oblicuidad. La ventanase mueve 1 punto por iteracion. El parametro retorna la entropıa aproximada de la funcion obtenida.

(47)Se divide la serie en 5 segmentos y en cada ventana se calcula el valor de oblicuidad. La ventanase mueve 2 puntos por iteracion. El parametro retorna la entropıa aproximada de la funcion obtenida.

(48)Se divide la serie en 2 segmentos y en cada ventana se calcula el valor de oblicuidad. La ventanase mueve 1 punto por iteracion. El parametro retorna la desviacion estandar de la funcion obtenida.

(49)Se divide la serie en 2 segmentos y en cada ventana se calcula el valor de curtosis. La ventana semueve 2 puntos por iteracion. El parametro retorna la entropıa aproximada de la funcion obtenida.

(50)Se divide la serie en 5 segmentos y en cada ventana se calcula el valor de curtosis. La ventana semueve 2 puntos por iteracion. El parametro retorna la entropıa aproximada de la funcion obtenida.

(51)Se divide la serie en 10 segmentos y en cada ventana se calcula el valor de curtosis. La ventana semueve 1 puntos por iteracion. El parametro retorna la desviacion estandar de la funcion obtenida.

58

Page 65: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

(52)Se divide la serie en 10 segmentos y en cada ventana se calcula el valor de curtosis. La ventana semueve 10 puntos por iteracion. El parametro retorna la desviacion estandar de la funcion obtenida.

(53)Se divide la serie en 2 segmentos y en cada ventana se calcula el valor de la media. La ventana semueve 2 puntos por iteracion. El parametro retorna la entropıa aproximada de la funcion obtenida.

(54)Se divide la serie en 5 segmentos y en cada ventana se calcula el valor de la media. La ventana semueve 1 punto por iteracion. El parametro retorna la entropıa aproximada de la funcion obtenida.

(55)Se divide la serie en 5 segmentos y en cada ventana se calcula el valor de la media. La ventana semueve 2 puntos por iteracion. El parametro retorna la entropıa aproximada de la funcion obtenida.

(56)Se divide la serie en 10 segmentos y en cada ventana se calcula el valor de la desviacion estandar.La ventana se mueve 1 punto por iteracion. El parametro retorna la entropıa aproximada de la funcionobtenida.

(57)Se divide la serie en 5 segmentos y en cada ventana se calcula el valor de la desviacion estandar. Laventana se mueve 2 puntos por iteracion. El parametro retorna la entropıa aproximada de la funcionobtenida.

(58)Se divide la serie en 2 segmentos y en cada ventana se calcula el valor de la desviacion estandar.La ventana se mueve 1 punto por iteracion. El parametro retorna la desviacion estandar de la funcionobtenida.

Reduccion de la variacion total discretaDe acuerdo con [68], se realiza una reduccion de la variacion total discreta (TVD) minimizando la funciondiscreta E = 1

2 |y − x|2 + λ|Dx| sobre la variable x, siendo y la serie de datos original y de acuerdo con unvalor de λ = 0 : 0,05 : 0,95. D es el primer vector de diferencias. Se calcula la diferencia entre la desviacionestandar de la serie original y la desviacion estandar de y − yTDV , para cada valor de λ.

(59)Este parametro corresponde al valor de λ para el que se logra el maximo de la funcion.

6.2.5. Transformaciones en el dominio del tiempo

SplineSe utiliza la funcion spap2 de MATLAB R© para interpolar la serie de datos original y. Se utilizan 4 knots yun interpolador de orden 4. Se calcula yd = y − yspl.

(60)Se divide la funcion en 6 segmentos de igual tamano, se mide la media de cada uno y luego secalcula la desviacion estandar de la medias. Este proceso se realiza para tanto para yd como para y.El valor de este parametro esta dado por el cociente de los dos resultados.

(61)Se divide la funcion en 8 segmentos de igual tamano, se mide la media de cada uno y luego secalcula la desviacion estandar de la medias. Este proceso se realiza para tanto para yd como para y.El valor de este parametro esta dado por el cociente de los dos resultados.

DerivadaSe utiliza la funcion diff de MATLAB R© para derivar la serie de datos original y.

(62)Se ajusta y tanto a una distribucion Kernel-Smooth como a una distribucion normal. Se calcula elarea entre las dos curvas logradas, ay. Se repite el procedimiento para y′. El valor de este parametroesta dado por el cociente entre ay′ y ay.

(63)Se ajusta y a una distribucion gaussiana simple. Se realiza un test de aleatoriedad sobre losresiduos del algoritmo de ajuste usando la funcion runstest de MATLAB R© y se obtiene rty. Se repiteel procedimiento para y′′. El valor de este parametro esta dado por el cociente entre rty′′ y rty.

59

Page 66: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

(64)Se ajusta y tanto a una distribucion Kernel-Smooth como a una distribucion normal. Se calcula elarea entre las dos curvas logradas, ay. Se repite el procedimiento para y′′. El valor de este parametroesta dado por el cociente entre ay′′ y ay.

(65)Se divide la serie y en 5 segmentos y en cada ventana se calcula la media con retraso igual a 1.La ventana se mueve 1 punto por iteracion. El parametro retorna la desviacion estandar de la funcionobtenida, swy. Se repite el procedimiento para y′′. El valor de este parametro esta dado por el cocienteentre swy′′ y swy.

Filtro de medianaSe utiliza la funcion medfilt de MATLAB R© para filtrar la serie de datos original y. El grado del filtro seespecifica para cada parametro.

(66)Se ajusta y a una distribucion gaussiana simple. Se calcula el error cuadratico medio (RSME)entre la serie y el modelo. Se repite el procedimiento para ymd2. El valor de este parametro esta dadopor el cociente entre RMSEymmd2 y RMSEy.

(67)Se ajusta y a una distribucion gaussiana simple. Se realiza un test de aleatoriedad sobre losresiduos del algoritmo de ajuste usando la funcion runstest de MATLAB R© y se obtiene rty. Se repiteel procedimiento para ymd3. El valor de este parametro esta dado por el cociente entre rtymd3

y rty.

(68)Se divide la serie y en 5 segmentos y en cada ventana se calcula la desviacion estandar con retrasoigual a 1. La ventana se mueve 1 punto por iteracion. El parametro retorna la desviacion estandar dela funcion obtenida, swy. Se repite el procedimiento para ymd3. El valor de este parametro esta dadopor el cociente entre swymd3

y swy.

(69)Se divide la serie y en 10 segmentos y en cada ventana se calcula la desviacion estandar con retrasoigual a 1. La ventana se mueve 1 punto por iteracion. El parametro retorna la desviacion estandar dela funcion obtenida, swy. Se repite el procedimiento para ymd3. El valor de este parametro esta dadopor el cociente entre swymd3

y swy.

(70)Se divide la funcion en 6 segmentos de igual tamano, se mide la media de cada uno y luego secalcula la desviacion estandar de la medias. Este proceso se realiza para tanto para ymd4 como paray. El valor de este parametro esta dado por el cociente de los dos resultados.

Filtro de promedio movilSe utiliza la funcion filter de MATLAB R© para filtrar la serie de datos original y. El tamano de la ventanase especifica para cada parametro.

(71)Se ajusta y a una distribucion gaussiana simple. Se realiza un test de aleatoriedad sobre losresiduos del algoritmo de ajuste usando la funcion runstest de MATLAB R© y se obtiene rty. Se repiteel procedimiento para yf10. El valor de este parametro esta dado por el cociente entre rtyf10

y rty.

(72)Se ajusta y tanto a una distribucion Kernel-Smooth como a una distribucion normal. Se calcula elarea entre las dos curvas logradas, ay. Se repite el procedimiento para yf10. El valor de este parametroesta dado por el cociente entre ayf10 y ay.

(73)Se divide la funcion en 6 segmentos de igual tamano, se mide la media de cada uno y luego secalcula la desviacion estandar de la medias. Este proceso se realiza para tanto para yf10 como para y.El valor de este parametro esta dado por el cociente de los dos resultados.

(74)Se divide la serie y en 2 segmentos y en cada ventana se calcula la media con retraso igual a1. La ventana se mueve 2 puntos por iteracion. El parametro retorna la desviacion estandar de lafuncion obtenida, swy. Se repite el procedimiento para yf10. El valor de este parametro esta dado porel cociente entre swyf10

y swy.

60

Page 67: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

(75)Se divide la serie y en 5 segmentos y en cada ventana se calcula la media con retraso igual a 1.La ventana se mueve 1 punto por iteracion. El parametro retorna la desviacion estandar de la funcionobtenida, swy. Se repite el procedimiento para yf10. El valor de este parametro esta dado por elcociente entre swyf10

y swy.

Modelo sinusoidalSe ajusta la serie de datos original y a un modelo de la forma ys = a1sin(b1x+ c1) + a2sin(b2x+ c2).

(76)Se ajusta y tanto a una distribucion Kernel-Smooth como a una distribucion normal. Se calcula elarea entre las dos curvas logradas, ay. Se repite el procedimiento para ys. El valor de este parametroesta dado por el cociente entre ays

y ay.

6.2.6. Medidas de distribucion

Comparacion con un ajuste Kernel-SmoothLos siguientes parametros requieren en primer lugar ajustar la serie de datos a una distribucion de Kernel-Smooth. A este modelo lo llamaremos ks.

(78)Se ajusta la serie de datos a una distribucion normal. El modelo resultante es n. El valor de esteparametro es el area entre las curvas ks y n.

(79)Se ajusta la serie de datos a una distribucion uniforme. El modelo resultante es u. El valor de esteparametro es el area entre las curvas ks y u.

(80)Se ajusta la serie de datos a una distribucion beta. El modelo resultante es b. El valor de esteparametro es el area en que se solapan las curvas ks y b.

(81)Se ajusta la serie de datos a una distribucion Rayleigh. El modelo resultante es r. El valor de esteparametro es el area entre las curvas ks y r.

(82)Se ajusta la serie de datos a una distribucion Exponencial. El modelo resultante es e. El valor deeste parametro es el area entre las curvas ks y e.

(83)El valor de este parametro es el numero de picos de la curva ks.

Inclusion de puntos aisladosSe calculan los siguientes parametros sobre la serie de datos a medida que que se agregan a ella los puntosmas alejados de la serie original. Se anaden puntos desde un umbral igual a 0 y hasta el valor de la desviacionestandar (σ), en incrementos de 0,01σ. Los puntos anadidos cumplen con una caracterıstica inicial que sedefine tambien a continuacion.

Puntos mas lejanos de la media

(84)Error cuadratico medio (RSME) entre la serie de datos lograda al calcular la proporcion de la serieoriginal usada en cada umbral de datos y el ajuste de la forma aebx + c.

(85)Coeficiente a del modelo de la forma aebx + c al ajustar la serie de datos lograda al calcular elerror estandar (SE) en cada umbral de datos.

(86)Error cuadratico medio (RSME) entre la serie de datos lograda al calcular el error estandar (SE)en cada umbral de datos y el ajuste de la forma aebx + c.

(87)Coeficiente b del modelo de la forma ax+ b al ajustar la serie de datos lograda al calcular el errorestandar (SE) en cada umbral de datos.

61

Page 68: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Puntos con mayores desviaciones positivas de la media

(88)Coeficiente b del modelo de la forma aebx + c al ajustar la serie de datos lograda al calcular lamedia en cada umbral de datos.

(89)Coeficiente a del modelo de la forma aebx + c al ajustar la serie de datos lograda al calcular laproporcion de la serie original usada en cada umbral de datos.

(90)Desviacion estandar de la serie de datos lograda al calcular la mediana en cada umbral de datos.

(91)Error cuadratico medio (RSME) entre la serie de datos lograda al calcular el error estandar (SE)en cada umbral de datos y el ajuste de la forma aebx + c.

Puntos con mayores desviaciones negativas de la media

(92)Coeficiente a del modelo de la forma aebx + c al ajustar la serie de datos lograda al calcular laproporcion de la serie original usada en cada umbral de datos.

(93)Error cuadratico medio (RSME) entre la serie de datos lograda al calcular la proporcion de la serieoriginal usada en cada umbral de datos y el ajuste de la forma ax+ b

(94)Coeficiente b del modelo de la forma aebx + c al ajustar la serie de datos lograda al calcular elerror estandar (SE) en cada umbral de datos.

Remocion de puntosSe calculan los siguientes parametros sobre la serie de datos lograda al eliminar el primer 10% de los puntoscuyo valor cumpla la caracterıstica enunciada.

Puntos mas cercanos a la media

(95)Se calcula el primer τ para el cual la funcion de autocorrelacion se vuelve negativa, tanto para laserie recortada como para la serie original.El valor de este parametro es el cociente entre τsr y τso.

(96)Se calcula la transformada inversa de Fourier del espectro de potencia de la serie de datos, locual da como resultado la autocorrelacion de la senal. Este proceso se realiza tanto para la serierecortada como para la serie original. Se selecciona en ambos casos el tercer valor de las funciones deautocorrelacion, es decir para τ = 3. El valor de este parametro es el cociente entre acsr(3) y acso(3).

Puntos aleatorios

(97)Se calcula la transformada inversa de Fourier del espectro de potencia de la serie de datos, locual da como resultado la autocorrelacion de la senal. Este proceso se realiza tanto para la serierecortada como para la serie original. Se selecciona en ambos casos el segundo valor de las funcionesde autocorrelacion, es decir para τ = 2. Se calcula el valor absoluto de la diferencia entre acsr(2) yacso(2).

Regresion simpleSe ajustan los datos utilizando la funcion fit de MATLAB R© y el modelo especificado en cada caso. Luegose calculan los sigueintes parametros.

Modelo de la forma aebx (exp1)

(98) El valor de este parametro es el coeficiente de determinacion R2 entre la serie de datos original yel modelo.

62

Page 69: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

(99) El valor de este parametro es el resultado obtenido al realizar un test de aleatoriedad sobre losresiduos del algoritmo de ajuste usando la funcion runstest de MATLAB R©.

Modelo de la forma a1 ∗ sin(b1x+ c1) + a2sin(b2x+ c2) (sin2)

(100)El valor de este parametro es el coeficiente de determinacion R2 entre la serie de datos originaly el modelo.

Modelo de la forma a0 + a1cos(xw) + b1sin(xw) (fourier1)

(101)El valor de este parametro es el resultado obtenido al realizar un test de aleatoriedad sobre losresiduos del algoritmo de ajuste usando la funcion runstest de MATLAB R©.

Umbral movilSe utiliza la ocurrencia de eventos extremos para modificar el umbral hipotetico que diferencia los puntosde la serie como extremos o no. El umbral comienza en 1 y si el valor absoluto del primer punto es mayorque la umbral, el umbra se aumenta un valor de a, sino el umbral decrece en un valor de b. De esta manerase recorre toda la serie de datos. En este caso se selecciono a = b = 0,1. En este caso solo se selecciono elsiguiente parametro:

(102)El valor de este parametro es el mınimo umbral obtenido al recorrer toda la serie de datos.

6.2.7. Entropıa

Entropıa aproximadaSe calcula el valor de la entropıa aproximada para diferentes dimensiones de insercion m.

(77)El valor de este parametro es el valor de la entropıa aproximada para m = 2.

(103)El valor de este parametro es el valor de la entropıa aproximada para m = 4.

(104)El valor de este parametro es el valor de la entropıa aproximada para m = 5.

Medidas simples de complejidad

(105)El valor de este parametro es el resultado de calcular la funcion mean(√1 + x2) sobre la serie

original.

(106)Se calcula la funcion CEso =√

mean(x2) sobre la serie original y luego la misma funcion pero

sobre la serie ordenada de forma ascendente CEss =√

mean(xs2). El valor de este parametro es el

cociente entre CEso y CEss.

AleatorizacionSe reescribe un elemento aleatorio de la serie de datos con otro dato de valor aleatorio. Este proceso se realiza2 veces la longitud del vector original.

Correlacion cruzadaEn cada etapa se calcula la correlacion cruzada entre la senal original y la aleatorizada y se selecciona elvalor del lag-1.

63

Page 70: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

(107) El valor de este parametro corresponde al error cuadratico medio (RSME) entre la funcionconstruida y un ajuste de la forma aebx + c.

(108)Se suma el valor del primer y ultimo punto de la funcion lograda. El valor de este parametrocorresponde al primer punto de la funcion que cruza por la mitad del valor calculado.

CorrelacionEn cada etapa se calcula la correlacion entre la senal original y la aleatorizada para una lag igual a 3.

(109)El valor de este parametro corresponde al error cuadratico medio (RSME) entre la funcion cons-truida y un ajuste de la forma aebx + c.

(110)Se suma el valor del primer y ultimo punto de la funcion lograda. El valor de este parametrocorresponde al primer punto de la funcion que cruza por la mitad del valor calculado.

En cada etapa se calcula la correlacion entre la senal original y la aleatorizada para una lag igual a 4.

(111)El valor de este parametro corresponde al error cuadratico medio (RSME) entre la funcion cons-truida y un ajuste de la forma aebx + c.

(112)Se suma el valor del primer y ultimo punto de la funcion lograda. El valor de este parametrocorresponde al primer punto de la funcion que cruza por la mitad del valor calculado.

EstacionalidadEn cada etapa se divide la serie aleatorizada en 5 segmentos. A cada uno se le calcula la media. Luego secalcula la desviacion estandar de las 5 medias.

(113)El valor de este parametro corresponde al R2 entre la funcion construida y un ajuste de la formaaebx + c.

(114)El valor de este parametro corresponde al error cuadratico medio (RSME) entre la funcion cons-truida y un ajuste de la forma aebx + c.

6.2.8. Informacion

Informacion automutuaSe calcula la informacion automutua (AMI) para τ = 1 : 1 : 10, generando una funcion de AMI de 10 puntos.

(115)El valor de este parametro corresponde al AMI para τ = 1

(116)Se hallan los mınimos de la funcion de AMI mediante el calculo de la derivada. El valor de esteparametro es la proporcion de mınimos locales sobre el total de puntos de la funcion.

(117)Se centra la funcion de AMI en cero, restandole la media. El valor de este parametro es laproporcion de cruces por cero sobre el total de puntos de la funcion.

6.2.9. Patrones 2D

De acuerdo con [65] se calcula la funcion p(d) que identifica los patrones de nivel 2 contenidos en la seriede datos original para d = 1 : T − 1, donde T = 10000 que corresponde a la longitud de la serie.

(118)El valor de este parametro corresponde a la varianza de la funcion p(d).

64

Page 71: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

6.3. Configuracion del sistema final

6.3.1. Entrenamiento de la RNA

Teniendo ya definido el conjunto de caracterısticas finales, se configuro una nueva RNA que fue entrenadabajo los parametros definidos en el cuadro 6.2.

Figura 6.3: Diagrama de la RNA

Cuadro 6.2: Especificaciones para RNA final

Caracterıstica ValorNeuronas capa de entrada (in) 118Neuronas capa oculta (hn) 59

Neuronas capa de salida (on) 1Funcion de entrenamiento trainlm

Numero de epocas 1 000Gradiente mınimo 10−7

Base de datos de entrenamiento 272 ejemplos (con 118 muestras c/u)Base de datos de validacion 68 ejemplos (con 118 muestras c/u)

El procedimiento de entrenamiento se realizo 300 veces y se selecciono la mejor red neuronal de acuerdoal area bajo la curva ROC, tal y como se describe en la seccion 5.3. En la figura 6.4 se muestra la curva ROCde la red seleccionada, cuya area correponde a 0.9978.

Figura 6.4: Curva ROC de la red neuronal seleccionada

65

Page 72: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

6.3.2. Pruning de la RNA

El numero de parametors de la red neuronal obtenida en la seccion 6.3.1, se definen en el cuadro 6.3.Con el fin de reducir esta cantidad y de esta forma reducir la complejidad de la solucion, se implemento latecnica de pruning Optimal Brain Surgeon (OBS), propuesta en [69].

Cuadro 6.3: Cantidad de parametros de la RNA

Ubicacion Cantidad TotalPesos entrada a capa oculta 118*59 6 962

Bias capa oculta 59 59Pesos capa oculta a salida 59*1 59Bias neurona de salida 1 1

7 081

El OBS usa las segundas derivadas de la funcion de error para eliminar pesos innecesarios en una redentrenada, mejorando el error de generalizacion y simplificando la red. Se comienza con la red entrenadahasta un mınimo local de la funcion de error. Luego se computa la matriz hessiana que contiene las segundasderivadas de la funcion de error para encontrar el parametro de la red con la menor prominencia (incrementoen el error debido a la eliminacion de determinado parametro de la red), si esta prominencia es mucho menorque el error de generalizacion actual se puede proceder a eliminar el parametro, por el contrario, si no esposible eliminar parametros sin afectar considerablemente el error, se detiene el procedimiento.

Para la construccion de la grafica siguiente se usaron los 340 ejemplos disponibles. La base de datos sedividio aleatoriamente en 80% (272 ejemplos) para entrenamiento y 20% (68 ejemplos) para validacion.

Figura 6.5: Error de entrenamiento y validacion al reducir los parametros mediante OBS

De acuerdo con la informacion plasmada en el cuadro 6.3, se selecciono la red con 2 987 parametros,debido a que se mantenia el error de validacion de la red inicial. Con esto se obtuvo una reduccion del57.816% en la cantidad de parametros de la red. Sin embargo, en ningun caso se lograron eliminar todoslos parametros relacionados con una entrada en particular, es decir, el OBS encontro que las 118 entradasaportan suficiente informacion para el diagnostico de caos, por lo cual ninguna de ellas fue eliminada.

66

Page 73: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico
Page 74: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Cuadro 6.5: Resultados de los experimentos realizados

Tipo Nombre MuestrasSalida SDF Grassberger-Procaccia

Esperada Tiempo (s) Resultado Tiempo (s) Resultado

Caos

Henon area preserving quadratic map[70]1 000 1 4.797 0 2.576 110 000 1 56.858 1 115.230 130 000 1 436.057 1 1282.141 1

Henon-Heiles system[70]1 000 1 8.861 1 1.106 110 000 1 56.932 1 90.061 130 000 1 452.166 1 1148.718 1

Labyrinth chaos[70]1 000 1 9.217 0 2.033 010 000 1 67.348 1 102.865 030 000 1 416.814 1 1271.410 0

Nose-Hoover oscillator[70]1 000 1 7.137 1 1.238 110 000 1 60.352 1 89.254 130 000 1 457.547 1 1233.264 1

Ruido

Ruido 1[55]1 000 0 8.841 0 2.665 010 000 0 67.706 0 119.686 030 000 0 484.558 0 1363.165 0

Ruido 2[55]1 000 0 10.161 0 2.723 010 000 0 67.059 0 119.592 030 000 0 486.957 0 1317.952 0

Ruido 3[71]1 000 0 10.783 0 2.633 010 000 0 70.143 0 117.221 030 000 0 504.049 0 1325.531 0

Ruido 4[71]1 000 0 11.169 0 2.745 010 000 0 73.251 0 117.966 030 000 0 507.154 0 1308.507 0

Random

walk

Random walk 1[71]1 000 0 9.734 0 1.527 110 000 0 92.783 0 27.669 130 000 0 660.618 0 560.013 1

Random walk 2[71]1 000 0 8.146 0 1.294 110 000 0 94.249 0 37.373 130 000 0 690.879 0 992.703 1

68

Page 75: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Las senales utilizadas en esta seccion no hacen parte del conjunto usado dentro de los procesos de selecciono entrenamiento. Se crearon series de tiempo de 1 000, 10 000 y 30 000 muestras de manera que se pudieraobservar el desempeno de ambos algoritmos con respecto a la cantidad de datos. Las senales fueron extraidasde [55], [70] y [71], respectivamente. Para la construccion de las senales random walk se utilizo la funcioncumsum de MATLAB R© sobre una senal de ruido. Las senales caoticas de 1 000 muestras son producto dela senal de 10 000 muestras submuestreada cada 10 muestras.

Las pruebas fueron realizadas en una maquina con las especificaciones mostradas en el cuadro 6.6.

Cuadro 6.6: Descripcion de la maquina usada en el proceso de pruebas

Caracterıstica ValorSistema operativo Windows 10 Home x64

RAM 16GB DDR4 2133 MHzHDD 1TB 5400 RPM

Procesador Intel R© Core i7-6700HQ Sexta Generacion

De acuerdo con los resultados obtenidos se puede inferir que el algoritmo aqui propuesto tiene dificultaddetectando caos en las series de tiempo cortas, como se puede ver en la serie Henon area preserving quadraticmap y Labyrinth chaos, resultado que puede ser debido a que la cantidad de muestras no es suficiente parael algoritmo.

En el caso particular de las series Random Walk, se puede afirmar que este proceso que es netamenteestocastico, logra enganar al AGP. Como se puede evideciar en la figura 6.7c, al aumentar la dimension deinsercion, la dimension de correlacion se mantiene casi constante, lo cual es un indicador de determinismo yen este caso de caoticidad. Para las mismas series de tiempo el SDF logro descartar presencia de caos.

En cuanto a los tiempos de ejecucion, se puede concluir que el algoritmo SDF presenta una mayordemora en series de tiempo de 1 000 muestras, sin embargo al aumentar las muestras de la senal el tiempode ejecucion no aumenta de la misma forma que en el AGP. Hacemos referencia a que en el caso de las seriesde 10 000 muestras el algoritmo SDF requirio solo un 60.013% del tiempo requerido en AGP y en el caso delas series de 30 000 muestras el SDF requirio solo el 36.566% del tiempo requerido por el AGP. Esto indica,que aun cuando es claro que el tiempo de ejecucion aumenta con el numero de muestras de la serie, esteaumento es considerablemente menor que el del AGP, como se ilustra en la figura 6.8. (Estas relaciones noincluyen los tiempos correpondientes a las series Random Walk).

Se aclara que todas las comparaciones aquı realizadas hacen referencia a la implementacion del algoritmoGrassberger-Procaccia realizada por los autores y no al algoritmo en sı.

69

Page 76: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico
Page 77: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Figura 6.8: Tiempos de ejecucion aproximados para los algoritmos SDF y AGP.

71

Page 78: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Capıtulo 7

Conclusiones y trabajo futuro

7.1. Conclusiones

En este trabajo presentamos una metodologıa para el diagnostico de caos en series de tiempo basadaen el calculo de 118 caracterısticas sobre la serie de tiempo y un clasificador simple construido con una redneuronal artificial. El gran reto de este trabajo radica en la distincion entre procesos de tipo estocasticoy caoticos, debido a ambos procesos tienen multiples caracteristicas en comun: un espectro de potencia debanda ancha, funcion de autocorrelacion delta y senales con comportamiento visiblemente irregular, entreotros.

En primer lugar fue necesario reunir varias senales sobre las que se pudiera ejecutar el proceso deaprendizaje. Se recopilaron 340 series de tiempo; 200 series caoticas, provenientes de sistemas de ecuacionesdefinidos en la literatura y 140 series regulares, que incluyen series lineales, no lineales, ruido, random walk,entre otras.

Luego se determinaron cuales serıas los parametros a calcular sobre cada una de las senales, de maneraque se lograra una caracterizacion completa de su naturaleza. Se incluyeron estadısticos sobre medidas decorrelacion, estacionalidad local y global, complejidad, distribucion, entropıa, informacion y forma, pruebasestadısticas, transformaciones en el dominio del tiempo y calculos en otros dominios. En este proceso resul-taron 1 452 caracterısticas que se calcularon sobre la base de datos de 340 senales, para un total de 493 680datos.

Se opto por la utilizacion del algorıtmo genetico compacto (AGC) para la seleccion de las caracterısticas,donde cada caracterıstica corresponde a un alelo del individuo, es decir la longitud del genoma es iguala la cantidad de caracterısticas. Se genera una poblacion de 20 individuos al azar y cada uno de estos escalificado mediante una red neuronal que es entrenada usando las caracterısticas activas de el individuo enparticular. Se propuso como funcion de aptitud del individuo una medida que no solo tiene en cuenta elerror de validacion, tambien informa sobre la sensibilidad y especificidad de la red. De acuerdo con la salidade la red neuronal luego del entrenamiento, se traza una curva ROC usando el segmento de validacion y lacalificacion del individuo corresponde al area bajo esta curva. Luego de haber evaluado los 20 individuos seselecciona al mejor y se actualiza el vector de probabilidad en funcion del mejor individuo, finalizando asıuna epoca del algoritmo genetico. Este vector de probabilidad tiene tantas posiciones como caracterısticashay en la base de datos y es inicializado con 0.5 en cada posicion. La probabilidad de que una caracterısticaaparezca en el individuo final del algoritmo sube 0.01 si esa caracterıstica esta activa en el individuo ganadorde la epoca o decrece 0.01en caso contrario. Cuanto todas las posiciones del vector de probabilidad seanmayores a 1 o menores a 0, se detiene el algoritmo y se podra concluir que todas aquellas caracterısticas conprobabilidades mayores a 1 son aquellas que aportan informacion para la deteccion de caos.

72

Page 79: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

La cantidad de memoria necesaria para poder ejecutar la evaluacion de los individuos mediante la RNAy la no disponibilidad de estos recursos computacionales, llevo a proponer un metodo para la reduccion deltamano de la base de datos. Se diseno entonces un metodo para eliminar las caracterısticas redundantes me-diante un filtro de correlacion lineal (FCL), que consiste simplemente en hallar el coeficiente de correlacionentre una de las caracterısticas y el resto, si el coeficiente es igual o superior a 0.95 solo se conserva unade las caracterısticas. De esta forma se mantienen en la base de datos caracterısticas con muy baja depen-dencia lineal entre sı. Con este proceso se logro una reduccion del 75,826% sobre el total de caracterısticaspropuestas, es decir, se paso de 1 452 a 351 caracterısticas, que posteriormente fueron las que ingresaron alAGC.

Luego de 239 epocas fue necesario detener el AGC debido al largo tiempo de ejecucion. En este puntoel vector de probabilidad no habia convergido aun por lo que se propuso tener en cuenta unicamente lascaracterısticas cuya probabilidad hubiese convergido y fuera mayor o igual a 1. Esto resulto en un conjuntode 118 caracterısticas, lo cual equivalente al 8,126% de la base de datos inicial (1 452 caracterısticas) o al33,618% de la base de datos luego del FCL (351 caracterısticas).

Usando la base de datos con las 118 caracterısticas seleccionadas, se entreno una RNA de manera que selograra el clasificador final. Con la intencion de reducir el tiempo de diagnostico de caos con la red logradase propuso el uso de la tecnica de pruning Optimal Brain Surgeon (OBS). Con esta tecnica se logro pasar de7 081 a 2 987 parametros, es decir una reduccion del 57,816% sin alterar el error de validacion de la red. Selogro un error de entrenamiento de 1,838% y un error de validacion de 4,412%, sobre la base de datos de118 caracterısticas, cada una con 340 ejemplos (272 para entrenamiento y 68 para validacion).

El sistema de diagnostico final (SDF) fue definido entonces como la union de dos modulos. El primermodulo corresponde al calculo de las 118 caracterısticas sobre la serie de tiempo a diagnosticar. Luego estas118 salidas entran al modulo de diagnostico, que no es mas que la red neuronal lograda luego del OBS. Lasalida de la red es 1 en caso de detectar caos o 0 en caso contrario.

Finalmente se comparo el desempeno del SDF con uno de los metodos mas comunmente usados para eldiagnostico de caos, el algoritmo de Grassberger - Procaccia. Para el proceso de prueba se usan 4 sistemascaoticos, de cada uno se extraen series de 1 000, 10 000 y 30 000, respectivamente, para un total de 12series caoticas. Ademas se utilizan 12 series de ruido y 6 series de random walk. El SDF logra clasificarcorrectamente 28 de las 30 senales propuestas como conjunto de prueba, es decir se obtiene un error del6.66%. En contraposicion el algoritmo Grassberger-Procaccia tiene un error de 30%.

El algoritmo propuesto en este trabajo logra detectar caos en series de tiempo, teniendo en cuenta ciertaslimitaciones con respecto a la calidad de la serie. Sin embargo, la cantidad de muestras y la tasa de muestreocorrecta para capturar la dinamica caotica de forma integral en cada sistema deben estudiarse separadamentey no hacen parte de este trabajo. Cabe anotar, que los resultados obtenidos estan acotados al conjunto desenales usadas en este trabajo.

7.2. Aportes originales

Se recopilaron de la literatura 28 mapas y 57 flujos caoticos diferentes. Con estos se creo una base dedatos de 200 senales caoticas originales sintetizadas por los autores de este trabajo.

Se propuso un metodo de recorte simple sobre la base de datos, al cual llamamos filtro de correlacionlineal (FCL), que permitio pasar de 1 452 caracterısticas a solo 351. Se descartaron las caracterısticasredundantes basados en el coeficiente de correlacion, lo cual se tradujo en una reduccion considerablede memoria necesaria para la ejecucion del algoritmo de seleccion.

Se planteo un modulo para la evalucion de los individuos dentro del algoritmo genetico compacto(AGC) clasico. El modulo esta constituido por una red neuronal que se entrena para el individuo en

73

Page 80: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

cuestion. La salida de esta red es caracterizada mediante una curva ROC y es el area bajo esta curvala que determina que tan apto o no es el individuo para la tarea de clasificacion.

Se realizo la implementacion del metodo de pruning Optimal Brain Surgeon (OBS) propuesto en [69]en MATLAB R©.

Se pretende divulgar el sistema de deteccion de caoticidad logrado usando seleccion de caracterısticasmediante un algoritmo genetico y un clasificador basado en una red neuronal, por medio del siguienteartıculo: J. Barrero, S. Lopez and M. Melgarejo, Feature selection through an genetic algorithm for thediagnosis of chaos in time series using a neural network classifier, 2017 (en preparacion).

7.3. Trabajo futuro

A partir del desarrollo de este proyecto se proponen los siguientes trabajos futuros, relacionados con losresultados logrados:

Analizar de forma individual las 118 caracterısticas seleccionadas por el algorıtmo genetico y determi-nar el por que de su relacion con el caos.

Ejecutar nuevamente el algoritmo de seleccion sobre las 351 caracterısiticas, en un ambiente queno represente limitaciones en cuanto a tiempo o capacidad, de manera que se pueda llevar a cabola ejecucion completa del algoritmo de seleccion y se pueda confirmar que todas las caracterısticasseleccionadas son en realidad necesarias para la deteccion de caos.

Proponer un metodo para minimizar la cantidad de caracterısticas necesarias para detectar presenciade caos en series de tiempo, sin afectar negativamente el desempeno del sistema propuesto en estetrabajo.

Analizar el efecto de la contaminacion por ruido sobre las series de tiempo en el desempeno delalgoritmo presentado en este trabajo.

74

Page 81: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

Bibliografıa

[1] Edward N Lorenz. ((Deterministic nonperiodic flow)). En: Journal of the atmospheric sciences20.2 (1963), pags. 130-141.

[2] Tien-Yien Li y James A Yorke. ((Period three implies chaos)). En: The American MathematicalMonthly 82.10 (1975), pags. 985-992.

[3] Christopher M Danforth. Chaos in an Atmosphere Hanging on a Wall. 2013. url: http://mpe2013.org/2013/03/17/chaos-in-an-atmosphere-hanging-on-a-wall/.

[4] J Robert Buchler, Jean M Perdang y Edward A Spiegel. Chaos in astrophysics. Vol. 161.Springer Science & Business Media, 2012.

[5] F Argoul y col. ((Experimental evidence for homoclinic chaos in an electrochemical growthprocess)). En: Physica D: Nonlinear Phenomena 62.1 (1993), pags. 170-185.

[6] A Babloyantz. ((Chaotic dynamics in brain activity)). En: Dynamics of sensory and cognitiveprocessing by the brain. Springer, 1988, pags. 196-202.

[7] Christine A Skarda y Walter J Freeman. ((How brains make chaos in order to make sense ofthe world)). En: Behavioral and brain sciences 10.02 (1987), pags. 161-173.

[8] Michael Frame. ((Chaotic Behavior of the Forced Hodgkin-Huxley Axon)). En: Measures ofComplexity and Chaos. Springer, 1989, pags. 111-112.

[9] Kenneth M Stein, Neal Lippman y Paul Kligfield. ((Fractal rhythms of the heart)). En: Journalof electrocardiology 24 (1991), pags. 72-76.

[10] D Hoyer y col. ((Nonlinear analysis of heart rate and respiratory dynamics)). En: IEEE engi-neering in medicine and biology magazine 16.1 (1997), pags. 31-39.

[11] KP Yip, NH Holstein-Rathlou y DONALD J Marsh. ((Chaos in blood flow control in geneticand renovascular hypertensive rats)). En: American Journal of Physiology-Renal Physiology261.3 (1991), F400-F408.

[12] WA Brock y WD Dechert. ((Statistical inference theory for measures of complexity in chaostheory and nonlinear science)). En:Measures of complexity and chaos. Springer, 1989, pags. 79-97.

[13] WM Schaffer y LF Olsen. ((Chaos in childhood epidemics)). En: Measures of Complexity andChaos. Springer, 1989, pags. 187-190.

[14] David Ruelle y Floris Takens. ((On the nature of turbulence)). En: Communications in mat-hematical physics 20.3 (1971), pags. 167-192.

[15] JP Gollub y Christopher W Meyer. ((Symmetry-breaking instabilities on a fluid surface)). En:Physica D: Nonlinear Phenomena 6.3 (1983), pags. 337-346.

[16] S Ciliberto y P Bigazzi. ((Spatiotemporal intermittency in Rayleigh-Benard convection)). En:Physical review letters 60.4 (1988), pag. 286.

75

Page 82: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

[17] FT Arecchi. ((Instabilities and chaos in single-mode homogeneous line lasers)). En: Instabilitiesand chaos in quantum optics. Springer, 1987, pags. 9-48.

[18] CO Weiss, NB Abraham y U Hubner. ((Homoclinic and heteroclinic chaos in a single-modelaser)). En: Physical review letters 61.14 (1988), pag. 1587.

[19] L Douglas Kiel y Euel W Elliott. Chaos theory in the social sciences: Foundations and appli-cations. University of Michigan Press, 1996.

[20] Floris Takens. ((Detecting strange attractors in turbulence)). En: Dynamical systems and tur-bulence, Warwick 1980. Springer, 1981, pags. 366-381.

[21] Tim Sauer, James A Yorke y Martin Casdagli. ((Embedology)). En: Journal of statisticalPhysics 65.3-4 (1991), pags. 579-616.

[22] Ippei Shimada y Tomomasa Nagashima. ((A numerical approach to ergodic problem of dissi-pative dynamical systems)). En: Progress of Theoretical Physics 61.6 (1979), pags. 1605-1616.

[23] J-P Eckmann y David Ruelle. ((Ergodic theory of chaos and strange attractors)). En: Reviewsof modern physics 57.3 (1985), pag. 617.

[24] Alan Wolf y col. ((Determining Lyapunov exponents from a time series)). En: Physica D:Nonlinear Phenomena 16.3 (1985), pags. 285-317.

[25] Masaki Sano y Yasuji Sawada. ((Measurement of the Lyapunov spectrum from a chaotic timeseries)). En: Physical review letters 55.10 (1985), pag. 1082.

[26] Benoit B Mandelbrot. The fractal geometry of nature. Vol. 173. Macmillan, 1983.

[27] Peter Grassberger e Itamar Procaccia. ((Characterization of strange attractors)). En: Physicalreview letters 50.5 (1983), pag. 346.

[28] Neal B Abraham y col. Measures of complexity and chaos. Vol. 208. Springer Science &Business Media, 2013.

[29] MA Kaboudan. ((Diagnosing chaos by a fuzzy classifier)). En: Fuzzy sets and systems 108.1(1999), pags. 1-10.

[30] A Maus y JC Sprott. ((Evaluating Lyapunov exponent spectra with neural networks)). En:Chaos, Solitons & Fractals 51 (2013), pags. 13-21.

[31] RA Edelson y JH Krolik. ((The discrete correlation function-A new method for analyzingunevenly sampled variability data)). En: The Astrophysical Journal 333 (1988), pags. 646-659.

[32] Henry Abarbanel. Analysis of observed chaotic data. Springer Science & Business Media,2012.

[33] J Barrero. Identificacion de caos mediante sistemas de inferencia difusa. Trabajo de clase.Universidad Distrital Francisco Jose de Caldas, 2014.

[34] S Lopez. Diagnostico de caos en series de tiempo usando redes neuronales. Trabajo de clase.Universidad Distrital Francisco Jose de Caldas, 2014.

[35] N Rodriguez. ((Feature relevance estimation by evolving probabilistic dependency networksand weighted Kernel Machines)). Master Thesis. Universidad Distrital Francisco Jose de Cal-das, 2013.

[36] Vito Latora y col. ((The rate of entropy increase at the edge of chaos)). En: Physics Letters A273.1 (2000), pags. 97-103.

[37] Crina Grosan y Ajith Abraham. Intelligent Systems—A Modern Approach, volume 17 ofIntelligent Systems Reference Library. 2011.

76

Page 83: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

[38] Raul Rojas. Neural networks: a systematic introduction. Springer Science & Business Media,2013.

[39] Christopher M Bishop. Neural networks for pattern recognition. Oxford university press, 1995.

[40] David E Goldberg y John H Holland. ((Genetic algorithms and machine learning)). En: Ma-chine learning 3.2 (1988), pags. 95-99.

[41] Melanie Mitchell. An introduction to genetic algorithms. MIT press, 1998.

[42] Eugene Izhikevich. Grassberger-Procaccia algorithm. 2007. url: http://www.scholarpedia.org/article/Grassberger-Procaccia_algorithm.

[43] MathWorks. ode45. 2016. url: https://www.mathworks.com/help/matlab/ref/ode45.html.

[44] Julien Clinton Sprott. Chaos and time-series analysis. Vol. 69. Citeseer, 2003.

[45] J Clint Sprott. ((Some simple chaotic flows)). En: Physical review E 50.2 (1994), R647.

[46] T Vicha y M Dohnal. ((Qualitative feature extractions of chaotic systems)). En: Chaos, Solitons& Fractals 38.2 (2008), pags. 364-373.

[47] Fei Yu y Chunhua Wang. ((Generation of a new three dimension autonomous chaotic attractorand its four wing type)). En: Engineering, Technology & Applied Science Research 3.1 (2012),pp-352.

[48] Zenghui Wang y col. ((A 3-D four-wing attractor and its analysis)). En: Brazilian Journal ofPhysics 39.3 (2009), pags. 547-553.

[49] Guoyuan Qi y col. ((A four-wing chaotic attractor generated from a new 3-D quadratic auto-nomous system)). En: Chaos, Solitons & Fractals 38.3 (2008), pags. 705-721.

[50] Roberto Genesio y Alberto Tesi. ((Harmonic balance methods for the analysis of chaoticdynamics in nonlinear systems)). En: Automatica 28.3 (1992), pags. 531-548.

[51] Dequan Li. ((A three-scroll chaotic attractor)). En: Physics Letters A 372.4 (2008), pags. 387-393.

[52] A Arneodo, PH Coullet y Edward A Spiegel. ((Chaos in a finite macroscopic system)). En:Physics Letters A 92.8 (1982), pags. 369-373.

[53] HPW Gottlieb y JC Sprott. ((Simplest driven conservative chaotic oscillator)). En: PhysicsLetters A 291.6 (2001), pags. 385-388.

[54] MathWorks. Random numbers. 2016. url: https://www.mathworks.com/help/stats/random.html.

[55] Mads Haahr y Svend Haahr. Random.ORG. 1998-2017. url: https://www.random.org/.

[56] Ben D Fulcher, Max A Little y Nick S Jones. ((Highly comparative time-series analysis: theempirical structure of time series and their methods)). En: Journal of The Royal SocietyInterface 10.83 (2013), pag. 20130048.

[57] Ubiratan S Freitas, Christophe Letellier y Luis A Aguirre. ((Failure in distinguishing colorednoise from chaos using the “noise titration” technique)). En: Physical Review E 79.3 (2009),pag. 035201.

[58] Thomas Schreiber y Andreas Schmitz. ((Surrogate time series)). En: Physica D: NonlinearPhenomena 142.3 (2000), pags. 346-382.

[59] J Timmer. ((Power of surrogate data testing with respect to nonstationarity)). En: PhysicalReview E 58.4 (1998), pag. 5153.

77

Page 84: SELECCION DE CARACTER´ ´ISTICAS MEDIANTE UN ALGORITMO …repository.udistrital.edu.co/bitstream/11349/6549/1... · seleccion de caracter´ ´isticas mediante un algoritmo genetico

[60] Weeks Eric. My Adventures in Chaotic Time Series Analysis. 2007. url: http://www.physics.emory.edu/faculty/weeks//research/tseries1.html.

[61] University of East Anglia Climatic Research Unit. NCEP/NCAR Reanalysis. 2017. url:http://www.cru.uea.ac.uk/data/.

[62] Ary L Goldberger y col. ((Physiobank, physiotoolkit, and physionet)). En: Circulation 101.23(2000), e215-e220.

[63] Max Little y col. ((Nonlinear, biophysically-informed speech pathology detection)). En: Acous-tics, Speech and Signal Processing, 2006. ICASSP 2006 Proceedings. 2006 IEEE InternationalConference on. Vol. 2. IEEE. 2006, pags. II-II.

[64] K-I Goh y A-L Barabasi. ((Burstiness and memory in complex systems)). En: EPL (Europhy-sics Letters) 81.4 (2008), pag. 48002.

[65] Chstoph Bandt y Faten Shiha. ((Order patterns in time series)). En: Journal of Time SeriesAnalysis 28.5 (2007), pags. 646-665.

[66] Georges R Harik, Fernando G Lobo y David E Goldberg. ((The compact genetic algorithm)).En: IEEE transactions on evolutionary computation 3.4 (1999), pags. 287-297.

[67] Unknown. Diferentes curvas ROC. 2011. url: https://es.wikipedia.org/wiki/Curva_ROC#/media/File:Curvas.png.

[68] Max A Little y Nick S Jones. ((Sparse Bayesian step-filtering for high-throughput analysis ofmolecular machine dynamics)). En: Acoustics Speech and Signal Processing (ICASSP), 2010IEEE International Conference on. IEEE. 2010, pags. 4162-4165.

[69] Babak Hassibi, David G Stork y Gregory J Wolff. ((Optimal brain surgeon and general net-work pruning)). En: Neural Networks, 1993., IEEE International Conference on. IEEE. 1993,pags. 293-299.

[70] Julien Clinton Sprott. Chaos Data Generator. 2003. url: http://sprott.physics.wisc.edu/cdg.htm.

[71] Julien Clinton Sprott. Random Number Generator. 2003. url: http://sprott.physics.wisc.edu/rng.htm.

78