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
Trabajo de grado
Requisito para optar por el t´ıtulo de Ingeniero Electr´
onico
Jos´e Guillermo Barrero Navas COD: 20101005032
Sharon Stephanie L´opez R´ıos COD: 20101005038
Director:
Miguel Alberto Melgarejo Rey
Profesor Asociado
Nota de aceptaci´
on:
Firma del jurado
Firma del director del trabajo de grado
Agradecimientos
A nuestras familias por su paciencia y apoyo.
Al profesor Miguel Melgarejo por inspirarnos y por guiarnos, desde incluso antes de que naciera
este proyecto.
´Indice general
1. Introducci´
on
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. Soluci´on propuesta . . . .
7
1.4. Contenido del libro . . . .
7
2. Marco de referencia
9
2.1. Sistemas ca´oticos . . . .
9
2.2. Redes neuronales artificiales (RNA)
. . . 10
2.2.1. Generalidades . . . 10
2.3. Algoritmos gen´eticos (AG) . . . 12
2.3.1. Generalidades . . . 12
2.3.2. Estructura general . . . 13
2.4. Algoritmos para identificaci´
on de caos en series de tiempo . . . 14
2.4.1. Estimaci´on de los exponentes de Lyapunov . . . 14
2.4.2. C´
alculo de la dimensi´
on fractal . . . 17
3. Construcci´
on de la base de datos de se˜
nales
19
3.1. Se˜
nales ca´oticas . . . 19
3.1.1. Definici´on de los sistemas de ecuaciones . . . 19
3.1.2. Ilustraci´
on de las se˜
nales obtenidas . . . 30
3.2. Se˜
nales regulares . . . 32
3.2.1. Obtenci´on de las se˜
nales . . . 32
3.2.2. Ilustraci´
on de las se˜
nales obtenidas . . . 38
4. Construcci´
on de la base de datos de caracter´ısticas
39
5. Dise˜
no del algoritmo de selecci´
on de caracter´ısticas
47
5.1. Configuraci´
on del algoritmo gen´etico . . . 47
5.2. Ajustes debido a costo computacional . . . 48
5.2.1. Filtrado de la base de datos . . . 49
5.3. Funci´on de aptitud . . . 50
6. Resultados y experimentos
53
6.1. Resultados del algoritmo de selecci´
on . . . 53
6.2. Descripci´
on de las caracter´ısticas seleccionadas . . . 54
6.2.1. Estad´ısticos b´
asicos . . . 55
6.2.2. Medidas de correlaci´on . . . 55
6.2.3. Operaciones de dominio espec´ıfico . . . 56
6.2.4. Estacionalidad . . . 56
6.2.5. Transformaciones en el dominio del tiempo . . . 59
6.2.6. Medidas de distribuci´
on . . . 61
6.2.7. Entrop´ıa . . . 63
6.2.8. Informaci´on . . . 64
6.2.9. Patrones 2D . . . 64
6.3. Configuraci´
on del sistema final . . . 65
6.3.1. Entrenamiento de la RNA . . . 65
6.3.2. Pruning de la RNA . . . 66
6.3.3. Modelo del sistema final . . . 67
6.4. Experimentos de validaci´
on . . . 67
7. Conclusiones y trabajo futuro
72
7.1. Conclusiones . . . 72
7.2. Aportes originales . . . 73
7.3. Trabajo futuro . . . 74
´Indice de figuras
2.1. Atractor extra˜
no de Chen . . . 10
2.2. Diagrama de una neurona artificial. Tomado de [37] . . . 11
2.3. Ejemplos de funciones de activaci´on. Tomado de [39] . . . 11
2.4. Selecci´
on de los cromosomas padres usando selecci´
on de tipo ruleta. Tomado de [40]
14
2.5. Representaci´on gr´afica de un cruce simple. Tomado de [40] . . . 14
2.6. a) Procedimiento para aproximar
λ
1, b) Procedimiento para aproximar
λ
1+
λ
2.
Tomado de [24] . . . 17
2.7. Grafica log-log para el mapa de Henon. Tomado de [42] . . . 18
3.1. Algunos mapas ca´oticos del cuadro 3.1 en rojo y las se˜
nales con las que se construyen
en azul . . . 30
3.2. Algunos atractores ca´oticos del cuadro 3.2 en rojo y las se˜
nales con las que se
cons-truyen en azul . . . 31
3.3. Vista general de la base de datos de se˜
nales ca´oticas, normalizadas entre 0 y 1. . . . 31
3.4. Algunas se˜
nales de ruido sint´etico del cuadro 3.3 . . . 38
3.5. Algunas se˜
nales de otro tipo del cuadro 3.4 . . . 38
3.6. Vista general de la base de datos de se˜
nales 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 actualizaci´on del vector de probabilidad.
I
1es el individuo ganador,
I
2el perdedor y
p
es el vector de probabilidad . . . 48
5.2. Esquema de la red neuronal . . . 48
5.3. Interpretaciones de la curva ROC. Tomado de [67] . . . 50
5.4. Pseudoc´odigo del algoritmo de selecci´
on implementado . . . 51
6.1. Cambios en el vector de probabilidad a trav´es de las 239 ´epocas . . . 54
6.2. Vector de probabilidad final . . . 54
6.3. Diagrama de la RNA . . . 65
6.4. Curva ROC de la red neuronal seleccionada . . . 65
6.5. Error de entrenamiento y validaci´
on al reducir los par´ametros mediante OBS . . . . 66
6.6. Representaci´on gr´afica del sistema de diagn´
ostico final (SDF) . . . 67
6.7. Algunos resultados del algoritmo Grassberger-Procaccia . . . 70
6.8. Tiempos de ejecuci´on aproximados para los algoritmos SDF y AGP. . . 71
´Indice de cuadros
3.1. Mapas ca´oticos . . . 20
3.2. Flujos ca´oticos . . . 22
3.3. Se˜
nales de ruido sint´etico . . . 33
3.4. Otras se˜
nales . . . 35
4.1. Descripci´
on de la base de datos de caracter´ısticas . . . 41
5.1. Matriz de error . . . 50
5.2. Especificaciones para la RNA de evaluaci´
on de los individuos . . . 52
6.1. Descripci´
on de la m´aquina virtual usada en el proceso de selecci´
on de caracter´ısticas
53
6.2. Especificaciones para RNA final . . . 65
6.3. Cantidad de par´
ametros de la RNA . . . 66
6.4. Puntos de interes luego de OBS . . . 67
6.5. Resultados de los experimentos realizados . . . 68
6.6. Descripci´
on de la m´aquina usada en el proceso de pruebas . . . 69
Cap´ıtulo 1
Introducci´
on
1.1.
Planteamiento del problema
En los a˜
nos 50 el matem´
atico y meteor´
ologo Edward Lorenz empez´o a cuestionar la naturaleza
del clima, que hasta ese momento era caracterizado mediante modelos lineales. En 1963 public´o
su trabajo Deterministic Nonperiodic Flow [1], donde encontr´
o que existen sistemas din´
amicos no
lineales extremadamente sensibles a peque˜
nas variaciones en las condiciones iniciales y que, en caso
de tratarse de un sistema determin´ıstico, su comportamiento no puede ser predicho a menos de que
se conozcan con exactitud estas condiciones iniciales. A estos sistemas, luego se les dio el nombre
de
ca´
oticos
[2].
Seg´
un la definici´
on 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 ca´oticos en varios fen´omenos relacionados
con 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], l´
aseres [17, 18] y sociolog´ıa [19], solo por nombrar algunos.
Simult´aneamente se han desarrollado m´
ultiples elementos para la caracterizaci´
on de caos
tem-poral que han sido usados para describir y analizar todos los fen´omenos anteriormente nombrados.
Varias herramientas te´oricas han surgido con el fin de identificar comportamientos ca´oticos en este
tipo de se˜
nales, como el an´
alisis de los atractores que pueden obtenerse en el espacio de fase[20,
21], en particular con el c´alculo de los exponentes de Lyapunov [22, 23, 24, 25] y el c´alculo de la
dimensi´
on fractal [26], en donde sobresale el algoritmo de Grassberger-Procaccia [27], entre otros.
Estos algoritmos han comprobado ser confiables en datos generados por simulaciones num´ericas,
sin embargo, cuando se trata de datos experimentales, la mayor´ıa de las bases de datos contienen
ruido, o no poseen una tasa de muestreo o cantidad de muestras adecuadas para garantizar la
confiabilidad de los resultados [28].
Existen propuestas en la literatura para la identificaci´
on de caos que directamente involucran
la inteligencia computacional y las t´ecnicas mencionadas anteriormente. En [29] se usa un sistema
difuso que clasifica de acuerdo con dos par´
ametros, el primero detecta el grado de linealidad de la
serie y el segundo el grado de no linealidad haciendo uso de la dimensi´
on de correlaci´on hallada
mediante el algoritmo de Grassberger-Procaccia. En [30] se calculan los exponentes de Lyapunov de
una serie temporal usando el m´etodo de correlaci´on cruzada discreta [31] y una red de 4 neuronas
para identificar y eliminar los exponentes falsos. Aunque los resultados son satisfactorios, estas
t´ecnicas implican una gran cantidad de procesamiento de las se˜
nales antes de ser siquiera puestas
bajo el lente del sistema inteligente.
Los autores replicaron el trabajo propuesto en [29], usando tanto un sistema de inferencia difusa
como una red neuronal. Se calcularon la dimensi´
on de correlaci´on y el coeficiente de determinaci´
on,
sin embargo, es en el c´alculo de la dimensi´
on de correlaci´on en donde los autores encontraron un
gran costo computacional debido a la complejidad del proceso. En primer lugar es necesario hallar el
retraso adecuado para la correcta inserci´
on de la se˜
nal en varias dimensiones, mediante el c´alculo de
la Informaci´on Mutua Promedio (AMI) [32]. Luego se debe insertar la se˜
nal en varias dimensiones,
teniendo en cuenta el resultado anterior y de acuerdo con el teorema de Takens [20]. Finalmente
se halla una medida aproximada de la integral de correlaci´on para cada una de las 10 dimensiones
exploradas siguiendo el algoritmo de Grassberger-Procaccia [27]. De acuerdo con el cambio de la
dimensi´
on de correlaci´on a medida que se aumenta la dimensi´
on de inserci´
on, se puede determinar
el tipo de sistema del que la se˜
nal proviene. Por esto tambi´en es necesario realizar un an´
alisis
de tendencia en los valores de dimensi´
on de correlaci´on obtenidos. Este proceso arrojo resultados
considerablemente buenos cuando se trataba de series de tiempo sint´eticas, pero los resultados
fueron ambiguos a la hora de someter al proceso se˜
nales 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: ¿C´
omo se seleccionar´ıan los par´
ametros de entrada de un sistema clasificador
de manera que ´este permita diagnosticar la presencia de comportamientos ca´oticos en se˜
nales
ex-perimentales? Se espera que la soluci´on a este interrogante lleve a la obtenci´
on de una herramienta
capaz 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 an´
alisis de
sistemas no lineales, as´ı como en los prop´ositos de investigaci´on del Laboratorio de Autom´
atica e
Inteligencia Computacional (LAMIC) de la Universidad Distrital Francisco Jos´e de Caldas.
1.2.
Objetivos
1.2.1.
Objetivo general
Desarrollar un algoritmo gen´etico para la selecci´
on de los par´
ametros de entrada a una red
neuronal que permita la detecci´
on de caos en series temporales.
1.2.2.
Objetivos espec´ıficos
Crear una base de datos que contenga por lo menos 200 se˜
nales, tanto sint´eticas como
expe-rimentales, provenientes de diversos sistemas din´
amicos (lineales, no lineales no ca´oticos y no
lineales ca´oticos).
Proponer un conjunto de por lo menos 20 estad´ısticos que permitan caracterizar las se˜
nales
de la base de datos.
Procesar la base de datos calculando los par´
ametros conseguidos para cada una de las se˜
nales
contenidas en ella.
Implementar una arquitectura, que involucre un algoritmo gen´etico y una red neuronal, para
la selecci´
on de par´
ametros.
Validar el clasificador obtenido por medio de experimentos sobre una base de datos de
vali-daci´
on.
1.3.
Soluci´
on propuesta
En este trabajo se propone un sistema de diagn´
ostico de caos en se˜
nales basado en el c´alculo
de una serie de caracter´ısticas y una red neuronal simple. Para lograr el modelo final se siguieron
los pasos enunciados a continuaci´
on:
Se construy´o una base de datos de se˜
nales con 200 se˜
nales provenientes de sistemas ca´oticos
sint´eticos y 140 se˜
nales ordinarias, con 10000 muestras cada una. Luego se calcularon 1452 par´
ame-tros de todo tipo para cada una de las 340 se˜
nales. Para eliminar informaci´on redundante se realiz´
o
un filtro de correlaci´on lineal en la base de datos de caracter´ısticas. Una vez obtenida la base de
datos con una cantidad reducida de caracter´ısticas (351) que describen cada una de las se˜
nales, se
realiz´o la selecci´
on de estas caracter´ısticas mediante un algoritmo gen´etico.
Los cromosomas usados en el algoritmo gen´etico tienen una longitud igual al n´
umero de
carac-ter´ısticas, de manera que el alelo correspondiente a cada caracter´ıstica es 1 (se tiene en cuenta en
la clasificaci´
on) o 0 (no se tiene en cuenta). Entonces, cada unos de los cromosomas generados por
el algoritmo gen´etico provee una combinaci´on diferente de caracter´ısticas a tener en cuenta en el
problema de clasificaci´
on.
Luego de m´
ultiples iteraciones, el algoritmo gen´etico permiti´
o identificar aquellas caracter´ısticas
que aportan m´as a la tarea de clasificaci´
on. La red entrenada para esta combinaci´on en particular
es el clasificador final.
1.4.
Contenido del libro
En el cap´ıtulo dos se ahonda en los conceptos generales necesarios para el entendimiento de este
proyecto tales como redes neuronales y algoritmos gen´eticos. Se hace una s´ıntesis general sobre la
base de la teor´ıa del caos y se describen varios procesos usados actualmente para la estimaci´
on de
coeficientes que permiten detectar caoticidad en series de tiempo.
En el cap´ıtulo tres se describe el proceso de construcci´on de la base de datos de se˜
nales. Para las
se˜
nales ca´oticas se presentan las ecuaciones de cada uno de los sistemas usados, con las condiciones
iniciales y parametros necesarios para que el sistema se comporte de forma ca´otica. Para el caso de
las se˜
nales no ca´oticas, se presenta una breve descripci´
on de la se˜
nal.
En el cap´ıtulo cuatro se describe el proceso de construcci´on de la base de datos de
caracter´ısti-cas, esto es, el conjunto de estad´ısticos que permiten caracterizar una se˜
nal para clasificarla. Los
estad´ısticos se dividen en varios grupos y a su vez cada estad´ıstico puede ser calculado con varios
par´
ametros distintos. Se presenta una breve descripci´
on de cada estad´ıstico y se describe el proceso
de normalizaci´on de la base de datos. Se describe el dise˜
no de un filtro de correlaci´on que permiti´
o
eliminar se˜
nales altamente correlacionadas entre s´ı.
En el cap´ıtulo cinco se describe el proceso de dise˜
no del algoritmo de selecci´
on de caracter´ısticas,
se habla de c´omo se realiz´o la integraci´
on del algoritmo gen´etico con las redes neuronales artificiales,
y espec´ıficamente de c´omo se dise˜
n´
o y parametriz´o el algoritmo gen´etico compacto para el problema
de clasificaci´
on binario. Se hace ´enfasis en los problemas relacionados con el costo computacional
que supone el proceso de clasificaci´
on y en como afectaron la implementaci´on del algoritmo final.
En el cap´ıtulo seis se analizan los resultados del algoritmo de selecci´
on, se compara la
efectivi-dad y la rapidez que proporciona el clasificador final contra los m´etodos tratados en el marco de
referencia y se concluye sobre las caracter´ısticas seleccionadas en el problema de selecci´
on de caos.
Finalmente, en el capitulo siete se concluye sobre el trabajo desarrollado y se proponen algunos
trabajos futuros.
Cap´ıtulo 2
Marco de referencia
2.1.
Sistemas ca´
oticos
El caos es una caracter´ıstica de sistemas din´
amicos no lineales que describe un comportamiento
irregular e inestable pero que a la vez posee una estructura “ordenada” en el espacio de fase. Muchas
veces es confundido con ruido por tener un espectro de potencia de banda ancha. Por esto el an´
alisis
de Fourier, como otras herramientas lineales, no aportan suficiente informaci´on y ha sido necesario
el desarrollo de otras herramientas para el an´
alisis de este tipo de sistemas.
El sistema ca´otico evoluciona describiendo orbitas extra˜
nas confinadas en una porci´on del
espa-cio de fase. Estas trayectorias presentan sensibilidad a las condiespa-ciones iniciales del sistema, causando
que dos puntos o estados iniciales infinitesimalmente cercanos en el espacio de fase evolucionen en
trayectorias totalmente distintas que se separan exponencialmente una de la otra [32].
Suponiendo que se tiene una resoluci´on limitada en el espacio de fase para un sistema inestable,
donde dicha resoluci´on est´
a dada por una hiperesfera de radio R, es decir que dos estados
x
1(
t
) y
x
2(
t
) contenidos en esta son indistinguibles para el observador en el instante de tiempo
t
0. En un
tiempo
t
0despu´es, la distancia entre los puntos habr´a crecido de acuerdo a la siguiente relaci´
on,
para al menos una de las variables de estado establecidas para el sistema [32]:
|
x
1(
t
0)
−
x
2(
t
0)
| ≈ |
x
1(
t
0)
−
x
2(
t
0)
|
e
λ|t 0−t0|, λ >
0
(2.1)
Esto significa que el observador solo presenciaba una trayectoria dentro de la hiperesfera de
radio R y luego del periodo de tiempo
t
0puede distinguir que exist´ıan dos trayectorias dentro de
dicha hiperesfera. Lo anterior deja en evidencia la relaci´on que existe entre el caos y la producci´on
de informaci´on que puede ser medida en t´erminos de entrop´ıa (entrop´ıa de Kolmogorov - Sinai)
[36]. Esta propiedad hace que los sistemas ca´oticos sean poco predecibles a largo plazo, aun as´ı, es
posible calcular un horizonte de predictibilidad dentro del cual se puede estimar el comportamiento
del sistema[
.
]
Un sistema din´
amico tiene tantos exponentes de Lyapunov (
λ
) [22] como variables de estado
o dimensiones. Si por lo menos uno de ´estos es positivo el sistema es inestable. Entonces, en un
sistema ca´otico se tiene por lo menos un exponente positivo que lleva a un estiramiento de las
Figura 2.2: Diagrama de una neurona artificial. Tomado de [37]
Una funci´on de activaci´on
f
que determina el nuevo nivel de activaci´on basado en la entrada
X
iy el estado de activaci´on actual
Y
i. Algunos tipos se muestran en la figura 2.3.Una entrada externa
θ
i, conocida tambi´en como
bias, para cada neurona.
Un m´etodo para recopilar informaci´on llamada
regla de aprendizaje.
Un ambiente en el cual cada sistema opera, que provee se˜
nales de entrada y si es necesario
se˜
nales de error.
Las neuronas reciben entradas de sus vecinos o de fuentes externas, que son usadas para calcular
el valor de la salida, as´ı [38]:
Y
i=
f
(
n
) =
f
(
NX
i=1
[(
X
i∗
W
i) +θ
i])(2.2)
Figura 2.3: Ejemplos de funciones de activaci´on. Tomado de [39]
Para dise˜
nar una red se debe establecer la forma en que las unidades procesadoras se conectan
entre s´ı. Para esto se han propuesto varias estructuras de redes en la literatura siendo lo m´as usual
disponer las neuronas en forma de capas. Aunque, en un principio se plantearon redes que constaban
de una sola capa, en la actualidad es recurrente el uso de tres o m´as. La primera capa act´
ua como
un regulador de entrada almacenando la informaci´on bruta suministrada a la red o realizando un
sencillo pre-proceso de la misma, se conoce como
capa de entrada. Otra capa act´
ua como regulador
de salida, almacenando la respuesta de la red para que pueda ser le´ıda, se llama
capa de salida. Las
capas intermedias, principales encargadas de procesar y memorizar la informaci´on, se denominan
capas ocultas.
Adem´as del n´
umero de capas es importante definir la forma en que las capas se conectan entre
s´ı, se habla generalmente de dos topolog´ıas de red:
Redes recurrentes:
la informaci´on 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 consigo
misma.
Redes no recurrentes o redes en cascada:
La informaci´on fluye unidireccionalmente de una
capa a otra (desde la capa de entrada a las capas ocultas y de ´estas a la capa de salida), y
adem´as, no se admiten conexiones entrecapa.
Las conexiones entre una capa y otra pueden ser totales, es decir, que cada unidad se conecta
con todas las unidades de la capa siguiente, o parciales, en las cuales una unidad se conecta con
s´olo algunas de las capas de la unidad siguiente, generalmente siguiendo alg´
un patr´
on aleatorio o
pseudo-aleatorio [39].
Las caracter´ısticas de las ANNs las hacen bastante apropiadas para aplicaciones hacia problemas
en los que no se dispone a priori de un modelo que pueda ser programado, pero se dispone de un
conjunto de ejemplos de entrada que proporcionen a la red un patr´
on para adaptarse. Asimismo,
son altamente robustas al ruido y son f´acilmente paralelizables [38].
2.3.
Algoritmos gen´
eticos (AG)
2.3.1.
Generalidades
Los
algoritmos gen´eticos
nacen en los a˜
nos sesenta, desarrollados por John Holland en la
Uni-versidad de Michigan, inspirados en los procesos evolutivos presentes en la naturaleza y su base
gen´etico-molecular. Surgen con dos prop´ositos generales: solucionar problemas computacionales y
como 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 gen´eticas
y las soluciones deseadas son organismos altamente adaptados. En los GAs, el cromosoma hace
referencia a una soluci´on candidata, que generalmente tiene la forma de una cadena de bits donde
cada posici´
on tiene dos posibles alelos: 0 o 1. Entonces, el espacio de b´
usqueda est´
a conformado
por todas las posibles soluciones o, en este caso, combinaciones gen´eticas [41].
Los AGs surgieron con el prop´osito de hacer una b´
usqueda amplia sobre el espacio de soluciones
mediante la exploraci´
on en paralelo con lo cual se corre un menor riesgo de caer en m´ınimos locales
como en otros algoritmos de optimizaci´on, aun as´ı, entre m´
as m´ınimos locales tenga la funci´
on a
optimizar se requerir´an m´as iteraciones del algoritmo para alcanzar el m´ınimo global, y adem´as,
si existen varios m´ınimos locales cercanos al m´ınimo global aumenta la probabilidad de que el
algoritmo no converja al m´ınimo global [40].
Los AGs se diferencian de otros algoritmos de optimizaci´on y/o b´
usqueda, en los siguientes
aspectos [40]:
Trabajan con una codificaci´on de los par´
ametros y no con los par´
ametros directamente.
Buscan sobre un conjunto de puntos simult´aneamente y no sobre un solo punto.
Usan la funci´on objetivo ´
unicamente como medida de aptitud, no las derivadas ni otro tipo
de informaci´on.
Usan reglas basadas en probabilidad, es decir, no son determin´ısticas.
2.3.2.
Estructura general
El AG m´as simple consta de los siguientes pasos soluciones o, en este caso, combinaciones
gen´eticas [41]:
1. Iniciar con una poblaci´
on generada aleatoriamente de
n
cromosomas de tama˜
no
l
.
2. Calcular la
funci´
on de aptitud
para todos los individuos. La aptitud o fitness indica que tan
buena soluci´on resulta un cromosoma en particular para el problema.
3. La creaci´on de la descendencia se realiza hasta lograr una nueva poblaci´
on del mismo tama˜
no
n
de la poblaci´
on inicial, de acuerdo con las siguientes etapas:
a) Selecci´
on: Seleccionar un par de cromosomas padres en la poblaci´
on actual. La
probabi-lidad de que un cromosoma sea seleccionado en esta etapa aumenta si su aptitud result´
o
alta en el paso 2. Los mecanismos de selecci´
on m´as usados son [37]:
i
Torneo:
se seleccionan dos individuos al azar y se conserva en un conjunto separado
el mejor de estos. El procedimiento se realiza hasta tener solo dos individuos.
ii
Proporcional:
donde la probabilidad de selecci´
on depende de la aptitud absoluta del
individuo seleccionado comparada con la aptitud absoluta del resto de la poblaci´
on.
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 funci´
on de su aptitud. Luego se genera
un n´
umero al azar y el individuo en la ranura con ese n´
umero es seleccionado. Un
ejemplo se muestra en la figura 2.4.
iv
Rango:
la poblaci´
on es organizada de acuerdo con los valores de la funci´
on de aptitud
para cada individuo.
b) Cruce: De acuerdo con la probabilidad de cruce establecida, se selecciona aleatoriamente
una posici´
on desde donde se combinan los dos padres, produciendo dos descendientes
como se muestra en la figura 6. En algunos algoritmos el proceso de cruce se omite y los
dos descendientes son id´enticos a sus padres.
Figura 2.4: Selecci´
on de los cromosomas padres usando selecci´
on de tipo ruleta. Tomado de [40]
c) Mutaci´
on: Para los dos descendientes, mutar cada alelo, de acuerdo con la
probabili-dad de mutaci´
on establecida. Los dos cromosomas resultantes son ubicados en la nueva
poblaci´
on. Esto sirve para explorar el espacio de b´
usqueda de una manera m´as amplia
4. La nueva poblaci´
on es configurada como la poblaci´
on inicial.
5. Repetir desde el paso 2.
Figura 2.5: Representaci´on gr´afica de un cruce simple. Tomado de [40]
Cabe resaltar que la anterior es la estructura general de un AG. Existen m´
ultiples variaciones
que pueden hacer el procedimiento m´as efectivo para un problema espec´ıfico como, por ejemplo,
cambios en el tama˜
no de la poblaci´
on o el valor de las diferentes probabilidades involucradas as´ı
como diferentes m´etodos de cruce y mutaci´
on.
2.4.
Algoritmos para identificaci´
on de caos en series de tiempo
2.4.1.
Estimaci´
on de los exponentes de Lyapunov
Dado un sistema din´
amico continuo en un espacio de n dimensiones, se monitorea la evoluci´
on a
largo plazo de una n-esfera de condiciones iniciales. La n-esfera se convertir´
a en un n-elipsoide debido
a la naturaleza del flujo. Entonces, el exponente i-´esimo de Lyapunov (el espectro de exponentes esta
ordenado de mayor a menor), se define en t´erminos de la longitud del eje principal del n-elipsoide
p
i(t
) as´ı [24]:
λ
i= l´ım
x→∞1
t
log
2p
i(
t
)
p
i(0)(2.3)
Como se explic´o en la secci´
on
2.1, los exponentes de Lyapunov est´
an fuertemente relacionados
con la sensibilidad de un sistema a las condiciones iniciales y la forma en que se contrae o expande
el diagrama de fase del sistema din´
amico.
En la literatura se encuentra gran cantidad de algoritmos para la estimaci´
on de los exponentes
de Lyapunov. Sin embargo la mayor´ıa de estos m´etodos son variaciones de tres enfoques previos
[23],[24], [25].
Los algoritmos desarrollados en [23],[25] permiten la estimaci´
on del espectro entero de
expo-nentes de Lyapunov, bas´
andose en el c´alculo de la matriz jacobiana.
Teniendo una serie de tiempo
x
0, x
1, ..., x
T−1,
, donde T es el n´
umero total de datos, se escoge
una dimensi´
on de inserci´
on
d
Ey se reconstruye el espacio de fase usando el teorema de Takens [20],
as´ı:
x
t:= (
x
t, x
t+1, ..., x
t+dE−1)
(2.4)
Luego es necesario encontrar los vecinos de
x
t, es decir, los puntosx
tde la ´
orbita que est´
an
contenidos en la
-vecindad centrada en
x
t:k
x
T−
x
tk ≤
(2.5)
Entonces definimos
y
i, como el desplazamiento entre los vectoresx
(k
i) yx
j. Luego de un
inter-valo de tiempo m, el punto
x
jse convertir´
a en
x
(j
+
m
) y los puntos vecinos
x
(k
i) se convertir´
an
en
x
(k
i+
m
). El desplazamiento entre estos nuevos vectores es
z
i.y
i:=
x
ki−
x
j,
k
x
ki−
x
jk ≤
(2.6)
z
i:=
x
ki+m−
x
j+m,
k
x
ki−
x
jk ≤
(2.7)
Si el radio
es lo suficientemente peque˜
no para que los vectores de desplazamiento
y
iy
z
isean
considerados buenos aproximadores de los vectores tangentes en el espacio tangente, la evoluci´
on
de
y
ia
z
ise puede representar por la matriz
A
j, as´ı:z
i=
A
jY
i(2.8)
Donde la matriz
A
jes una aproximaci´
on del flujo del mapa en
x
j. Ahora es necesario encontrar
la mejor estimaci´
on para
A
jpartiendo de los conjuntos de datos
y
iy
z
i. Se usa el algoritmo de error
de m´ınimos cuadrados, el cual minimiza el error cuadrado promedio entre
z
iy
A
jy
icon respecto a
todos los componentes del la matriz, as´ı:
m´ın
Denotando el componente de la matriz
A
jen la posici´
on (k,l) como
A
kl(j
) y aplicando la
condici´on de la ecuaci´on, se obtienen dxd ecuaciones para resolver de la forma:
∂S
∂A
kl(j
)
= 0
(2.10)
Entonces, se escribe
A
jV
=
C
, donde las matrices V y C est´
an dadas por las ecuaciones (11) y
(12), respectivamente.
V y C son matrices de tama˜
no dxd y son llamadas matrices de covarianza.
y
iky
z
ikson los
componentes en la posici´
on
k
de los vectores
y
iy
y
i, respectivamente. Si
N
≥
d
no hay degeneraci´
on
y
A
(j
)
V
=
C
tiene soluci´on y los exponentes de Lyapunov pueden ser calculados siguiendo (13).
λ
i=
el procedimiento num´erico se selecciona un conjunto (
e
i)
jarbitrario. Se realiza el producto
A
j(
e
i)
jy se normaliza para que tenga tama˜
no 1. Usando el algoritmo de Gram-Schmidt se mantiene la
ortogonalidad mutua de la base. Se repite este procedimiento por
n
iteraciones.
Por otro lado, en [24] se propone un algoritmo con un enfoque geom´etrico que puede detectar
caos en datos experimentales mediante la estimaci´
on de los primeros exponentes de Lyapunov no
negativos. Sin embargo, los procedimientos requieren una cantidad razonable de datos sin ruido y
el atractor resultante no debe ser de dimensi´
on muy alta, ya que la cantidad de datos requeridos
aumenta exponencialmente con la dimensi´
on del atractor.
Este procedimiento involucra examinar la divergencia de las orbitas del atractor reconstruido,
mediante el teorema de Takens [20].
Para determinar una estimaci´
on de
λ
1, se escogen dos puntos cuya separaci´
on temporal en la
serie de tiempo original sea al menos un periodo orbital promedio. Estos puntos definen el primer
estado, debido a que su separaci´
on espacial es muy peque˜
na. Cuando su separaci´
on se vuelva mayor
se selecciona un nuevo punto cerca de la trayectoria de referencia. El procedimiento se repite hasta
pares de puntos cuya distancia es menor que
r
, as´ı:
C
(
r
) =
2
N
(
N
−
1)
X
i<j
θ
(
r
− k
x
i−
x
jk
)
(2.15)
θ
(
x
) representa la funci´
on escal´
on de Heaviside, es decir cuando
r
− k
x
i−
x
jk ≥
0 la funci´
on
tiene un valor igual a la unidad, en caso contrario la funci´
on vale cero. El valor de
C
(
r
) decrece de
acuerdo con la ley de potencia conforme
r
tiende a cero. Entonces se puede decir que:
C
(
r, m
)
≈
r
D(2.16)
Donde
D
representa la dimensi´
on de correlaci´
on. Formalmente,
D
se expresa de la siguiente
manera:
D
= l´ım
r→0log
C
(
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 estimaci´
on de
D
, mediante la inserci´
on de
la serie de tiempo en diferentes dimensiones usando el teorema de Takens [20]. Para cada dimensi´
on
de inserci´
on
m
, se calcula el valor de
C
(
r, m
), luego se grafica
C
(
r, m
) contra
r
en ejes log-log, de
manera que el valor de la pendiente de la curva resulta ser
D
.
Este m´etodo distingue entre series de tiempo estoc´asticas y ca´oticas determin´ısticas, ya que para
una se˜
nal estoc´astica la pendiente de la curva es aproximadamente igual a la dimensi´
on de inserci´
on
para cualquier
m, es decir
C
(
r, m
)
≈
r
m. Por otro lado, para un sistema ca´otico la pendiente de la
curva es aproximadamente
D, para cualquier m mayor a la dimensi´
on verdadera del sistema, es decir
C
(
r, m
)
≈
r
D. Como se puede apreciar en la figura 2.7, para el mapa de Henon, que es un sistema
ca´otico conocido, para
m
≥
2, la pendiente de las curvas es casi la misma y es aproximadamente
1.21.
Cap´ıtulo 3
Construcci´
on de la base de datos de
se˜
nales
3.1.
Se˜
nales ca´
oticas
3.1.1.
Definici´
on de los sistemas de ecuaciones
Para la obtenci´
on de esta porci´on de la base de datos se busc´
o en la literatura sistemas de
ecuaciones que describieran comportamientos ca´oticos, de manera que se pudieran sintetizar las
se˜
nales correspondientes usando MATLAB
R. De esta manera se logr´o obtener 200 se˜
nales ca´oticas.
Los sistemas usados se detallan en los cuadros 3.1 y 3.2. En ambos casos se generaron series de 11
000 muestras, y se eliminaron las 1 000 primeras, de manera que los vectores correspondientes a
cada se˜
nal tienen una longitud de 10 000 muestras. Este procedimiento se realiz´
o debido a que los
sistemas ca´oticos tardan cierto tiempo para lograr estar contenidos dentro del atractor.
Los mapas, correspondientes al cuadro 3.1, son funciones iterativas. El valor de la se˜
nal en el
instante
n
+ 1 se obtiene calculando determinada funci´
on sobre el valor de la se˜
nal en el instante
n
.
La gran mayor´ıa de los mapas usados est´
an definidos por una ´
unica ecuaci´on. Para aquellos casos
en los que se tiene mas de una ecuaci´on y en donde una de las variables tiene una relaci´
on lineal
con otra, solo se tuvo en cuenta una de las se˜
nales.
Los flujos, correspondientes al cuadro 3.2, son sistemas de ecuaciones diferenciales para los
cuales se han identificado comportamientos ca´oticos. En la mayor´ıa de los casos usados se describen
sistemas de 3 ecuaciones. La s´ıntesis de las se˜
nales a partir de estas ecuaciones se realiz´
o usando
la funci´
on
ode
45 que es uno de los m´odulos que ofrece MATLAB
Rpara la soluci´on de sistemas de
ecuaciones de la forma
y
0=
f
(
t, y
) [43].
Algunos de los sistemas ca´oticos descritos en esta secci´
on son modelos reales de fen´omenos 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 variaci´on de par´
ametros al azar en busqueda de caos.
Es por esto que en este trabajo se opt´
o por generalizar la nomenclatura de las constantes as´ı:
p
n. Los
valores de
p
ny las condiciones iniciales usadas para cada sistema se definen en la quinta columna
de los cuadros.
Cuadro 3.1: Mapas ca´oticos
Tipo Nombre del sistema Ecuaciones Posici´on Condiciones
Tipo Nombre del sistema Ecuaciones Posici´on Condiciones
Tipo Nombre del sistema Ecuaciones Posici´on Condiciones
Tipo Nombre del sistema Ecuaciones Posici´on Condiciones
Linear feedback rigid body motion system
Tipo Nombre del sistema Ecuaciones Posici´on Condiciones
[44] Simplest piecewise linear chaotic flow
3.1.2.
Ilustraci´
on de las se˜
nales obtenidas
(a) Mapa de ruido gaussiano blanco y se˜nal 72 (1 000 muestras iniciales).
(b) Mapa de galleta de jengibre y se˜nal 76 (1 000 muestras iniciales).
(c) Mapa de Tinkerbell y se˜nales 188 y 189 (1 000 muestras iniciales).
(d) Mapa de Ikeda y se˜nales 91 y 92 (1 000 muestras iniciales).
Figura 3.1: Algunos mapas ca´oticos del cuadro 3.1 en rojo y las se˜
nales con las que se construyen
en azul
(a) Atractor del brusselator forzado y se˜nales 66 y 67.
(b) Atractor ACT y se˜nales 4, 5 y 6
(c) Atractor de doble giro y se˜nales 51, 52 y 53
Figura 3.2: Algunos atractores ca´oticos del cuadro 3.2 en rojo y las se˜
nales con las que se construyen
en azul
Figura 3.3: Vista general de la base de datos de se˜
nales ca´oticas, normalizadas entre 0 y 1.
3.2.
Se˜
nales regulares
3.2.1.
Obtenci´
on de las se˜
nales
El gran reto de la identificaci´
on de caos en se˜
nales de tiempo esta en diferenciar el caos del ruido.
Es por esto que en esta secci´
on se presto especial inter´es en lograr una recopilaci´
on de diversos tipos
de ruido. Luego se a˜
nadieron otras se˜
nales comunes. Con esto se logr´o obtener una recopilaci´
on de
140 se˜
nales no ca´oticas, que se detallan en los cuadros 3.3 y 3.4, respectivamente.
Las se˜
nales de ruido se sintetizaron de acuerdo a 27 distribuciones de probabilidad diferentes y
utilizando las funciones de MATLAB
R[54] que se listan en la tercera columna del cuadro 3.3. Se
sintetizaron dos se˜
nales diferentes para cada distribuci´
on, cambiando en cada caso los par´
ametros
requeridos. Para cada se˜
nal los par´
ametros seleccionados se enuncian en la quinta columna del
cuadro 3.3. Las dos ´
ultimas se˜
nales de ruido fueron obtenidas usando un generador de n´
umeros
true random
[55].
En el cuadro 3.4 se listan las dem´
as se˜
nales utilizadas. Se describe cada una de estas y las
condiciones bajo las cuales se obtuvieron. Las se˜
nales no citadas fueron construidas por los autores
de este trabajo. A excepci´
on de True Random y Random Walk las dem´
as se˜
nales presentadas en
este cuadro fueron extraidas directamente de [56], sin embargo se menciona para mayor claridad la
fuente que inspir´o al autor para la construcci´on de cada una de ellas.
Es importante anotar que al igual que las se˜
nales descritas en la secci´
on anterior, las se˜
nales
regulares tambi´en tienen 10 000 muestras.
Cuadro 3.3: Se˜
nales de ruido sint´etico
Tipo Distribuci´on Funci´on MATLABR
Tipo Distribuci´on Funci´on MATLABR Rayleigh raylrnd 35 B= 1 36 B = 10 Poisson poissrnd 51 λ= 10
52 λ= 100 Discrete Uniform unidrnd 53 N = 100
54 N = 1000
Cuadro 3.4: Otras se˜
nales
Nombre Descripci´on Posici´on Condiciones
True Random[55] Se˜nales provenientes de ruido atmosf´erico real 55 - 56 Freitas nonlinear filter[57]
Una se˜nal de ruido uniformexn se pasa por un filtro
de promedio m´ovil de la formay[n] =ax[n] +bx[n− polinomio de orden 2 a 5, una funci´on exponencial o una sinusoide.
60 - 79 α= [−0,9;−0,5;−0,1; 0,1; 0,5; 0,9]
Nonstationary AR[59]
La ecuaci´on generadora es:
x[n] =ai[n]x[n−1] +a2[n]x[n−2] +a3[n].
En el primer modo, los coeficientes son constantes
a1 = 2cos(2π/T)e−1/τ y a2 =−e−2/τ. La serie
re-sultante es estacionaria.
En el segundo modo se a˜naden no estacionalidades peri´odicas moduladas en amplitud.
xamp[n] = (1 +µampsin(2π/Tmodn))x0[n]
En el tercer modo se usa un proceso autoregresivo modulado en periodo, que tiene la misma forma del primer modelo con a1 = 2cos(2π/T[n])e−1/τ donde
Periodic experiment[60] La serie de tiempo corresponde a una medida de
ve-locidad tomada con un anem´ometro de hilo caliente. 83 Air pressure[61]
La serie de tiempo corresponde a las medidas de pre-si´on del aire tomada con un bar´ometro durante un d´ıa en determinado lugar de la Tierra.
84
Air temperature[61]
La serie de tiempo corresponde a una medida de la temperatura del aire durante un d´ıa en determinado lugar de la Tierra.
85
Rain rate[61]
La serie de tiempo corresponde a una medida de la tasa de lluvia durante un mes en determinado lugar de la Tierra.
86
Text[56]
La serie de tiempo corresponde a una medida de la cantidad de caracteres de cada oraci´on en alg´un texto popular.
87 - 88
Nombre Descripci´on Posici´on Condiciones
Se generan dos series iniciales de la misma longitud y diferentes correlaciones. Se dividen las series origi-nales (se˜nales estacionarias) enNmax/W segmentos
no solapados, de tama˜no W. Luego se seleccionan algunos segmentos de la serie 1 aleatoriamente y se remplazan con los segmentos correspondientes de la serie 2.
108 - 110
Nombre Descripci´on Posici´on Condiciones
Different local standard deviation[62]
La serie original tiene σ1 = 1. Se divide la serie
original (se˜nal estacionaria) en Nmax/W segmentos
no solapados, de tama˜no W. Luego se seleccionan algunos aleatoriamente y se aumenta la desviaci´on est´andar de estos a σ2. Finalmente se normaliza la
serie completa dividiendo cada puntop de la se˜nal
p
(1−p)σ2
1+pσ22.
111 - 114
Discontinuities[62]
Se divide la serie original (se˜nal estacionaria) en
Nmax/W segmentos no solapados, de tama˜no W.
Luego se eliminan algunos aleatoriamente y se unen los 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 superposici´on de ruido correlacionado
y tendencia potencial. 122 - 123 Sinusoidal trends[62] La serie es una superposici´on de ruido correlacionado
y 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 tres una se˜nal true random
3.2.2.
Ilustraci´
on de las se˜
nales obtenidas
(a) Se˜nal 1, ruido con distribu-ci´on Beta
(b) Se˜nal 16, ruido con distribu-ci´on Gamma
(c) Se˜nal 51, ruido con distribu-ci´on Poisson
Figura 3.4: Algunas se˜
nales de ruido sint´etico del cuadro 3.3
(a) Se˜nal 80, modelo AR no es-tacionario
(b) Se˜nal 93, producto de senos 5
(c) Se˜nal 130, caminata aleato-ria
Figura 3.5: Algunas se˜
nales de otro tipo del cuadro 3.4
Figura 3.6: Vista general de la base de datos de se˜
nales regulares, normalizadas entre 0 y 1.
Cap´ıtulo 4
Construcci´
on de la base de datos de
caracter´ısticas
El objetivo del conjunto de caracter´ısticas es lograr la descripci´on completa de cada una de las se˜nales de la base de datos descrita en el capitulo 3. Es importante contar con suficientes caracteristicas de manera que el algoritmo de selecci´on tenga un espacio de busqueda lo suficientemente grande y se pueda determinar cuales de ellas aportan o no informaci´on para la identificaci´on de caos. A continuaci´on se describen de forma general las 1 452 caracter´ısticas calculadas sobre cada una de las 340 se˜nales enunciadas en la secci´on anterior. Las caracter´ısticas citadas en el cuadro 4.1 fueron implementadas por los autores de este trabajo. En los dem´as casos, los c´odigos de MATLABR
usados para calcular las caracter´ısticas hacen parte del trabajo desarrollado en [56] y fueron utilizados y editados bajo autorizaci´on del autor.
En la figura 4.1 se puede apreciar una representaci´on gr´afica de la base de datos de caracter´ısticas. En el eje x se tienen las 340 se˜nales y en el eje y las 1 452 caracter´ısticas. Cabe recordar que las primeras 200 se˜nales corresponden a caos y las otras 140 son se˜nales de otro tipo. En esta figura es facil visualizar ciertas particularidades de las caracter´ısticas. Por ejemplo, se puede notar que los valores de las primeras 100 caracter´ısticas son notablemente bajas para la se˜nales de ruido, que estan ubicadas en las posiciones 200 - 256 del eje x, en comparaci´on con el resto de las se˜nales. Otras caracter´ısticas entre la 1 000 y la 1 452 tambi´en cambian de valor considerablemente para las mismas se˜nales de ruido. Es por esto que a priori, podria decirse que la diferenciaci´on entre ruido y caos es sencilla, si se tienen en cuenta las caracter´ısticas antes mencionadas.
De acuerdo con la figura tambi´en se pueden ver secciones de caracter´ısticas que no varian considera-blemente al cambiar el tipo de se˜nal, por ejemplo entre las caracter´ısticas 550 - 1 000, aproximadamente. Si el valor de la se˜nal es siempre el mismo, o la variaci´on es muy peque˜na entre se˜nal y se˜nal, la cantidad de informaci´on que estan aportando de acuerdo al problema planteado es m´ınima, por lo que es altamente probable que el algoritmo de selecci´on a desarrollar no tenga en cuenta las caracter´ısticas de estas secciones.
Figura 4.1: Vista general de la base de datos de caracter´ısticas, normalizadas entre 0 y 1.
Cuadro 4.1: Descripci´
on de la base de datos de caracter´ısticas
Grupo N´par´umero deametros Nombre Descripci´on
E
1 Crinkle Calcula elestad´ıstico de Crinkle de Theiler de la serie de tiempo.
5 Der change
Esta operaci´on retorna un estad´ıstico de como varia la desviaci´on est´andar de la derivada de la serie de tiempo a medida que aumenta el orden de la derivada. Esta variaci´on se ajusta a una funci´on exponencial, las salidas son los par´ametros de la funci´on y la calidad del ajuste.
7 Hypothesis Test
Retorna los valores de un test de hip´otesis estad´ıstico aplicado a la serie de tiempo. Se usaron los siguientes test incluidos en el toolbox estad´ıstico de MATLABR
Wilcoxon signed Rank test for a zero median. Jarque-Bera test of composite normality. Ljun-Box Q-test for residual autocorrelation.
6 Ratio test Realiza un test de relaci´on de varianzas sobre la serie de tiempo usando la funci´on vratiotest del toolbox econom´etrico de MATLABR
.
4 Simple Stats
Retorna los siguientes estad´ısticos: La proporci´on de cruces por cero de la serie,de tiempo. La proporci´on de la serie que es m´aximo local. La proporci´on de la serie que es m´ınimo local. La relaci´on de cruces por cero de los datos en crudo con media cero y los datos sometidos a deducci´on de tendencia.
3 StdnthDer Desviaci´on est´andar de la en´esima derivada.
1 Theiler Calcula el estad´ıstico de Theiler.
M
Analiza cambios en la funci´on de informaci´on auto-mutua a medida que se a˜nade 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 funci´on cuenta el n´umero de puntos dentro del c´ırculo en funci´on del tiempo. Retorna estad´ısticos de dicha funci´on.
Grupo N´umero de
Se incrusta la serie en un espacio bidimensional usando un tiempo de retardo
τ. Retorna estad´ısticos de la secuencia de distancias euclidianas sucesivas entre los puntos del espacio bidimensional.
1 Fastdfa Efect´ua un an´alisis r´apido de fluctuaci´on sin tendencia en una se˜nal no esta-cionaria para obtener un estimado del exponente de escalamiento [63].
2 FBM Usa la funci´on wfbmesti de MATLAB
R
para estimar los par´ametros del
movi-miento Browniano fraccional de la serie de tiempo.
O
Eval´ua las medidas del histograma de ´ındices triangulares y la gr´afica de Poin-care asumiendo que la serie es una secuencia de intervalos RR consecutivos medidos en segundos.
11 PNN Aplica medidas PNNx a la serie de tiempo asumiendo que representa intervalos RR consecutivos medidos en milisegundos.
4 Power spectral density ratios Agrupa varias medidas VRC (variabilidad del ritmo card´ıaco) y las aplica a la serie de tiempo.
25 Drifting mean Separa la serie en segmentos calcula la media y la varianza en cada segmento y compara la media m´axima y m´ınima con la varianza de la media.
9 DynWin Analiza como los estimados de estacionalidad dependen del n´umero de segmen-tos en que se divide la serie de tiempo.
36 Local distribution Compara la distribuci´on de particiones consecutivas de la serie. Retorna la suma de diferencias entra cada distribuci´on Kernel suavizada.
22 Local extrema Encuentra m´aximos y m´ınimos dentro de segmentos de la serie. La salida cuan-tifica como los m´aximos y m´ınimos locales var´ıan en la serie de tiempo.
56 Local global
Compara los estad´ısticos,medidos en una regi´on local de la serie de tiempo con aquellos medidos en la,serie completa. Los estad´ısticos incluyen:
Grupo N´umero de
18 Moment corr Calculacorrelaciones entre estad´ısticos simples resumiendo la distribuci´on de valores in ventanas locales de la se˜nal.
212 Sliding window Esta funci´on se basa en deslizar una ventana a lo largo de la serie de tiempo midiendo un estad´ıstico en cada ventana.
6 Sweep lambda Da informaci´on acerca de pasos discretos en la se˜nal a trav´es de un rango de par´ametros de regularizaci´onλ.
1 Wavelet varchg Encuentra puntos de cambio de varianza usando funciones del toolbox Wavelet de MATLABR
Aplica una transformaci´on dada a la serie de tiempo y retorna estad´ısticos de como var´ıan ciertas propiedades de la misma, comparando el resultado de la transformaci´on con la se˜nal original. Dentro de las transformaciones aplicadas esta filtro de media, filtro de mediana, remuestreo, remoci´on de tendencia, entre otras.
6 Iterate Mide como cambian ciertas propiedades de la serie de tiempo a medida que se aplica una transformaci´on de forma iterativa.
C
ad 2 Aproximate entropy C´alculo de la entrop´ıa aproximada
2 LZ complexity Estima la medida de complejidad de Kolmogorov de la serie de tiempo umbra-lizada.
1 Burstiness Retorna el estad´ıstico de explosividad[64].
28 CompareKSFit
Grupo N´umero de
1 Custom Skewness Retorna la oblicuidad de Pearson o de Bowley. 1 Coefficient of variation Retorna el coeficiente de variaci´on.
5 Fit Kernel Smooth Retorna estad´ısticos sobre la distribuci´on Kernel suavizada de la serie de tiem-po.
3 Fit mle Retorna el ajuste de la distribuci´on con m´axima verosimilitud.
1 High Lowµ Retorna la proporci´on de la media de los datos que est´a por encima de la media
global con la media de los datos que est´a por debajo de la media global. 1 Histogram Mode Mide el modo del vector de datos usando histogramas con cierto n´umero de
bins.
5 Mean Estima una medida dada sobre la ubicaci´on de la serie de tiempo. 2 Moments Retorna un momento de la distribuci´on de la serie de tiempo.
1 nLogLnorm Retorna el logaritmo negativo de la distribuci´on de probabilidad Gaussiana. 96 Outlier include Mide un set de estad´ısticos sobre la serie de tiempo a medida que se insertan
valores at´ıpicos de acuerdo a cierta regla.
2 Outlier test Retorna estad´ısticos sobre la dependencia de la distribuci´on de probabilidad a valores at´ıpicos distributivos.
1 Pleft Retorna la distancia de la media para la cual una proporci´on de los datos de entrada est´an m´as distantes.
1 Proportion values Retorna la proporci´on de ceros, la proporci´on de valores positivos y la propor-ci´on de valores iguales o mayores a cero.
9 Quantile Calcula el valor del quantil para una probabilidad dada.
55 Remove points Retorna estad´ısticos sobre c´omo 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 extensi´on de la serie de tiempo.
9 TrimmedMean Calcula la media de la serie excluyendo los valores at´ıpicos.
10 Withinp Proporciona la informaci´on de los puntos contenidos en una desviaci´on est´andar
pde la media.
11 Moving threshold
Representa el umbral de movimiento para eventos extremos en una serie de tiempo. Utiliza la ocurrencia de eventos extremos en una barrera hipot´etica que clasifica nuevos puntos como extremos o no. La barrera comienza enσ, y si el valor absoluto del siguiente dato es mayor que la barrera, esta se incrementa en una proporci´onade lo contrario la barrera decrece un valorb.
Grupo N´umero de
Mide el rango de la serie de tiempo como una funci´on de tiempo; esto es rango
x1:i para i = 1,2, . . . , N, donde N es la extensi´on de la serie de tiempo. La
entrada es la serie de tiempo y la salida est´a basada en la din´amica de c´omo ocurren nuevos eventos extremos en el tiempo.
4 Cumulants Calcula los momentos de mayor orden en la entrada de la serie de tiempo utilizando funciones estad´ısticas de asimetr´ıa y curtosis.
E
Es una estad´ıstica de regularidad que calcula la imprevisibilidad de fluctuacio-nes en una serie de tiempo. Refleja la probabilidad de que patrofluctuacio-nes similares de observaci´on no est´en seguidos por observaciones similares adicionales.
6 Complexity measure
Describe la complejidad de la codificaci´on de un n-bit en una serie de tiempo. Esto es, el n´umero de distintas secuencias simb´olicas en la serie de tiempo dividido entre el numero esperado de distintos s´ımbolos para una secuencia de ruido.
2 Distributional entropy
Estima la entrop´ıa de la distribuci´on de un vector de datos. La distribuci´on es estimada usando un,histograma con numBins binarios, o como una distribu-ci´on suave del n´ucleo. Un par´ametro adicional opcional puede ser usado para remover la proporci´on de las desviaciones positivas y negativas m´as extremas de la media como un pre-proceso inicial.
4 Permutation entropy Produce la permutaci´on de la entrop´ıa y la versi´on normalizada calculada de acuerdo a diferentes implementaciones.
53 Randomize
Muestra la manera en,que cambian las propiedades de las series de tiempo con el incremento de la,aleatorizaci´on. Progresivamente aleatoriza la entrada de la serie de tiempo,de acuerdo a un procedimiento de aleatorizaci´on especifico. El procedimiento,es repetido 2N veces, donde N es la longitud de la serie de tiempo. Resume la,manera en que las propiedades cambian cuando uno de estos procesos de,aleatorizaci´on es iterado, incluyendo la correlaci´on cruzada con la serie de,tiempo original, la auto-correlaci´on de la serie de tiempo aleatoria, su entrop´ıa y estacionalidad.
1 Entropy Rudy Moddemeijer Estima la entrop´ıa de se˜nales estacionarias con muestras independientes usando diferentes enfoques.
6 Sample entropy
Calcula sobre una muestra de la entrop´ıa en una serie de tiempo, el incremento sucesivo de la serie de tiempo; esto es, se usa un pre-proceso de diferenciaci´on incremental, como se usa en la cantidad de entrop´ıa de control.
2 Wentropy Muestra la entrop´ıa de la serie de tiempo utilizando wavelets.
Grupo N´umero de
par´ametros Nombre Descripci´on
In
for
-m
ac
i´on
20 Automutual Info Stats
Estad´ısticos de la funci´on mutua de informaci´on para una serie de tiempo. La estructura contiene estad´ısticos de AMIs y sus patrones a lo largo del rango de retrasos de tiempo espec´ıficos.
P
at
ron
es
2D
[65]
1 Standard deviation Retorna la desviaci´on est´andar de la funci´on lograda al calcular los patrones de tipo 2 contenidos en la serie de datos.
1 Mean Retorna la media de la funci´on lograda al calcular los patrones de tipo 2 con-tenidos en la serie de datos.
1 Median Retorna la mediana de la funci´on lograda al calcular los patrones de tipo 2 contenidos en la serie de datos.
1 Variance Retorna la varianza de la funci´on lograda al calcular los patrones de tipo 2 contenidos en la serie de datos.
Cap´ıtulo 5
Dise˜
no del algoritmo de selecci´
on de
caracter´ısticas
5.1.
Configuraci´
on del algoritmo gen´
etico
El problema a afrontar consiste en identificar cuales de las 1 452 caracter´ısticas que componen la base de datos original aportan mas informaci´on a la tarea de detecci´on de caos. Entonces se define la tarea como un problema de selecci´on binario, donde el 1 representa que la caracter´ıstica es incluida y el 0 lo contario. Se escogi´o el Algoritmo Gen´etico Compacto (AGC) como m´etodo de b´usqueda ya que su desempe˜no en problemas de este tipo ha probado ser el m´as adecuado [66]. El AGC analiza el crecimiento y decaimiento de un gen dentro de una poblaci´on como una caminata aleatoria de una dimensi´on, los genes luchan contra sus competidores y su n´umero dentro de la poblaci´on puede aumentar o disminuir, esto determinado por el m´etodo de selecci´on descrito a continuaci´on.
La selecci´on consiste en evaluar a los individuos mediante una funci´on de aptitud y determinar un ganador, luego el ganador se multiplica y el perdedor perece. A pesar de que la selecci´on da como resultado m´as copias de los mejores individuos, esto no siempre se traduce en m´as copias de los mejores genes, debido a que la evaluaci´on se realiza sobre el individuo completo y no sobre los genes en particular. El rol de la poblaci´on dentro del problema de selecci´on es reducir el efecto mencionado anteriormente.
Todas las combinaciones posibles de genes presentes o ausentes dentro del genoma dan como resultado una poblaci´on total de 2n individuos, siendonel n´umero de caracter´ısticas a tener en cuenta dentro del genoma (en este caso n = 1452). Esto significa que despu´es de una competencia entre dos individuos generados aleatoriamente, en donde se mantiene una copia del individuo ganador y se descarta el perdedor, los genes del individuo ganador que difieren de los genes del perdedor aumentan su probabilidad de aparecer en el mejor individuo en un factor de 1/2n .
El efecto del tama˜no de la poblaci´on sobre el AGC se simula mediante la generaci´on de un vector de probabilidades, que representa la probabilidad de cada gen de aparecer en el mejor individuo de la poblaci´on. El vector se compone de n posiciones que corresponden a cada una de las caracter´ısticas presentes dentro del genoma. Todas las probabilidades se inicializan con un valor de 0.5 y a medida que la selecci´on haga su trabajo estos valores aumentaran o disminuir´an en un valor de 1/2n hasta converger en 0 ´o 1.
Suponiendo que se realiza una competencia entre dos individuosI1 eI2 en dondeI1 resulta ganador, la
actualizaci´on del vector de probabilidad sucede como se ilustra en la imagen 5.1.
El problema cuando se trabaja con una poblaci´on tan grande (en este caso 21452= 4,587∗10105individuos)