• No se han encontrado resultados

Estudio de métodos de clasificación para determinar diferencias entre estados interictales y estados preictales

N/A
N/A
Protected

Academic year: 2020

Share "Estudio de métodos de clasificación para determinar diferencias entre estados interictales y estados preictales"

Copied!
43
0
0

Texto completo

(1)

Presentado a

LA UNIVERSIDAD DE LOS ANDES

FACULTAD DE INGENIERÍA

DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Para obtener el título de

INGENIERO ELECTRÓNICO

Por

Lucas Velásquez Vélez

ESTUDIO DE MÉTODOS DE CLASIFICACIÓN PARA DETERMINAR

DIFERENCIAS ENTRE ESTADOS INTERICTALES Y ESTADOS

PREICTALES

Sustentado el 12 de Diciembre de 2013 frente al jurado:

Composición del jurado

- Asesores: Mario Valderrama, Profesor Asistente, Universidad de Los Andes

Fernando Lozano, Profesor Asociado, Universidad de Los Andes

(2)

Contenido

1 INTRODUCCIÓN ... 3

2 OBJETIVOS ... 3

2.1 Objetivo General ... 3

2.2 Objetivos Específicos ... 3

2.3 Alcance y productos finales ... 3

3 DESCRIPCIÓN DE LA PROBLEMÁTICA Y JUSTIFICACIÓN DEL TRABAJO ... 4

4 MARCO TEÓRICO E HISTÓRICO ... 4

4.1 Marco Teórico ... 4

4.2 Marco Histórico ... 10

5 DEFINICION Y ESPECIFICACION DEL TRABAJO ... 11

5.1 Definición ... 11

5.2 Especificaciones ... 12

6 METODOLOGÍA DEL TRABAJO ... 12

6.1 Plan de trabajo ... 19

6.2 Búsqueda de información ... 20

6.3 Alternativas de desarrollo ... 21

7 TRABAJO REALIZADO ... 23

7.1 Descripción del Resultado Final ... 24

7.2 Trabajo computacional ... 25

8 VALIDACIÓN DEL TRABAJO ... 26

8.1 Metodología de prueba ... 26

8.2 Validación de los resultados del trabajo ... 26

8.3 Evaluación del plan de trabajo ... 33

9 DISCUSIÓN ... 34

10 CONCLUSIONES ... 36

11 AGRADECIMIENTOS ... 36

12 REFERENCIAS ... 37

13 APENDICES ... 39

(3)

1

INTRODUCCIÓN

El presente documento reúne el trabajo realizado durante el último semestre a propósito del proyecto de grado “Estudio de métodos de clasificación para determinar diferencias entre estados interictales y estados preictales”. En éste se muestran todos los aspectos relevantes que permiten conocer el desarrollo del proyecto desde su propuesta inicial hasta el análisis y discusión de los resultados finalmente obtenidos. De esta forma aparecen en las siguientes secciones la información previa a la realización del proyecto, como lo son los objetivos y los alcances planteados, y de igual forma la información correspondiente al desarrollo del proyecto, como lo es la metodología, las pruebas y los resultados del proyecto junto con su respectiva validación y discusión. Adicionalmente se muestra toda información relacionada con el tema y que fue parte del proceso de investigación del proyecto, como lo es el marco teórico, conceptual e histórico. A todo esto se suma la autoevaluación del trabajo realizado, teniendo en cuenta los alcances planteados inicialmente, así como el cronograma propuesto y el grado de cumplimiento de este.

2

OBJETIVOS

2.1 Objetivo General

Desarrollar un método que permita determinar si existe de forma predefinida estados preictales e interictales para la anticipación de crisis de epilepsia.

2.2 Objetivos Específicos

• Analizar el estado del arte de los algoritmos de clasificación y los métodos de anticipación de crisis de epilepsia.

• Seleccionar un grupo de datos provenientes de pacientes epilépticos implantados con electrodos intracraneales.

• Desarrollar algoritmos de clasificación que permitan procesar la base de datos que se tiene y obtener el resultado esperado.

• Aplicar los algoritmos implementados sobre las señales seleccionadas con el fin de determinar si existe diferencia entre los estados interictales y preictales

• Desarrollar análisis estadísticos para evaluar la validez de los resultados.

2.3 Alcance y productos finales

Como propuesta inicial se esperaba desarrollar un algoritmo completamente funcional que permitiera cumplir con el objetivo general del proyecto y que permitiera responder las preguntas planteadas al problema, es decir, un algoritmo mediante el cual se pudiera reconocer la existencia de los estados preictales e interictales para la predicción de crisis de epilepsia.

(4)

Teniendo en cuenta lo anterior, se obtuvo como resultado final del proyecto un algoritmo que permite analizar señales de electroencefalografía (EEG). Este algoritmo aplica distintos pasos de procesamiento sobre las señales para finalmente obtener los descriptores necesarios para ser aplicados en un algoritmo de clustering. Así pues, aunque no se desarrolló la etapa de agrupamiento, o el método de clustering como tal, sí se obtuvo un algoritmo capaz de convertir señales de EEG sin procesamiento alguno en datos relevantes con los cuales un algoritmo de clustering puede desarrollar una clasificación. Cabe resaltar también que el algoritmo obtenido es replicable y de esta forma puede ser utilizado no solo con las bases de datos del proyecto sino con bases de datos externas. Adicionalmente se desarrolló un algoritmo que permite validar los resultados obtenidos utilizando un método de clustering en particular y que será detallado posteriormente. De esta forma el producto final del trabajo realizado no es solo el algoritmo de preprocesamiento que permite obtener los descriptores, sino también los resultados obtenidos mediante esta validación, y que es finalmente lo que se buscaba con el objetivo general del proyecto, responder la pregunta de la existencia predefinida de los estados interictales y preictales.

3

DESCRIPCIÓN DE LA PROBLEMÁTICA Y JUSTIFICACIÓN DEL TRABAJO

El mayor problema de los pacientes que sufren de epilepsia se debe a la condición repentina de las crisis que genera la enfermedad. Es esta característica de las crisis la que compromete en mayor medida la situación del paciente y genera una sensación de impotencia y más aun de dependencia, pues priva al paciente de desarrollar actividades tan comunes como conducir [1]. Es por esto que el desarrollo de sistemas de predicción de crisis de epilepsia ha sido de un tema de profunda investigación durante las últimas décadas, buscando así una solución, al menos parcial, para los pacientes epilépticos. Sin embargo estos sistemas de predicción, basados en algoritmos computacionales, se centran en la clasificación de los datos en dos grupos principales. El primero de estos es una etapa preictal, inmediatamente anterior a la crisis de epilepsia, y el otro es una etapa interictal definida como el periodo que existe entre las crisis [4]. Estas etapas están definidas a priori para cada estudio y por lo tanto se asumen como existentes y correctamente definidas para el desarrollo de los algoritmos, esto puede representar un problema para validar la eficiencia de los sistemas y adicionalmente puede ser la causa de que en muchos casos estos no sean replicables. Por esta razón se busca desarrollar un algoritmo que no parta de esta condición inicial y que evidencie estas dos etapas de clasificación por sí solo.

4

MARCO TEÓRICO E HISTÓRICO

4.1 Marco Teórico

La epilepsia constituye una de las enfermedades neurológicas más comunes alrededor del mundo, presentándose en aproximadamente el 0.6% - 0.8% de la población [1]. Del total de estos pacientes, dos terceras partes pueden ser tratados mediante medicamentos para controlar las crisis y un 8%-10% adicional es tratable con cirugía.

(5)

Para el 25% restante no existe un tratamiento adecuado que permita controlar la enfermedad [1]. Usualmente se debe a una lesión cerebral o a una condición familiar hereditaria, sin embargo en la mayoría de los casos se desconoce la causa específica que da lugar a la enfermedad. Ésta se caracteriza por la ocurrencia de diversas crisis (también conocidas en inglés como seizures), que pueden afectar tanto funciones físicas como funciones metales del paciente, lo cual hace que sus síntomas sean muy variables entre distintos individuos. La epilepsia como enfermedad es diagnosticada cuando ocurren dos o más crisis que no han sido desencadenadas por una condición médica conocida, es decir que la crisis no se debió a problemas tales como una disminución crítica en los niveles de azúcar, aumento en el nivel de temperatura corporal, o a una sobredosis, entre otros. Igualmente la enfermedad puede llegar a ser diagnosticada incluso después de una sola crisis, si se cree que el paciente tiene alto riesgo de sufrir otra, esto último debido a antecedentes familiares [7].

Las crisis de epilepsia son el resultado de una actividad eléctrica anormal y repentina en el cerebro, estas pueden duran en promedio entre 30 segundos y 2 minutos, sin embargo pueden ser aún más largas y si la crisis supera los 5 minutos es considerada una emergencia médica (Status epilepticus). Esto debido a que en un tiempo mayor se da lugar a un daño neurológico permanente en el paciente. De igual forma se considera Status epilepticus si ocurren dos o más crisis en serie entre las cuales no existe un tiempo de recuperación neurológica. Por otro lado las crisis pueden clasificarse en dos grandes grupos, focales o generalizadas, teniendo en cuenta el lugar del cerebro donde se desarrollen inicialmente. Es decir, si la crisis inicia en un punto específico se considera una crisis focal mientras que las crisis generalizadas se desarrollan a lo largo de todo el cerebro. Igualmente existen crisis focales que luego se propagan a distintos puntos, estas son llamadas Secondarily generalized o generalizadas en segundo lugar. Dentro de los dos grandes grupos en los cuales se clasifican las crisis existen diversos tipos que se definen a partir del lugar del cerebro donde se desarrolle y los síntomas que conlleve para el paciente [8]. En la figura 1 se muestran las clasificaciones dadas anteriormente, 1981, y la clasificación manejada actualmente.

Cada uno de estos tipos de crisis es acompañado por una diversidad de síntomas, lo que hace que para muchos pacientes las crisis sean completamente diferentes. De hecho las crisis pueden pasar desapercibidas en muchos casos, o desarrollarse con síntomas que son indetectables para las demás personas, como una alteración en las sensaciones o el estado de ánimo del paciente. De igual forma la crisis puede ser lo suficientemente fuerte como para producir la inconsciencia e incapacitar por completo al paciente [7].

Ahora bien, se estima que una tercera parte de los pacientes epilépticos no pueden recibir tratamiento adecuado para la enfermedad. Estos son los llamados pacientes refractarios, y son aquellos cuyas crisis no pueden ser controladas efectivamente por

(6)

los medicamentos convencionales. Son estos pacientes los más afectados por la enfermedad, pues la característica repentina de las crisis, que en este caso son imposibles de controlar, les genera una condición de vulnerabilidad y dependencia. Esto se manifiesta mediante problemas en el desempeño del paciente en su vida escolar, laboral o social, pues muchas veces permanecen atentos e intranquilos por la próxima crisis. Adicionalmente las crisis pueden generar graves lesiones para el paciente derivadas de caídas u otras situaciones [10]. Debido a esto se hace necesario el desarrollo de métodos de detección anticipada de ataques epilépticos, que permitan prevenir al paciente y mejorar así la condición de su enfermedad.

Figura 1. Cuadro comparativo de la clasificación de las crisis de epilepsia para 1981 y 2006. (www.ilae-epilepsy.org)

La predicción de crisis epilépticos ha representado una importante área de investigación durante los últimos 30 años, basada principalmente en el estudio de señales eléctricas obtenidas mediante EEG y cuyos parámetros son analizados usando diferentes métodos computacionales [2]. Estos métodos tienen como objetivo principal la diferenciación de las señales y la separación de los datos en dos grupos diferentes. Básicamente los dos grupos corresponden a un periodo preictal (antes de la crisis) y a un periodo interictal (entre las crisis), a partir de los cuales se asume que es posible predecir las crisis. El hecho de que solo se requiera clasificar los datos en dos grupos diferentes ha permitido el desarrollo reciente de diferentes estudios en los cuales se hace uso de algoritmos de machine learning, específicamente algoritmos de

(7)

En cuanto a los métodos de clustering, estos hacen parte de los algoritmos de aprendizaje no supervisado, por esta razón es posible agrupar datos que no tienen etiqueta, es decir, que no se encuentran previamente clasificados [12]. Así pues, el principio básico de los algoritmos de clustering es la separación de los datos en diferentes grupos, de acuerdo a la similitud de algunas propiedades o información de los datos. Ya que el objetivo del clustering es descubrir nuevas formas de agrupar los datos, los nuevos grupos en sí son de gran interés [11] y es por esta razón que los métodos de clustering son ideales para lograr el objetivo de este proyecto. De acuerdo a lo anterior se hace entonces necesaria alguna medida que permita conocer qué tan cercano es un dato a otro y en particular existen dos formas principales para medir esta relación, las medidas de distancia y las medidas de similitud (similarity). Para el primer caso existen diferentes tipos de medida dependiendo del tipo de datos que se están trabajando, ya sean atributos numéricos, binarios, nominales u ordinales. La medida de distancia más común es la de Minkowski para atributos numéricos y está dada por:

De la cual se obtiene la distancia Euclidiana común con g=2. Cabe resaltar que las medidas de distancia deben ser simétricas, es decir, y su valor mínimo se encuentra en caso de que ambos vectores sean iguales [11].

En cuanto a las medidas de similitud, se utiliza una función de similitud para medir la relación entre dos datos, esta función debe ser simétrica y toma un valor mayor cuando los datos son más similares entre sí, encontrando su máximo cuando ambos vectores son idénticos. Entre las medidas de similitud se encuentran la del Coseno, la correlación de Pearson, la medida ampliada de Jaccard y el coeficiente de Dice. Donde la más utilizada es la del Coseno, dada por:

Esta toma mayor importancia cuando el ángulo entre los dos vectores es una medida relevante de su similitud y corresponde al producto interno normalizado de ambos vectores.

Otro aspecto de gran importancia es la evaluación de la calidad de los clusters, es decir, la precisión o exactitud que han tenido al momento de agrupar los datos. Este tema en particular es bastante polémico en la teoría, pues no existe una definición única o exacta de lo que es un buen cluster. Sin embargo se han desarrollado diversos criterios de evaluación, los cuales se pueden agrupar principalmente en dos categorías, criterios internos y externos.

(8)

Los criterios internos usualmente miden que tan compactos son los clusters, utilizando ya sea la homogeneidad de los clusters o la separación entre clusters, e incluso una combinación de los dos. Existen diversas medidas de similitud utilizadas como criterios de evaluación, entre ellas la más utilizada y la más simple es la suma de errores cuadrados:

Donde corresponde al grupo de datos que se encuentran en el cluster k y es el vector de la media del cluster k, cuyas componentes se pueden calcular como:

Donde es el número total de datos que se encuentran en el cluster k. Otras medidas también utilizadas como criterios internos de evaluación son los criterios de dispersión, el criterio de Condorcet y su extensión, el criterio-C.

Los criterios de evaluación externos, a diferencia de los internos que no incorporan información externa más allá de los datos, son útiles para evaluar si la estructura de clusters obtenida coincide con alguna clasificación de los datos definida previamente. Algunos de estos criterios son “Mutual Information Based measure”, “Precision-Recall measure” y el índice de Rand. Este último es utilizado para comparar dos estructuras de clusters diferentes (C1 y C2), y está dado por:

Donde a corresponde al número de parejas de datos que se encuentran en el mismo cluster en ambas estructuras, b corresponde al número de parejas de datos que se encuentran en el mismo cluster en la estructura C1 pero no en C2, c es el número de parejas de datos en el mismo cluster en C2 pero no en C1 y d es el número de parejas de datos que no se encuentran en el mismo cluster en ninguna de las dos estructuras. El índice de Rand varía entre 0 y 1, donde 1 corresponde a 2 estructuras que coinciden perfectamente [11].

En cuanto a los métodos de clustering como tal, estos pueden ser divididos en dos principales categorías, clustering jerárquico y clustering particional, los cuales se diferencian por la forma como se obtiene la estructura de clusters final. Los métodos de clustering jerárquico se basan en hacer particiones recurrentes de los datos hasta lograr la estructura de clusters deseada. Este proceso puede ocurrir ya sea de forma top-down o bottom-up y de acuerdo a esto los métodos jerárquicos pueden dividirse

(9)

en clustering aglomerativo o clustering divisivo. El aglomerativo parte con cada dato como un cluster de sí mismo, y poco a poco se unen hasta lograr la estructura de clusters deseada. Por el contrario el clustering divisivo comienza con todos los datos en un único cluster, el cual se divide en subclusters, los cuales a su vez se dividen en más clusters hasta lograr la estructura deseada. Por otro lado los métodos de clustering jerárquico pueden ser clasificados de acuerdo a la medida de similitud utilizada para separar o para unir los clusters, de acuerdo a esto se tiene el clustering de enlace sencillo, clustering de enlace completo y clustering de enlace promedio. El primero de estos es también llamado el método mínimo y asume que la distancia entre dos clusters es igual a la distancia mínima entre un dato cualquiera de uno de los clusters con otro dato cualquiera en el otro cluster. El método de enlace completo, también llamado método máximo asume como la distancia entre dos clusters, la distancia máxima entre dos datos cualesquiera en cada uno de los clusters. Por último el método de enlace promedio o método de mínima varianza considera la distancia entre dos clusters como la distancia promedio entre un dato cualquiera de uno de los clusters y un dato cualquiera del otro cluster. Finalmente cabe resaltar que a los métodos jerárquicos se les atribuye como principales fortalezas su versatilidad y la posibilidad de obtener múltiples particiones. La versatilidad teniendo en cuenta que mantienen un buen desempeño para clusters no isotrópicos y las múltiples particiones dado que permiten elegir diferentes particiones de acuerdo al nivel de similitud deseado. Igualmente se les reconoce como principales desventajas, su escalabilidad, pues su complejidad es no lineal y está dada por donde m corresponde al número de datos, y su inhabilidad para deshacer lo que se hizo previamente también llamada back-tracking capability [11].

Con respecto a los métodos de clustering particional, estos no crean diversas particiones sino que iterativamente reubican los datos de un cluster a otro a partir de un particionamiento inicial. Por esta razón la mayoría de estos métodos requiere que el usuario defina previamente el número de clusters deseado. El tipo más común de clustering particional son los métodos de minimización de error, estos algoritmos buscan una estructura de clusters que permita minimizar algún criterio de error dado, normalmente se utiliza la suma de errores cuadrados. El algoritmo más sencillo y más utilizado es el K-means, el cual permite agrupar los datos en K clusters definidos por sus medias. El algoritmo consiste en inicializar K centros y a cada uno de estos asignarles los datos más cercanos, teniendo en cuenta la distancia Euclidiana. Luego de formar los K clusters, se calcula nuevamente el centro como la media de todos los datos asignados a cada cluster y a partir de estos nuevos centros se reubican los datos para formar nuevamente los clusters. La media puede ser calculada como:

(10)

El algoritmo se repite hasta encontrar una condición de parada, ya sea que el error haya dejado de reducirse con la reubicación de los datos o que se haya alcanzado cierto número de iteraciones definido previamente. Las principales ventajas del K-means son su fácil implementación y su funcionamiento relativamente sencillo. Adicionalmente tiene una muy buena eficiencia computacional, pues su complejidad es lineal y está dada por , con T iteraciones, K clusters, m datos y N atributos para cada dato, lo que representa una ventaja sobre los métodos jerárquicos. Sin embargo el mayor problema del algoritmo de K-means se debe a la selección de la partición inicial, pues es bastante sensible a esta selección y de esto dependen en gran medida los resultados obtenidos. Adicionalmente el algoritmo es muy sensible al ruido y a los valores extremos lo que lo hace débil frente a otros métodos. Otro método particional es el algoritmo de K-medoids o PAM, el cual busca solucionar los problemas del K-means y otorga mayor robustez frente al ruido. Este método es bastante similar al algoritmo de K-means, sin embargo no utiliza la media para representar los clusters sino el dato más central de cada uno de estos. Adicionalmente presenta un costo computacional más alto.

4.2 Marco Histórico

Estudios recientes, hacen uso de distintos métodos de clustering aplicado sobre información univariada y bivariada extraída de los EEG de los pacientes. En un estudio en particular (Dutta et al. [3]) se usaron detectores basados en EEG intracraneal para obtener los datos, los cuales fueron obtenidos durante la fase de monitoreo de los pacientes antes de una cirugía. En total se usaron los EEG obtenidos de dos pacientes, el primero de estos sufrió 3 crisis durante el monitoreo, mientras que para el segundo fueron 6 crisis. Las señales fueron procesadas y posteriormente se les aplicó K-clustering y subspace clustering. Para este caso en específico los resultados variaron considerablemente entre paciente y paciente lo cual impidió encontrar el método más favorable para la predicción y adicionalmente impidió el desarrollo de un algoritmo lo suficientemente confiable como para ser usado en aplicaciones médicas reales.

Por otro lado se han desarrollado estudios de clasificación mediante Support Vector Machines o SVM’s, (Park et al. [4]) para los cuales también se usaron EEG intracraneales y cuyas muestras fueron clasificadas usando cost-sensitive SVM’s, clasificación a la que luego se aplicó un post-procesamiento, específicamente un filtro de Kalman. Los datos fueron obtenidos a partir del EEG de 18 pacientes los cuales presentaban 3 o más crisis. Los resultados obtenidos en este caso fueron mucho más favorables, pues se obtuvo una sensitividad del 97.5% y una razón de falsa alarma de 0.27 por hora. Cabe resaltar que estos resultados están basados en los algoritmos aplicados específicamente para cada paciente, los cuales se obtuvieron después de una etapa de aprendizaje con dispositivos implantados en cada individuo. De esta forma los parámetros del algoritmo fueron modificados para cada caso en particular. Adicionalmente se debe tener en cuenta que para este estudio se asumió el periodo interictal como los datos hasta una hora antes o una hora después de una crisis,

(11)

mientras que el periodo preictal se basaba en los datos inmediatamente previos a la crisis [4].

De igual forma Valderrama et al. [13] propusieron un algoritmo de anticipación utilizando clasificación mediante SVM. El algoritmo implementado se basaba en un clasificador multiclase (uno contra todos) y era específico por paciente. Para el estudio se analizaron 12 pacientes con un total de 108 crisis y 3178 horas de registros. Se utilizaron tanto las señales de EEG como las de ECG, las cuales se tomaron a una frecuencia de muestreo de 400Hz y para el caso del EEG se utilizaron electrodos intracraneales y superficiales. A partir de estas señales se obtuvo un total de 34 descriptores para desarrollar la clasificación con el SVM, los cuales fueron obtenidos tanto en el dominio del tiempo como el dominio de la frecuencia. En cuanto al desempeño del algoritmo, cerca del 25% de los pacientes mostraron resultados favorables, con un tiempo preictal promedio de media hora. Esto último independientemente del tipo de electrodo utilizado. Adicionalmente se observó que el comportamiento de algunos descriptores estuvo relacionado con condiciones fisiológicas de los pacientes, específicamente etapas del sueño [13].

Por último Mark Cook et al. [6] desarrollaron un dispositivo portátil que permitiera dar aviso al paciente de la posibilidad de que ocurriera una crisis. En total se usaron 15 pacientes, a los cuales en primera instancia se les implantó el dispositivo y lo mantuvieron durante una etapa de recolección de datos. Si la etapa de recolección de datos era exitosa y a partir de esta el algoritmo usado en el dispositivo lograba una sensitividad mayor al 65% entonces los pacientes entraban en una etapa de prueba, para la cual el dispositivo era capaz de avisar que tan probable era la existencia de una crisis. Del total de pacientes, 11 lograron llegar a la etapa de prueba en incluso 3 pacientes duraron más de dos años con el dispositivo implantado. La sensitividad de los algoritmos obtenidos variaba para cada paciente y se observaron resultados desde 65% hasta el 100%, lo que equivale al total de las crisis predichas correctamente. Los algoritmos usados, estaban basados en algoritmos de aprendizaje no supervisado, específicamente algoritmos de clustering, los cuales variaban dependiendo de la etapa de recolección de datos de cada paciente. Cabe resaltar que el algoritmo de predicción de las crisis se encontraba en un dispositivo externo de alarma, el cual recibía la información desde un dispositivo de telemetría que sí se encontraba implantado en el paciente y que estaba conectado a los electrodos intracraneales.

5

DEFINICION Y ESPECIFICACION DEL TRABAJO

5.1 Definición

El proyecto busca como resultado un algoritmo que permite la diferenciación entre un estado interictal y un estado preictal a partir de una base de datos predefinida. De esta forma se espera que mediante la aplicación del algoritmo desarrollado sobre las señales provenientes de diferentes pacientes se logre realizar una conclusión válida

(12)

que permita responder la pregunta planteada por el proyecto. El trabajo se realizó sobre una muestra de 5 pacientes diagnosticados con epilepsia. Teniendo esto en cuenta el trabajo busca entregar resultados que pueden ser validados únicamente sobre las bases de datos trabajadas en el desarrollo del proyecto, sin embargo, el algoritmo que también se entrega como producto final del proyecto puede ser utilizado con datos diferentes, es decir, se puede aplicar a bases de datos externas a este proyecto.

5.2 Especificaciones

Tal como se dijo anteriormente, el objetivo principal del trabajo realizado es obtener los resultados necesarios que permitan responder la pregunta propuesta por el proyecto y dar argumentos validos que sustenten esta respuesta. Por esta razón y para lograr este objetivo se expone como trabajo realizado un algoritmo cuya principal especificación es su completa funcionalidad y más aún el hecho de que sea replicable, lo cual permite aplicar el algoritmo, no solo a la base de datos de este proyecto, sino también a datos provenientes de fuentes externas.

6

METODOLOGÍA DEL TRABAJO

Análisis de estado del arte

El primer paso en el desarrollo del proyecto fue el estudio del estado del arte tanto de los algoritmos de clasificación como de los métodos de anticipación de crisis de epilepsia. Este estudió se desarrolló a partir de publicaciones de diversos autores relacionados con el tema y que se encuentran citados en las referencias de este documento. En estas publicaciones, algunas de las cuales se muestran en el marco teórico del documento, se muestran los estudios realizados durante los últimos años relacionados con la anticipación de crisis de epilepsia, y para los cuales se exploraron diferentes algoritmos de aprendizaje, como algoritmos de clustering, Support Vector Machines, entre otros. Adicionalmente cada uno de estos estudios expone sus resultados y la forma como fueron validados. Específicamente en el artículo de Mormann et al. [1] se hace un análisis crítico de los diversos estudios que se han desarrollado en este campo durante las últimas décadas, al igual que se nombran diferentes problemas que estos estudios presentan. Adicionalmente en los apéndices del artículo se nombran diferentes métodos que permiten obtener descriptores con los cuales desarrollar algoritmos de predicción de crisis. Debido a lo anterior este artículo en especial ha servido como base para esta etapa del proyecto, pues otorga un amplio resumen de este campo de estudio, además de hacerlo de forma objetiva y crítica. Por otro lado, esta etapa de investigación se enfocó también en el estudio de la epilepsia, pues es claro que cierto grado de conocimiento de la enfermedad es necesario para el desarrollo del proyecto. De esta forma se estudió la enfermedad, cubriendo desde su definición hasta aspectos mucho más profundos, tal como se expone en el marco teórico de este documento.

(13)

Selección de bases de datos

El siguiente punto en el desarrollo del proyecto fue la selección de los datos que serían utilizados para aplicar el algoritmo. Los datos corresponden a diversos pacientes epilépticos cuyas señales de EEG provienen de la base de datos EPILEPSIAE [14] suministrada por el profesor Mario Valderrama. Los datos corresponden a señales obtenidas a través de electrodos intracraneales, para las cuales los pacientes permanecen anónimos, pero se tienen datos como las diferentes horas de estudio, los canales (electrodos) utilizados, frecuencias de muestreo, así como horas específicas de las crisis de epilepsia. Debido al gran volumen de señales es claro que la base de datos no puede ser utilizada en su totalidad y por esta razón se debe realizar una selección de los datos que serán utilizados. Con asesoría del profesor Valderrama finalmente se escogieron registros de pacientes que tenían datos de por los menos 8 horas previas a una crisis, lo cual permitía tener información suficiente para desarrollar los algoritmos. La información seleccionada corresponde a 5 pacientes diferentes, cada uno con diferentes registros de crisis de epilepsia, para las cuales se tienen 9 archivos en total. Cada archivo corresponde a una hora de EEG, 8 horas previas y la ultima correspondiente a la hora durante la cual ocurre la crisis. La frecuencia de muestreo para los diferentes archivos corresponde a 1024 muestras por segundo y dependiendo del paciente se hizo el registro utilizando hasta un total de 113 electrodos. En la tabla se muestran los 5 pacientes utilizados, cada uno con el código mediante el cual es identificado y con el número de crisis que se tenían disponibles para el desarrollo del proyecto.

Paciente Crisis

59002 4 62002 4 63502 5 92202 4 108402 7

Tabla 1. Numero de crisis de cada paciente

Desarrollo de algoritmos

La siguiente etapa del proyecto consistió en el desarrollo de los algoritmos de aprendizaje que permitían clasificar los datos seleccionados previamente y de esta forma obtener los resultados esperados. Cabe resaltar que la implementación de esta etapa se llevó a cabo en su totalidad utilizando el software de desarrollo de Matlab. En primer lugar fue necesario desarrollar una etapa de preprocesamiento de los datos y aplicar métodos que permitieran obtener las que realmente serían las entradas del algoritmo de aprendizaje (descriptores). Un primer paso en el manejo de las señales fue la concatenación de estas, teniendo en cuenta que los registros de 9 horas se encontraban separados en diferentes archivos, con lo cual era posible visualizar el registro completo. Adicionalmente fue necesario filtrar las señales de EEG a diferentes bandas de frecuencia de tal forma que fuera posible obtener diferentes características de la señal. Específicamente las bandas frecuencia utilizadas fueron 0.3Hz a 4Hz, 4Hz a

(14)

8Hz, 8Hz a 12Hz, 12Hz a 18Hz, 18Hz a 30Hz, 30Hz a 49Hz, 51Hz a 99Hz, 101Hz a 199Hz y 201Hz a 420Hz. En la figura 2 se muestra un ejemplo del preprocesamiento realizado, donde es posible visualizar dos canales diferentes con su respectivo filtraje en la última banda de frecuencia (200Hz a 420Hz) y adicionalmente se muestra la señal correspondiente al ECG. La visualización corresponde a las 9 horas completas de registro, teniendo en cuenta que el tiempo está dado en minutos y va aumentando hasta el momento de la crisis el cual está indicado por la línea vertical roja.

Figura 2. Visualización de dos canales junto con su filtraje en la banda de 200Hz a 420Hz. Adicionalmente se muestra la señal correspondiente al ECG.

Por otro lado fue necesario desarrollar un algoritmo para extraer los diferentes descriptores de la señal, y de esta forma obtener una entrada adecuada para el algoritmo de clustering. En primer lugar la señal se separó en ventanas móviles de 3 segundos, y utilizando un tamaño de paso de 3 segundos, de tal forma que no hubiera sobrelapamiento. Los descriptores extraídos de cada una de estas ventanas corresponden al valor RMS, la potencia absoluta y la potencia relativa por banda, cada uno calculado sobre la señal filtrada en las diferentes bandas de frecuencia mostradas anteriormente, de esta forma se obtuvieron en total 27 descriptores. Adicionalmente se agregaron 5 descriptores estadísticos, los cuales se calcularon para un filtraje sobre todo el rango de frecuencias, es decir, de 0.3Hz a 420Hz. Estos últimos descriptores corresponden a la media, la varianza, la mediana, el skewness o asimetría estadística y la curtosis. Los datos obtenidos se almacenaron en una matriz donde se registran los 32 descriptores para cada una de las ventanas, es decir, cada una de estas matrices tiene un tamaño de 32 filas por el numero de columnas correspondiente al número de ventanas del registro. Cabe resaltar que este análisis se desarrolló sobre cada uno de los canales de la base de datos y por cada hora de registro, de esta forma se obtuvo

(15)

una celda donde se almacenan cerca de 113 matrices (dependiendo del número de electrodos utilizados en el paciente) cada una correspondientes a los diferentes canales del estudio. En la figura 4 se muestra como ejemplo el comportamiento obtenido para un canal en particular usando los tres descriptores en la primera banda de frecuencia (0.3Hz – 4Hz). La figura que se muestra corresponde al análisis hecho sobre los datos de una hora de registro, por esta razón se tiene un total de 1200 ventanas, cada una de 3 segundos.

Figura 3. Descriptores en la banda 0.3Hz – 4Hz para una hora de registro

Así pues se obtuvo como resultado una nueva base de datos, donde cada archivo correspondía al archivo de la base de datos inicial, pero en este caso no se tenía la información de las señales sino la celda que contenía las diferentes matrices de descriptores obtenidas para cada canal. Sin embargo estos descriptores aún no servían como entradas para el algoritmo de clustering, en primer lugar porque los registros se encontraban divididos en archivos de una hora, y en segundo lugar porque se necesitaba aplicar un preprocesamiento de tal forma que el trabajo del método de clustering fuera más efectivo. Adicionalmente hasta este momento las matrices de descriptores incluían el periodo transcurrido después de la crisis, el cual claramente no se debe tener en cuenta, puesto que si se buscan periodos interictales y preictales todo el análisis debe ser previo al evento de la crisis.

De esta forma se desarrolló otro algoritmo que tomaba como entrada las matrices de descriptores obtenidas previamente y se entregaba una matriz de datos lista para aplicar el método de clustering. El resultado fue un algoritmo que permite elegir los canales deseados para el análisis, y a partir de estos se concatenan solo las matrices de descriptores deseadas. Así pues, se forma una matriz mucho más grande que reúne todos los descriptores de los canales elegidos, no solo para una hora de registro, sino para las 9 horas que se tienen para cada crisis. Ya teniendo la matriz completa donde se reúnen todos los datos para ser analizados con el método de clustering, se eliminan aquellos que corresponden al periodo de la crisis o posterior a esta. Esto se realiza eliminando las últimas columnas de la matriz a partir de la hora en la cual ocurre la crisis. Cabe resaltar que la hora utilizada corresponde al comienzo detectado mediante

0 200 400 600 800 1000 1200

0 200 400 600 R M S Canal G-A1

0 200 400 600 800 1000 1200

0 1 2x 10

5 P o te n c ia A b s o lu ta

0 200 400 600 800 1000 1200

0 0.5 1 P o te n c ia R e la ti v a Ventanas

(16)

el EEG y no al comienzo clínico de la crisis, que es el momento en el que se hacen evidentes los síntomas. Adicionalmente es importante mencionar que para cada crisis se tenía el registro exacto de la hora, teniendo en cuenta minutos y segundos, lo que aumenta la precisión de los datos utilizados. Finalmente fue necesario aplicar un último preprocesamiento mediante el cual se buscaba eliminar los outliers o datos extremos de cada descriptor, los cuales podían afectar el desempeño del método de clustering. Este ‘suavizado’ de los datos consistió en calcular una mediana cada 20 ventanas y para cada fila de la matriz, es decir para cada uno de los descriptores de los diferentes canales. Es importante aclarar que aunque la mediana se calculaba para 20 ventanas conjuntas, el tamaño de la matriz permaneció igual, esto debido a que el valor obtenido de la mediana se almacenaba en la posición correspondiente a la primera de esas ventanas. Es decir, se tomaban las primeras 20 ventanas y su mediana se almacenaba en la primera posición, luego se tomaban 20 ventanas a partir de la segunda y su mediana se almacenada en la posición 2, y así sucesivamente hasta completar el tamaño total de la fila. De esta forma la matriz conservaba su tamaño original que finalmente era:

En resumen el número de filas correspondía al número total de descriptores teniendo en cuenta todos los canales elegidos y el numero de columnas era igual número de ventanas para las casi 9 horas de registro, es decir, cerca de 10.800 recordando que las ventanas utilizadas son de 3 segundos. Esto último corresponde a valores aproximados, pues debe tenerse en cuenta parte de la ultima hora de registro es eliminada debido a que hace parte del periodo post-crisis.

Figura 4. Descriptores estadísticos para las nueve horas de registro

-500 -450 -400 -350 -300 -250 -200 -150 -100 -50 0 -100 0 100 M e a n

Descriptores (0.3Hz - 420Hz)

-500 -450 -400 -350 -300 -250 -200 -150 -100 -50 0 2

4 6 8 10 12x 10

5 V a ri a n c e

-500 -450 -400 -350 -300 -250 -200 -150 -100 -50 0 -1000 100 200 300 M e d ia n

-500 -450 -400 -350 -300 -250 -200 -150 -100 -50 0 -4 -2 0 2 S k e w n e s s

-500 -450 -400 -350 -300 -250 -200 -150 -100 -50 0 20 40 K u rt o s is Minutos

(17)

En la figura 4 se observan los descriptores estadísticos para un canal en particular, luego de ser concatenadas las 9 horas de registro. Es claro que en cada uno de los descriptores existen algunos datos que se encuentran muy por encima del rango que presentan los demás datos y son estos los llamados outliers que se buscan suavizar usando el cálculo de la mediana. Por otro lado, en la figura 5 se muestran nuevamente los descriptores estadísticos para las horas previas a la crisis y de un canal en particular, pero esta vez después de aplicar el preprocesamiento de la mediana. A diferencia de la figura 4, donde el eje del tiempo está dado en minutos restantes para la crisis, aquí se muestran en ventanas de 3 segundos, adicionalmente la crisis no está señalada explícitamente pues todo el registro corresponde a datos previos a la crisis y por lo tanto esta se encuentra exactamente al final. Así pues, en esta figura es posible observar que los datos para cada uno de los descriptores ahora se encuentran en un rango mucho más estrecho y que no se presentan diferencias anormales entre estos. Es finalmente esto lo que se esperaba lograr, de tal forma que los datos utilizados fueran los más apropiados para obtener el mejor desempeño del método de clustering seleccionado. Así pues, la matriz obtenida hasta este momento es finalmente la que se utilizó como entrada para el algoritmo de clustering.

Figura 5. Descriptores estadísticos luego de aplicar el preprocesamiento de la mediana

Aplicación de algoritmos y validación

La siguiente etapa consistió en la aplicación de los métodos de clasificación como tal, es decir la aplicación de los algoritmos de clustering sobre los datos obtenidos previamente. Por razones de tiempo y calidad en el desempeño de los algoritmos se decidió finalmente no desarrollar un método de clustering sino utilizar uno ya existente. El algoritmo utilizado fue el K-means de Matlab, el cual funciona tal como se describe en el marco teórico de este documento. Para su uso en el proyecto, la medida

0 1000 2000 3000 4000 5000 6000 7000

-4 -2 0 2 4 M e a n

Descriptores (0.3Hz - 420Hz)

0 1000 2000 3000 4000 5000 6000 7000

0 2 4 6 8 V a ri a n c e

0 1000 2000 3000 4000 5000 6000 7000

-4 -20 2 M e d ia n

0 1000 2000 3000 4000 5000 6000 7000

0 2 4 S k e w n e s s

0 1000 2000 3000 4000 5000 6000 7000

-2 0 2 4 K u rt o s is Ventanas

(18)

de distancia utilizada fue la distancia Euclidiana y la forma de inicializar el algoritmo o de escoger los centros iniciales se hizo de forma aleatoria. Adicionalmente se utilizó la opción replicates del método, la cual permite correr varias veces el algoritmo sobre la matriz de entrada, cada una de estas utilizando puntos iniciales diferentes. Finalmente el algoritmo entrega la estructura de clusters que presente el menor error. El parámetro de replicates se estableció como igual a 3, es decir, cada clustering se realizaba tres veces antes de entregar un resultado.

Electrodos utilizados K inicial

Foco 5 10 15 20

Foco y Cercanos 5 10 15 20

Aleatorios 5 10 15 20

Tabla 2. Estrategias utilizadas para el método de clustering

Ahora bien la aplicación del K-means sobre los datos se hizo utilizando diferentes estrategias, las cuales se resumen en la tabla 2. Esta información se refiere a las diferentes formas en que se obtuvieron resultados para cada una de las crisis de los 5 pacientes. Se debe recordar que la entrada al algoritmo de clustering es la tabla de descriptores de cada una de las crisis, la cual varía dependiendo de los canales seleccionados, por esta razón las estrategias se dividen principalmente en los tipos de electrodos utilizados. Los electrodos foco hacen referencia a aquellos electrodos que registraron la mayor actividad durante la crisis, es decir, aquellos que estaban ubicados en el foco de la crisis. Los electrodos foco y cercanos, tal como su nombre lo indica, hacen referencia a los electrodos que se describieron anteriormente, junto con aquellos electrodos que fueron ubicados físicamente cerca de estos. Finalmente lo electrodos aleatorios corresponden a 10 electrodos que fueron escogidos del total de electrodos del paciente, sin tener en cuenta aquellos que ya aparecían como foco o como cercanos. Es importante tener en cuenta que aunque cada crisis en particular presentaba diferentes electrodos foco y por ende electrodos cercanos, la selección de los electrodos se hacía para el paciente en general, de tal forma que al momento de obtener la matriz de descriptores de cada crisis, se hacía teniendo en cuenta todos los electrodos foco o cercanos de todas las crisis de ese paciente. A continuación se muestra una tabla donde se resumen el número de electrodos utilizados para cada paciente en cada una de las diferentes estrategias.

Paciente Electrodos Foco Electrodos Foco y Cercanos Electrodos Aleatorios

59002 5 17 10

62002 3 16 10

63502 2 6 10

92202 16 28 10

108402 6 46 10

(19)

Adicionalmente se utilizaron diferentes estrategias para cada uno los tipos de electrodos seleccionados. Específicamente se varió el valor K, correspondiente al número de clusters, definido como parámetro inicial para el algoritmo. Tal como se muestra en la tabla 2, se definieron cuatro valores diferentes para K; 5, 10, 15 y 20 respectivamente. En resumen, los pasos a seguir para la aplicación de los métodos de clustering consistían en primer lugar en la obtención de la matriz de descriptores. Esto a partir de los algoritmos descritos en la etapa anterior del proyecto y teniendo en cuenta los electrodos seleccionados dependiendo del paciente y de la estrategia utilizada. Posteriormente se corría el algoritmo de K-means de Matlab sobre esta matriz, utilizando los cuatro valores diferentes para K y con esto se observaron los resultados obtenidos. Debe tenerse en cuenta que este proceso se realizó para cada una de las crisis de la base de datos, un total de 24 crisis tal como muestra la tabla 1, y que las matrices sobre las cuales se aplicó el algoritmo correspondía a las matrices de descriptores transpuestas, pues para el K-means de Matlab las filas corresponden a los datos, mientras que las columnas corresponden a las variables.

Ahora bien, la validación de los resultados obtenidos se realizó teniendo en cuenta que el objetivo principal del proyecto es encontrar cierta agrupación relevante que demuestre alguna diferenciación temporal. Por esta razón el método utilizado para validar los clusters obtenidos con el algoritmo de K-means fue buscar en cada uno de los clusters obtenidos, concentraciones de datos que estuvieran temporalmente cerca. Así pues, se desarrolló un algoritmo de validación donde se buscaba para cada cluster datos que estuvieran seguidos o por que por lo menos no estuvieran separados más de cierta tiempo. Este parámetro de separación finalmente se definió en 100 ventanas, de 3 segundos cada una, es decir 5 minutos. Adicionalmente se buscaba que la concentración tuviera más del 60% de los datos del cluster, de tal forma que la concentración sí fuera relevante y que no se tuvieran varios grupos pequeños de datos distribuidos a lo largo del tiempo. Es importante resaltar que el tamaño mínimo de un cluster para ser valido también se estableció como parámetro y finalmente la validación se hizo utilizando un tamaño mínimo de 20 datos. Es decir, si el cluster tenía menos de 20 ventanas asignadas (1 minuto) este no se tenía en cuenta para el análisis de resultados.

6.1 Plan de trabajo

En la figura 6 se muestra un cuadro con las tareas principales desarrolladas durante el proyecto, divididas en las mismas categorías que se expusieron en la sección anterior. Igualmente se muestra el tiempo aproximado que se designó para cada una de estas actividades. Cabe resaltar que durante la duración del proyecto se realizaron reuniones casi todas las semanas con los asesores del proyecto. Estas reuniones se llevaron a cabo de diferente forma, ya fuera mediante una charla directa con el asesor para comprobar los avances y asignar nuevas tareas o asistiendo a seminarios relacionados con el desarrollo del proyecto. De igual forma se realizaron 3 exposiciones parciales durante el tiempo de trabajo, con las cuales se buscaba mostrar

(20)

los logros alcanzados hasta el momento y recibir sugerencias que pudieran mejorar el proyecto y encaminarlo correctamente. Finalmente es importante resaltar que a finales del mes de septiembre, es decir, aproximadamente a mitad de proyecto se presentó un informe de avance que permitió aclarar hacia donde se estaba dirigiendo el trabajo y si se estaba cumpliendo con las metas propuestas inicialmente, de esta forma se pudieron realizar cambios y estructurar mejor el proyecto.

Figura 6. Plan de trabajo desarrollado durante el proyecto

6.2 Búsqueda de información

En cuanto a las fuentes de información utilizadas durante el proyecto, estas variaron considerablemente dependiendo del tema que se estuviera investigando. De forma específica la información relacionada con la epilepsia como enfermedad fue obtenida en páginas web institucionales, pertenecientes en su mayoría al sector médico, ya fueran hospitales o fundaciones relacionadas con la enfermedad. Esto debido a que la información contenida en estos medios se encuentra constantemente actualizada

Aplicación y validación Aplicación del algoritmo de clustering seleccionado a los

descriptores obtenidos.

Validación y analisis de resultados obtenidos usando diferentes estrategias.

Duración: 4 semanas Desarrollo de algoritmos

Desarrollo de algoritmos de preprocesamiento y obtención de descriptores.

Desarrollo de los algoritmos de validación.

Duración: 10 semanas Selección bases de datos

Obtención de las crisis de epilepsia de 5 pacientes diferentes a partir de la base de datos del profesor Valderrama.

Duración: 1 semana Revisión estado del arte

Estudio de algoritmos de clustering.

Estudio de métodos de anticipación de crisis de epilepsia.

Duración: 3 semanas

(21)

brindando información reciente y relevante, adicionalmente son fuentes confiables, pues tal como se dijo pertenecen a instituciones y fundaciones reconocidas internacionalmente. Las páginas web consultadas se muestran en las referencias [7]-[10].

Con respecto a la investigación realizada sobre los métodos existentes en la anticipación de crisis de epilepsia, la mayor cantidad de información provino de papers académicos, tanto en el área de la ingeniería como de la medicina. A partir de estos artículos fue posible obtener una idea del área de trabajo y más aun de los antecedentes desarrollados hasta el momento. La totalidad de las fuentes consultadas son de máximo de 10 años de antigüedad y la mayoría tienen una fecha menor a 5 años. Esto permitió obtener información relativamente reciente y que aún es válida en los problemas desarrollados en la actualidad. Tal vez la fuente más importante en este aspecto fue el artículo de Mormann et al. “Seizure prediction: the long and winding road” [1], pues tal como se dijo anteriormente otorga un recorrido sobre la mayor parte de la historia de los métodos de anticipación de crisis de epilepsia y describe los mayores problemas que enfrenta esta área.

Finalmente en cuanto a la información obtenida para los métodos de clustering se utilizó principalmente el material de Rokach y Maimon [11], en el cual se expone un completo análisis de clustering, tanto de los algoritmos existentes, como de la teoría que soporta el funcionamiento de estos métodos. Adicionalmente se exponen ventajas y desventajas de los diferentes métodos y se ofrecen soluciones a problemas típicos de clustering como es el uso de grandes bases de datos. De igual forma el profesor Fernando Lozano, asesor de este proyecto, contribuyó en gran medida en todo lo relacionado con los algoritmos de aprendizaje, dado su conocimiento y experiencia en el tema. Entre esto a la selección del algoritmo de clustering utilizado.

6.3 Alternativas de desarrollo

Tal vez la alternativa de desarrollo más importante para el proyecto fue la decisión entre usar un método clustering jerárquico o particional, específicamente el K-means. Ambos métodos resultaban bastante convenientes para resolver el problema planteado y cada uno ofrecía diferentes ventajas y desventajas. En cuanto al algoritmo de clustering jerárquico sus principales puntos a favor eran su versatilidad y su capacidad de otorgar múltiples particiones. La primera de estas, relacionada con la posibilidad de usar el método en clusters con formas no isotrópicas y por ende su fácil adaptación a diversas estructuras de datos. Adicionalmente la posibilidad de tener múltiples particiones permite seleccionar hasta donde se hace el agrupamiento y por lo tanto obtener la estructura de clusters deseada sin necesidad de definir el número de clusters previamente, lo que sí es necesario para el K-means. Sin embargo el método jerárquico también presenta ciertas desventajas, entre ellas la inhabilidad para deshacer lo que se ha hecho y más importante aún los problemas que presenta con la escalabilidad. Esto debido a que su complejidad computacional no es lineal y por lo tanto un gran número de datos hacen que el algoritmo se vuelve ineficiente. Es

(22)

allí donde juega un papel importante el algoritmo de K-means, pues su complejidad sí es lineal con respecto al número de datos utilizados, lo que lo hace mucho más eficiente que el clustering jerárquico. Fue esto precisamente lo que motivó la selección del K-means, junto con su simplicidad de funcionamiento, pues para el proyecto se tenían una gran cantidad de datos al igual que una cantidad de variables. Adicionalmente las debilidades que presenta el algoritmo de K-means se aliviaron de diferentes formas, por ejemplo la selección de los parámetros iniciales se compensa con el uso de diferentes K para obtener los resultados. Igualmente el uso de un preprocesamiento para eliminar los outliers puede disminuir los efectos adversos que se desarrollan por la alta sensibilidad que tiene el algoritmo al ruido.

Otra alternativa que se propuso en el desarrollo del proyecto pero que finalmente se descartó fue el uso de la desigualdad de Chebychev, la cual se define como:

La desigualdad afirma que la probabilidad de que un dato esté apartado k desviaciones estándar de la media es menor o igual a . La idea era utilizar este principio para eliminar los outliers de la matriz de descriptores y de cierta forma “limpiarla” para poder utilizarla en el algoritmo de clustering. Lo que se planteó e incluso se desarrolló como prueba fue la eliminación de los datos que estuvieran apartados k desviaciones estándar o más de la media, para un k seleccionado previamente. Sin embargo se debía eliminar la columna completa de la matriz y no solo ese dato en particular. Por esta razón el método presentaba problemas, pues podían llegar a eliminarse datos que sí fueran relevantes e incluso la eliminación total del outlier podría suponer la pérdida de información importante para el clustering. Debido a esto se decidió aplicar un preprocesamiento calculando la mediana para cada minuto, es decir, cada 20 ventanas, tal como se explica anteriormente. Pues de esta forma se suavizan los datos sin perder información relevante.

Finalmente se había desarrollado una estrategia adicional para el clustering, utilizando como parámetro inicial K=2. Luego se tomaban los dos primeros clusters y se dividía cada uno en dos clusters más, y así sucesivamente para cuatro iteraciones, obteniendo un total de 30 clusters. Aunque la estrategia se implementó, se decidió no incluirla en la validación de resultados, pues los resultados obtenidos con esta no eran concluyentes, ya que el sistema utilizado para crear nuevas particiones funciona para un clustering jerárquico y no para el K-means utilizado. Por esta razón en la validación de resultados solo se utilizan las estrategias de K=5, K=10, K=15 y K=20, las cuales se aplican una sola vez y se observa el resultado.

Con respecto a la inicialización del K-means, cabe resaltar que se desarrolló una pequeña etapa de pruebas para seleccionar los parámetros iniciales utilizados. En primer lugar se quería determinar la influencia que tenía la selección de los centroides iniciales de cada cluster, también llamadas semillas, sobre el resultado obtenido con el

(23)

clustering. Por esta razón se seleccionó una crisis en particular para cada paciente y sobre esta se aplicó el K-means usando diferentes K iniciales. Este proceso se corrió en 5 ocasiones diferentes y para cada ocasión se utilizó un grupo de semillas diferentes. Para cada iteración del proceso, las semillas correspondían a datos seleccionados aleatoriamente de la matriz de descriptores, es decir, cada semilla correspondía a una ventana cualquiera de 3 segundos. De esta forma se garantizaba que las semillas tuvieran la misma cantidad de variables en el espacio, es decir 32 por el número de canales, correspondientes a todos los descriptores de los canales seleccionados. Para cada una de las iteraciones se desarrolló la validación, contando el número de clusters que presentaban concentraciones relevantes y con esta información se completó la tabla 4, donde se reúnen los resultados de esta etapa de evaluación. Es claro que aunque sí se presentan algunas diferencias entre las iteraciones que usan distintos puntos de inicio, estas diferencias no son muy marcadas e incluso para algunos pacientes no hay diferencia alguna. Por esta razón se decidió mantener la selección de los puntos iniciales de forma aleatoria y establecer el valor del número de veces que se replica igual a 3.

Tabla 4. Pruebas de clustering usando diferentes puntos iniciales

7

TRABAJO REALIZADO

El trabajo realizado mediante este proyecto consiste en un algoritmo de procesamiento de señales, que permite tomar las señales de EEG de crisis de pacientes epilépticos y obtener una matriz de descriptores que puede ser utilizada como entrada

Crisis K inicial 1 2 3 4 5

5 0 1 0 0 0

10 0 0 0 0 0

15 1 1 1 1 1

20 1 1 1 1 2

5 2 2 2 2 2

10 1 1 1 1 1

15 1 1 1 1 1

20 3 3 3 3 3

5 1 1 1 1 1

10 0 0 0 0 0

15 0 0 0 0 0

20 0 0 0 0 0

5 2 2 2 2 1

10 0 0 0 0 0

15 1 1 1 1 1

20 1 2 2 1 2

5 1 1 1 1 1

10 2 2 2 2 2

15 2 2 1 3 2

20 2 4 3 3 4

92200102_019

108401102_081

Iteración (Cambiando semillas) Electrodos Foco

59001102_058

62001102_147

(24)

de un algoritmo de clustering. Igualmente es parte del trabajo realizado los algoritmos de validación que permiten analizar los resultados obtenidos con el método de clustering y de esta forma responder la pregunta planteada por el proyecto. En la figura 7 se muestra un diagrama que resume el funcionamiento completo del algoritmo.

Figura 7. Trabajo realizado

7.1 Descripción del Resultado Final

El resultado del trabajo realizado puede dividirse en dos grandes categorías, el algoritmo de preprocesamiento y el algoritmo de validación. En cuanto al algoritmo de procesamiento de las señales, tal como se explicó previamente, se implementó en diferentes etapas, cada una de las cuales cumplía una función diferente, pero todas encaminadas a obtener el resultado final, es decir, la matriz necesaria para aplicar un algoritmo de clustering y de esta forma continuar con la solución del problema planteado por el proyecto. El primer punto en el desarrollo del algoritmo fue la visualización de las señales de la bases de datos, de esta forma la primera tarea que se llevó a cabo fue la concatenación de las señales, las cuales se encontraban separadas en registros de una hora. Estando concatenadas fue posible visualizar las 9 horas completas del registro y de esta forma tener una idea previa de la señal que se trabajaría. El siguiente punto en el procesamiento de las señales fue el filtraje en las bandas de frecuencia descritas anteriormente con lo cual es posible obtener los primeros descriptores para ventanas de tiempo de 3 segundos, específicamente el RMS, la potencia relativa y la potencia absoluta para cada una de las 9 bandas. Adicionalmente se realiza un filtraje en todo el rango de frecuencias utilizado anteriormente y de este se obtienen los 5 descriptores restantes, es decir, los

Concatenación de los archivos de 1 hora para obtener

registro completo

Visualización de las señales de EEG

(9 horas)

Filtraje en las 9 bandas de frecuencia

Cálculo de los 32 descriptores por ventanas de 3

segundos

Matriz de descriptores de cada

canal por archivos de 1 hora

Concatenación de matrices para las 9 horas y para canales

seleccionados

Cálculo de la mediana cada 20

ventanas para eliminar outliers

CLUSTERING

Validación mediante conteo de concentraciones en

(25)

descriptores estadísticos correspondientes a la media, la varianza, la mediana, la asimetría y la curtosis, nuevamente para ventanas de 3 segundos. Con los 32 descriptores obtenidos, se lleva a cabo una última etapa de preprocesamiento antes de aplicar el algoritmo de clustering. De acuerdo a esto se concatenan las matrices de descriptores para las 9 horas de registro de cada crisis y para los canales deseados. Estos canales son seleccionados de acuerdo a la información de cada paciente en particular y a la estrategia de clustering utilizada. Adicionalmente se eliminan las ventanas correspondientes al periodo post-crisis y se aplica el cálculo de la mediana para cada descriptor en rangos de un minuto, de tal forma que se suavicen los datos y se elimine el ruido y los outliers. Es esta matriz final la que sirve como material para desarrollar el clustering.

Por otro lado para la etapa de validación se desarrolló un algoritmo capaz de identificar las concentraciones relevantes de cada cluster, es decir aquellos datos que hacen parte un mismo cluster y que adicionalmente se encuentran reunidos en un mismo espacio temporal. La tarea consiste en analizar cada uno de los clusters de las diferentes estrategias de clustering aplicadas a cada crisis de epilepsia. Teniendo pues el cluster como entrada, el algoritmo suma aquellos datos que estén juntos o cuya separación sea menor a los 5 minutos (100 ventanas) y por ultimo observa si la concentración contiene más del 60% de los datos del cluster. El algoritmo igualmente desprecia clusters cuyo número de datos asignados es menor a 20. Cabe resaltar que tanto el valor del tiempo de separación, como el porcentaje de concentración y el tamaño mínimo del cluster son parámetros que pueden ser modificados en el algoritmo. Finalmente el algoritmo entrega un vector de 1’s y 0’s para cada una de las estrategias de clustering, lo cual indica cuantos de los clusters de cada estrategia contienen una concentración relevante.

7.2 Trabajo computacional

Para el desarrollo de todas etapas del proyecto se utilizó el software de Matlab mediante el cual se desarrollaron los algoritmos y se hicieron las pruebas necesarias sobre las bases de datos. De igual forma se utilizó un método propio de este software, particularmente el algoritmo de K-means. Por esta razón la totalidad del proyecto está desarrollado en el lenguaje de Matlab y el trabajo realizado se entrega como archivos .m.

Es importante resaltar que todas las figuras obtenidas durante el proyecto, tanto en la etapa de desarrollo como en la etapa de resultados, fueron graficadas usando Matlab, sin embargo fueron copiadas como imágenes en un formato que puede ser manipulado en cualquier programa, de tal forma que no fuera necesario utilizar Matlab para ser visualizadas. Por otro lado los resultados obtenidos en la validación fueron presentados en tablas de Excel, lo cual permitió organizar más fácilmente la información y realizar algunas operaciones que permitan concluir a partir de estos resultados.

(26)

8

VALIDACIÓN DEL TRABAJO

8.1 Metodología de prueba

Para la validación de los resultados del clustering y la obtención de información concluyente se aplicó un protocolo de pruebas dividido en dos etapas. En primer lugar se observaron los resultados obtenidos con el algoritmo mencionado anteriormente mediante el cual se hace el conteo de las concentraciones relevantes de cada cluster. Tal como se dijo, este algoritmo reconoce aquellos grupos que contienen por lo menos el 60% de las ventanas asignadas al cluster y cuya separación máxima entre los datos es de 100 ventanas, es decir, 5 minutos. Adicionalmente el algoritmo desprecia clusters que tienen menos de 20 ventas, es decir, un minuto de información, pues se considera que no es suficiente para llegar a conclusiones relevantes. Usando la información obtenida se completó una tabla por cada paciente donde se resumen los resultados para cada una de las crisis, teniendo en cuenta las diferentes estrategias de clustering. Los valores que se presentan corresponden al número de clusters que presentaron concentraciones relevantes en cada estrategia y se reúnen en las tablas 5 a 9.

Usando los resultados de la etapa 1, se aplico el segundo protocolo de prueba, con el cual se verificó la validez de los valores obtenidos anteriormente. Así pues, para cada crisis se graficaron las estructuras de clustering de las estrategias que presentaban concentraciones. A partir de estas imágenes, tal como la que se muestra en la figura 8, se observó la ubicación temporal de las concentraciones, es decir en qué punto de todo el tiempo de registro se encontraba la agrupación de datos registrada. A partir de esto se consideró la agrupación relevante si esta se encontraba al principio o al final del registro, pues esto muestra indicios de una diferenciación entre un estado normal del paciente y un estado previo a la crisis, que es lo que finalmente se buscaba. Por otro lado si la concentración se encontraba en medio del registro o aparecía en algún punto que no mostrara indicios de un estado diferenciador, se asumía como una concentración no relevante y se descartaba de la validación final.

8.2 Validación de los resultados del trabajo

En esta sección se muestran los resultados obtenidos mediante los protocolos de prueba que se explicaron anteriormente. Las tablas 5 a 9 resumen los valores obtenidos para cada paciente y para cada caso se muestran figuras donde se ilustra la estructura de clustering obtenida, esto con el fin de respaldar los resultados enunciados a partir del segundo protocolo de prueba. Finalmente se muestra una tabla resumen donde se compilan los resultados de todos los pacientes y se hace un balance general de lo obtenido en la validación.

Es importante mencionar la estructura de las tablas que se mostrarán a continuación de tal forma que sea más fácil interpretar los datos. En estas se muestra el registro de cada crisis y para cada una aparecen las tres estrategias utilizadas en el clustering,

(27)

usando electrodos foco, electrodos foco y cercanos y electrodos aleatorios. Adicionalmente los datos se dividen en el numero de clusters inicial establecido para cada estrategia, 5, 10, 15 y 20 clusters respectivamente. Por último se muestra la columna de observaciones donde se resumen los resultados del segundo protocolo de pruebas, es decir la observación de la estructura de clustering para cada estrategia. Los casos marcados como “Si” y “Si (Comienzo)” hacen referencia a aquellos donde se encontraron concentraciones relevantes, ya fuera al final o al comienzo del registro respectivamente. Aquellos casos donde se muestra “No” se refiere a las estrategias donde el resultado no fue válido, ya sea porque no se encontraron concentraciones o porque las concentraciones no estaban ubicadas en puntos relevantes del registro.

Tabla 5. Resultados paciente 59002

Figura 8. Estructura de clustering para crisis 59001102_058 usando electrodos aleatorios y K=5

5 10 15 20

Foco 0 0 0 0 No

Foco y cercanos 0 0 0 0 No

Aleatorios 0 0 0 0 No

Foco 1 0 0 2 Si

Foco y cercanos 1 2 3 1 Si

Aleatorios 2 2 4 5 Si

Foco 1 1 2 2 Si

Foco y cercanos 0 2 2 2 Si

Aleatorios 2 2 2 4 Si

Foco 0 0 0 0 No

Foco y cercanos 0 0 0 0 No

Aleatorios 0 0 0 0 No

K inicial Crisis Estrategia (Electrodos)

59000102_037

59001102_058

59001102_076

59001102_143

Paciente 59002

Observaciones

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 1

1.5 2 2.5 3 3.5 4 4.5 5

Ventanas

C

lu

s

te

Referencias

Documento similar

 Para recibir todos los números de referencia en un solo correo electrónico, es necesario que las solicitudes estén cumplimentadas y sean todos los datos válidos, incluido el

1) La Dedicatoria a la dama culta, doña Escolástica Polyanthea de Calepino, señora de Trilingüe y Babilonia. 2) El Prólogo al lector de lenguaje culto: apenado por el avan- ce de

El objetivo final de la política reformista de Deng, era que China llegara a ser una potencia de primera línea mediante un crecimiento económico y el desarrollo tecnológico,

Este mismo régimen de deberes tiene sentido cuando la actuación de reforma o renovación significa un cambio radical de la morfología urbana, normalmente acompa- ñado por un cambio

La Historia de la nación chichimeca 6 de Fernando de Alva Ixtlilxóchitl es una obra escrita en el primer tercio del siglo XVII. Des- cendiente Fernando de Alva

a) Implement a new architecture, making efficient use of new technological developments, information sources, and analytical methods. b) Establish an institutional and

Una vez se hayan valorado las solicitudes, el MS publicará en su página web y con anterioridad a fi nalizar el plazo de nominación, la autoridad competente nominada como

Se trata de realizar un breve recorrido histórico sobre las organizaciones universitarias de mujeres que trabajan con el problema de la discriminación dentro del mundo académico