Caso práctico 4 - Conectividad (1) PDF

Title Caso práctico 4 - Conectividad (1)
Course SBIO
Institution Universidad Politécnica de Madrid
Pages 13
File Size 357 KB
File Type PDF
Total Downloads 66
Total Views 139

Summary

Download Caso práctico 4 - Conectividad (1) PDF


Description

UNIVERSIDAD POLITÉCNICA DE MADRID

GRADO EN INGENIERÍA BIOMÉDICA

CASO PRÁCTICO 4: CONECTIVIDAD Alicia Aglio Caballero Patricia Cantón Lobera Itziar Ortiz Díez

SEÑALES BIOMÉDICAS 2014/2015

Alicia Aglio Caballero, Patricia Cantón Lobera, Itziar Ortiz Díez. GIB 2014/15

INSTRUCCIONES  

 

Este documento contiene una guía para realizar el Caso Práctico 4 (CP4). Utiliza este mismo documento para contestar a las preguntas. Asegúrate de que tus respuestas están escritas en color negro para que sea más sencillo distinguirlas del texto proporcionado. Los archivos necesarios para la realización de este caso práctico se obtienen al descomprimir el archivo Caso práctico 4 – Conectividad.zip. Si tienes dudas, usa el foro creado en el Moodle de la asignatura para exponerlas.

Antes de comenzar es necesario descargar el toolbox de análisis de conectividad en EEG/MEG HERMES, que se proporciona junto con este caso práctico. Para utilizarlo es suficiente con situarse en la carpeta HERMES en Matlab y ejecutar. HERMES

Eso abrirá la interfaz gráfica de HERMES, y será posible utilizar la herramienta.

Alicia Aglio Caballero, Patricia Cantón Lobera, Itziar Ortiz Díez. GIB 2014/15

SISTEMAS HÉNON En la clase de teoría vimos que es imposible establecer la conectividad entre señales, puesto que para ello necesitaríamos conocer a la perfección la relación entre ellas. Lo que sí que podemos hacer es estimarla, haciendo uso de técnicas de análisis de la sincronización. Así, decimos que dos señales están sincronizadas cuando la similitud en su evolución temporal es superior a la esperable por azar. En este caso práctico emplearemos diferentes técnicas de análisis de la sincronización para estimar la conectividad entres dos señales conocidas. Estas señales serán generadas por nosotros, por lo que podemos garantizar cuál será su grado de conectividad. El objetivo, por tanto, es comprobar cómo se comportan distintas técnicas a la hora de estimar la conectividad entre señales. Las señales en que nos vamos a basar pertenecen a un sistema dinámico llamado sistema Hénon. En un sistema Hénon el estado en un instante dado viene dado por el estado en los dos instantes inmediatamente anteriores. Seg ún eso podríamos considerarlo un sistema auto-regresivo de orden 2. No obstante, la relación entre el estado actual y los estados pasados no es lineal, sino cuadrática, por lo que se dice que un sistema Hénon es un sistema no lineal. Es posible construir señales basadas en sistemas Hénon con cierto grado de conectividad. Esto se logra haciendo que una de las señales, además de depender de sus estados anteriores, dependa de los estados anteriores de la otra señal. En este caso a la primera señal se le denomina señal directora, o driver, y a la segunda señal esclava, o slave. La ventaja de estos sistemas es que podemos determinar matemáticamente cuál es el nivel de acoplo real entre ambas señales, lo que los hace óptimos para evaluar las capacidades de los métodos estudiados en la clase de teoría para analizar la conectividad entre señales. En el material adicional de este Caso práctico se proporciona la función henon, diseñada para generar un par de señales basadas en un sistema Hénon con un nivel de acoplo definido por el usuario. Admite tres parámetros: 

 

samples: Este parámetro determina la longitud, en muestras, de la señal de salida. El valor mínimo aceptado es 1000, para permitir una evolución adecuada del sistema. coupling: Este parámetro determina el nivel de acoplo entre los dos sistemas Hénon generados. Acepta valores entre 0 y 1. identical: Este parámetro determina si los dos sistemas Hénon acoplados son o no idénticos. Adepta valores los booleanos true o false.

Alicia Aglio Caballero, Patricia Cantón Lobera, Itziar Ortiz Díez. GIB 2014/15

HERMES HERMES es una toolbox basada en Matlab diseñada para facilitar el estudio de la sincronización entre señales. Permite calcular todos los índices de sincronización vistos en la clase de teoría, y ciertos índices avanzados. La toolbox está basada en proyectos, de forma que puede calcular, de forma simultánea, la sincronización entre distintos pares de señales. Esto facilitará la tarea a lo largo de este Caso práctico. A continuación se incluye un breve tutorial para añadir los conjuntos de datos que generarás a lo largo del caso práctico a la herramienta, calcular distintos índices de conectividad y exportar los resultados obtenidos. Puedes acceder a un manual completo en la web de la herramienta (http://hermes.ctb.upm.es/downloads/) o en el repositorio arXiv (http://arxiv.org/ftp/arxiv/papers/1305/1305.2550.pdf). HERMES se basa en proyectos, por lo que es necesario crear un proyecto para trabajar. La toolbox está diseñada para trabajar con datos de neurociencia, por los que es necesario agrupar los datos en sujetos y condiciones. El resultado es una matriz de sincronización para cada sujeto y condición. Para crear un proyecto, abre la herramienta y selecciona: File → Create new project En la ventana que aparece introduce un nombre para el proyecto y pulsa el botón Load files. Ahí debes seleccionar los archivos que quieres analizar simultáneamente. Cada vez que generes un par de señales acopladas obtendrás dos vectores columna de la longitud que hayas seleccionado. Para poder introducirlos en HERMES debes unir ambos vectores como columnas de una matriz y guardar el resultado en un archivo .mat de Matlab. Eso puede hacer con una instrucción similar a la siguiente: % Generates the Henon time series. [ x, y ] = henon ( 1000, 0.5 ); % Concatenates both time series in a matrix. matrix = [ x, y ]; % Saves the matrix in a file. save ( 'henon0.5.mat', 'matrix' );

Puedes guardar de esta forma pares de señales generadas con distintos niveles de acoplo y cargarlas simultáneamente en el proyecto. Al hacerlo aparece una nueva

Alicia Aglio Caballero, Patricia Cantón Lobera, Itziar Ortiz Díez. GIB 2014/15 ventana en la que se pide que etiquetes los distintos archivos seleccionados en sujetos y condiciones. Te recomiendo definir una condición para cada nivel de acoplo y etiquetar con ella el archivo correspondiente. Para ello, pulsa el botón Automatic Labels junto que aparece junto a Conditions, y en el cuadro que aparece introduce el número de condiciones (niveles de acoplo). Al pulsar Save labels aparecer, en el cuadro de la derecha, la lista de archivos junto con un cuadro desplegable donde puedes seleccionar la condición asociada. Selecciona Condition1 para el nivel de acoplo más bajo, Condition2 para el segundo, etc. NOTA: El paso de etiquetado es el más tedioso de todos. Afortunadamente HERMES incluye una opción para guardar las etiquetas y aplicarlas en otros proyectos. En los siguientes apartados se te pedirá que generes varios conjuntos de señales Hénon acopladas, y que las introduzcas en HERMES. Si los archivos generados en distintos conjuntos de señales tienen los mismos nombres (por ejemplo, en cada conjunto generas 10 archivos y los llamas henon01 a henon10) puedes guardar las etiquetas asignadas en el primer proyecto pulsando Save CSV file. Cuando generes los siguientes proyectos puedes pulsar Load CSV file para cargar el etiquetado anterior, y no tener que etiquetar los datos uno a uno de nuevo.

Tras el etiquetado pulsa el botón OK, y los datos se guardarán. A continuación el programa pregunta por la frecuencia de muestreo de los datos, pero este dato es irrelevante para los índices que vamos a usar, por lo que puedes introducir 1. En el último paso de la creación del proyecto pide seleccionar el layout de sensores empleado por los datos. Como se indicó anteriormente HERMES está diseñado para trabajar con datos EEG o MEG. Podemos omitir este paso pulsando el botón Cancel. Pulsando el botón OK en la ventana de creación de proyecto finalizaremos el proceso, y podremos calcular los índices de sincronización que deseemos. Una vez calculados seleccionando:

los

índices

de

sincronización

puedes

exportarlos

File → Export calculated indexes Tras eso debes seleccionar los índices que desees exportar en la lista, marcar Export to workspace y pulsar el botón OK. Los índices se almacenarán en la variable indexes de tu workspace, y podrás acceder a los índices calculados. Estos índices se almacenan de una forma compleja, pero puedes emplear el siguiente código: idx = cat ( 3, indexes.INDEX.data {:} );

Alicia Aglio Caballero, Patricia Cantón Lobera, Itziar Ortiz Díez. GIB 2014/15 Este código genera una matriz de tres dimensiones de tamaño 2x2xN, donde N es el número de condiciones del proyecto (el número de niveles de acoplo). Los elementos idx ( 1, 2, : ) indican la conectividad entre las dos series temporales para cada condición en la dirección de la primera señal a la segunda. Los elementos idx ( 2, 1, : ) indican la conectividad entre las dos series temporales para cada condición en la dirección de la segunda señal a la primera. INDEX debe ser sustituido por el código del índice que se quiere extraer (COR para la correlación, MI para la información mutua y TE para la entropía de transferencia). Los datos obtenidos en este último paso son los que tendréis que representar y tratar de explicar a lo largo del Caso práctico.

Alicia Aglio Caballero, Patricia Cantón Lobera, Itziar Ortiz Díez. GIB 2014/15

ESTUDIO DE LA SINCRONIZACIÓN ENTRE SISTEMAS HÉNON Genera varios pares de señales Hénon con distinto nivel de acoplo y sistemas no idénticos. Define como mínimo pasos de 0.1 en el nivel de acoplo, con el fin de ver correctamente la evolución. Introduce estas señales en HERMES y calcula su correlación seleccionando Correlation bajo el epígrafe Classic Measures, la información mutua seleccionando Mutual Information bajo el epígrafe Information Theory, y la entropía de transferencia seleccionando Transfer Entropy también bajo el epígrafe Information Theory. Deja en todos los casos los parámetros por defecto. Extrae los valores de sincronización generados para cada medida y cada nivel de acoplo entre los sistemas Hénon. PREGUNTA 1: COMPARA INFORMACIÓN MUTUA. ¿SE

LOS RESULTADOS OBTENIDOS USANDO LA CORRELACIÓN Y LA COMPORTAN AMBOS MÉTODOS IGUAL?

¿A

QUÉ CREES QUE SE

DEBEN ESTAS DIFERENCIAS?

Para responder a esta pregunta usaremos 3 señales que iremos comparando de dos en dos para ver su grado de conectividad con cada uno de los métodos. Correlación de 0.1, 0.3 y 0.6: Uso de la Información Mutua:

Uso de la Correlación:

>> idx = cat ( 3, indexes.MI.data {:} )

>> idx = cat ( 3, indexes.COR.data {:} )

idx(:,:,1) = 0 0.1262

0.1262 0

idx(:,:,1) = 1.0000 -0.0225 -0.0225 1.0000

0.3023 0

idx(:,:,2) = 1.0000 0.0356 0.0356 1.0000

1.2515 0

idx(:,:,3) = 1.0000 0.5788 0.5788 1.0000

idx(:,:,2) = 0 0.3023 idx(:,:,3) = 0 1.2515

Por un lado, la correlación muestra hace referencia a cuan cerca están dos señales lienalmente habando, como vimo en clase, es decir, asume que la relación entre señales es lineal: ambas señales estarían en fase y evolucionarían de forma similar a lo largo del tiempo. Esto nos limita muchísimo en cuanto las señales no poseen estas características. Po otro lado y como su nombre indica, la información mutua

Alicia Aglio Caballero, Patricia Cantón Lobera, Itziar Ortiz Díez. GIB 2014/15 calcula la sincronización a partir de la información que comparten, lo que no limita tanto el análisis. Ambos métodos muestran resultados que aumentan al tiempo que crece la relación elegida entre las señales (en nuestro caso de 0.1 a 0.6). PREGUNTA 2: COMPARA LOS RESULTADOS OBTENIDOS USANDO LA INFORMACIÓN MUTUA Y LA ENTROPÍA DE TRANSFERENCIA. ¿SE COMPORTAN AMBOS MÉTODOS IGUAL? ¿A QUÉ CREES QUE SE DEBEN ESTAS DIFERENCIAS ?

Uso de la Información Mutua:

Uso de la Entropía de Transferencia:

idx = cat ( 3, indexes.MI.data {:} )

idx = cat ( 3, indexes.TE.data {:} )

idx(:,:,1) = 0 0.1262

0.1262 0

idx(:,:,1) = 0 0.0762 0.0280 0

0.3023 0

idx(:,:,2) = 0 0.1997 0.0543 0

1.2515 0

idx(:,:,3) = 0 0.4563 0.1573 0

idx(:,:,2) = 0 0.3023 idx(:,:,3) = 0 1.2515

La entropía de transferencia , al igual que el método de información mutua tampoco asume ningún tipo de relación entre señales cuando calcula la sincronización entre ella, sin embargo su diferencia fundamental se basa en que este método estima el flujo de información de una señal a otra. Se ocupa de comprobar la conectividad efectiva. Este método usa índice asimétrico, lo que implica que los datos transferidos no tienen por qué ser igual, lo que explica que los resultados en la diagonal del análisis cruzado (en rojo aquí arriba) no coincidan contrariamente a la pregunta 1. Esto explica los resultados distintos entre ambos métodos.

Alicia Aglio Caballero, Patricia Cantón Lobera, Itziar Ortiz Díez. GIB 2014/15 Genera otro conjunto de pares de señales Hénon con distinto nivel de acoplo y sistemas no idénticos. Añade a las señales generadas un ruido blanco de amplitud 1 generado usando la función de Matlab randn. Calcula la correlación, información mutua y entropía de transferencia para cada nivel de acoplo. NOTA: El ruido blanco es una señal aleatoria indeseada que se registra junto con la señal deseada. Dado que es aleatorio debe ser diferente para cada una de las señales analizadas. Por tanto, recuerda que tienes que generar una señal de ruido distinta para cada una de las señales Hénon.

PREGUNTA 3: ¿CÓMO AFECTA EL RUIDO A LOS DISTINTOS MÉTODOS DE MEDIDA SINCRONIZACIÓN? ¿QUÉ MÉTODOS SON MÁS ROBUSTOS? ¿A QUÉ CREES QUE SE DEBE ?

DE LA

Si comparamos los resultados obtenidos con los mostrados en el apartado 1 y 2 (mismo análisis de las señales sin ruido) podemos observar como los valores asociados a 1,2,: y 2,1,: difieren notablemente. El resto (1,1,: , 2,2,:) permanecen inalterados, obviamente el ruido no afecta al estudio de correlación de una señal consigo misma, ya que igualmente es idéntica. El método más robusto, que menos se ve afectado por el ruido, es el del cálculo de la correlación, esto debe de ser debido a que el cálculo de la correlación es el menos tedioso y el más rápido. Por esto, los errores en el cálculo derivados del ruido serán menores.

idx = cat ( 3, indexes.COR.data {:} )

idx = cat ( 3, indexes.MI.data {:} )

idx(:,:,1) = 1.0000 0.0599 0.0599 1.0000

idx(:,:,1) = 0 0.0096 0.0096 0

idx(:,:,2) = 1.0000 0.0244 0.0244 1.0000

idx(:,:,2) = 0 0.0364 0.0364 0

idx(:,:,3) = 1.0000 0.2509 0.2509 1.0000

idx(:,:,3) = 0 0.2030 0.2030 0

Alicia Aglio Caballero, Patricia Cantón Lobera, Itziar Ortiz Díez. GIB 2014/15 idx = cat ( 3, indexes.TE.data {:} ) idx(:,:,1) = 0 -0.0139 -0.0512 0 idx(:,:,2) = 0 0.0134 0.0148 0 idx(:,:,3) = 0 0.0865 -0.0322 0

Fija un nivel de acoplo de 0.5 y genera varios pares de señales Hénon con sistemas idénticos. Añade distintos niveles de ruido a cada par de señales, desde una amplitud de 0 hasta una amplitud de 2. Calcula la correlación, información mutua y entropía de transferencia para cada nivel de ruido. PREGUNTA 4: ¿QUÉ DIFERENCIAS OBSERVAS ENTRE LOS DISTINTOS ÍNDICES DE MEDIDA DE LA SINCRONIZACIÓN? ¿CUÁL ES MÁS SENSIBLE AL RUIDO? ¿CUÁL ES MÁS ROBUSTO?

La diferencia con las preguntas anteriores es que los sistemas utilizados no eran idénticos. Lo cual se explicará en la siguiente pregunta. En este caso hemos ido aumentado el ruido (1, 1.5 y 2) para el mismo nivel de acoplamiento 0.5, y podemos observar que la correlación disminuye o aumenta de forma aleatoria ya que estamos trabajando con un sistema caótico. Lo mismo ocurre con la entropía, mientras que para la información mutua disminuye conforme aumenta el ruido.

Alicia Aglio Caballero, Patricia Cantón Lobera, Itziar Ortiz Díez. GIB 2014/15

idx = cat ( 3, indexes.COR.data {:} )

idx = cat ( 3, indexes.MI.data {:} )

idx(:,:,1) = 1.0000 0.0386 0.0386 1.0000

idx(:,:,1) = 0 0.1344 0.1344 0

idx(:,:,2) = 1.0000 0.0877 0.0877 1.0000

idx(:,:,2) = 0 0.0339 0.0339 0

idx(:,:,3) = 1.0000 0.0293 0.0293 1.0000

idx(:,:,3) = 0 0.0080 0.0080 0

idx = cat ( 3, indexes.TE.data {:} ) idx(:,:,1) = 0 0.0284 -0.0438 0 idx(:,:,2) = 0 0.0965 0.0353 0 idx(:,:,3) = 0 0.0149 -0.0064

0

Alicia Aglio Caballero, Patricia Cantón Lobera, Itziar Ortiz Díez. GIB 2014/15 Genera pares de señales Hénon con distintos niveles de acoplo y sistemas idénticos. Calcula la correlación, información mutua y entropía de transferencia para cada nivel de acoplo. PREGUNTA 5: ¿QUÉ DIFERENCIAS OBSERVAS EN LA RELACIÓN ENTRE EL NIVEL DE ACOPLO Y LOS ÍNDICES DE SINCRONIZACIÓN OBTENIDOS CON SISTEMAS NO IDÉNTICOS? SIGNIFICA QUE LOS SISTEMAS SEAN IDÉNTICOS ?

¿QUÉ CREES QUE

¿POR QUÉ CREES QUE HAY ESE EFECTO EN LA

ENTROPÍA DE TRANSFERENCIA?

En la siguiente gráfica podemos observar como varia la sincronización en función del parámetro de acoplamiento para sistemas idénticos y no idénticos.

Se puede observar de la misma manera en nuestros datos, como para sistemas idénticos, esta sincronización es mayor a mayor valor del acoplamiento. A diferencia de los no idénticos, esta relación no crece linealmente. La sincronización de sistemas idénticos se conoce como la sincronización completa. Los sistemas se dice que están completamente sincronizados cuando hay un conjunto de condiciones iniciales de manera que los sistemas evolucionan con el tiempo de forma idéntica en el tiempo. La sincronización no se produce siempre, debido a que existen sistemas particulares llamados caóticos, en los cuales no es evidente alcanzar y mantener un estado de sincronía. Esto se debe a que los sistemas caóticos son sistemas dinámicos en los que al evolucionar sus variables se producen diferencias frente a la evolución del mismo sistema cambiando las condiciones iniciales. Aun siendo replicas idénticas, existen inexactitudes e incertidumbres en los parámetros y componentes de cada sistema, por lo cual, su sincronía no se garantiza de forma robusta. Esto es debido a su alta sensibilidad a las condiciones iniciales.

Alicia Aglio Caballero, Patricia Cantón Lobera, Itziar Ortiz Díez. GIB 2014/15

>> idx = cat ( 3, indexes.COR.data {:} )

>> idx = cat ( 3, indexes.MI.data {:} )

idx(:,:,1) = 1.0000 -0.0201 -0.0201 1.0000

idx(:,:,1) = 0 0.0187 0.0187 0

idx(:,:,2) = 1.0000 0.0647 0.0647 1.0000

idx(:,:,2) = 0 0.2575 0.2575 0

idx(:,:,3) = 1.0000 0.6063 0.6063 1.0000

idx(:,:,3) = 0 2.6049 2.6049 0

>> idx = cat ( 3, indexes.TE.data {:} ) idx(:,:,1) = 0 0.0057 0.0186 0 idx(:,:,2) = 0 0.1119 0.0322 0 idx(:,:,3) = 0 0.2580 0.0764 0...


Similar Free PDFs