Saltar al contenido principal
LibreTexts Español

2.6: Ejercicio- Asignación de Eventos a Cajas con BINLISTER

  • Page ID
    151285
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    ¿Qué es un Bin?

    Cuando creamos ERP promediados, a menudo queremos combinar pruebas con diferentes códigos de eventos en el mismo promedio. Por ejemplo, el experimento N400 utilizó códigos de eventos separados para indicar cuál de las dos listas de palabras se usó para un ensayo dado, pero realmente no necesitamos hacer esta distinción en nuestro análisis de datos, así que solo promediaremos juntos los ensayos con las diferentes listas de palabras. Además, no vamos a hacer promedios para los códigos de eventos de respuesta, pero queremos usar esos códigos para excluir ensayos con respuestas incorrectas de nuestros promedios. Por lo tanto, necesitamos una forma sofisticada de indicar qué eventos deben combinarse juntos cuando hagamos nuestros promedios.

    A este proceso lo llamamos asignación de eventos a bins, y ERPLAB lo logra con una rutina llamada BINLISTER. Un contenedor es un conjunto de formas de onda ERP promediadas, una para cada sitio de electrodos, que se crearon promediando juntos un conjunto específico de pruebas. En nuestro experimento N400, por ejemplo, crearemos cuatro bins:

    Grabamos desde 30 canales, por lo que cada bin tendrá 30 formas de onda ERP promediadas, una por cada canal. Para los 30 canales de una papelera determinada, promediamos juntos el mismo conjunto de pruebas. Junto con cierta información de encabezado, los contenedores para un participante determinado se almacenan juntos en un ERPSet. La Figura 2.2 muestra cómo se estructurará el ERPSet para el promedio que estaremos creando en este capítulo.

    Figura 2.2. Estructura del ERPset que vamos a crear en estos ejercicios.

    Ejecución de BINLISTER

    Ahora que ves cómo encaja todo, usemos BINLISTER para asignar los códigos de evento a bins para nuestro tema de ejemplo. Comenzaremos con el conjunto de datos que creó en el ejercicio anterior que tiene el EventList adjunto (6_N400_preprocessed_filt_elist). Si aún lo tiene cargado, asegúrese de que esté activo (marcado) en el menú Conjuntos de datos (Dataset 1:6 _N400_Preprocessed_elist). Si aún no lo tiene cargado pero lo guardó como un archivo, abra el archivo (usando EEGLAB > Archivo > Cargar dataset existente).

    Vaya a EEGLAB > ERPLAB > Asignar bins (BINLISTER), que abrirá una ventana GUI. En el cuadro de texto en la parte superior (en Cargar archivo descriptor de bin desde), ingresará BDF_N400.txt, que es un archivo de texto que le dice a BINLISTER cómo asignar eventos a bins para este experimento en particular. Vamos a echar un vistazo a este archivo más adelante.

    BINLISTER agrega nueva información a EventList, y queremos guardar una copia del EventList actualizado como un archivo de texto para este ejercicio para que podamos verlo fácilmente. Para lograr esto, marque la casilla junto a Archivo de texto en la sección de la GUI etiquetada Escribir EVENTLIST resultante a (no en la sección etiquetada Read EVENTLIST from). Luego escribe events2.txt en el cuadro de texto a la derecha (ver Captura de pantalla 2.10). Este será el nombre del archivo de texto que se utilizará para almacenar una copia de la EventList actualizada. Asegúrate de que todo lo demás esté configurado como la captura de pantalla y luego haz clic en EJECUTAR.

    Captura de pantalla 2.10

    Al igual que en los ejercicios anteriores, verás una nueva ventana que pregunta ¿Qué quieres hacer con el nuevo conjunto de datos? Simplemente acepte la configuración predeterminada haciendo clic en Aceptar. Ahora ha creado una nueva copia del conjunto de datos con el EventList actualizado adjunto. El nuevo conjunto de datos debe llamarse 6_n400_preprocessed_filt_elist_bins. Necesitará el nuevo conjunto de datos para el siguiente ejercicio, así que guarde el conjunto de datos en su disco duro si no va a hacer el siguiente ejercicio de inmediato.

    Mirando las asignaciones de contenedores en la lista de eventos

    Ahora abre el archivo de texto que contiene una copia del EventList actualizado, que debe llamarse events2.txt. Simplemente puede hacer doble clic en él en el panel Carpeta actual de la GUI principal de Matlab para abrirla en el editor de texto de Matlab. Debería verse algo así como Captura de pantalla 2.11.

    Captura de pantalla 2.11

    Si lo comparas con la versión original de EventList (en events.txt), verás dos diferencias principales. Primero, la nueva versión tiene una lista de los cuatro bins que hemos creado, que incluye el número de pruebas y la etiqueta para cada bin. Por ejemplo, se puede ver que hubo 60 instancias de la Papelera 1, la cual fue etiquetada como “Palabra Prime, relacionada con la palabra objetivo posterior”. El segundo cambio es que ahora hay números en la columna bin para los eventos individuales (en el extremo derecho de la ventana). Estos números indican a qué bin (si lo hay) se le ha asignado un código de evento dado. Cuando un evento se asigna a un contenedor, esto significa que el evento es el evento de bloqueo de tiempo para ese juicio. En otras palabras, el tiempo del código de evento será el tiempo cero en nuestras formas de onda ERP promediadas.

    Consideremos, por ejemplo, el ítem #3 en la línea 33. Tiene un código de evento de 121, lo que significa que es una palabra prima que será seguida por una palabra objetivo no relacionada, con la palabra tomada de la primera lista de palabras (ver Tabla 2.1). Fue asignado al Bin 2 (ver la columna del extremo derecho en events2.txt). Cuando hagamos una forma de onda ERP promediada para el Bin 2, usaremos este código de evento como tiempo cero en la forma de onda. Ahora mira el ítem #4 en la siguiente línea. Tiene un código de evento de 221, y es la palabra objetivo que siguió a la palabra prima del ítem #3. Se le asignó al Bin 4. Los códigos de evento de respuesta (por ejemplo, los ítems 1, 2 y 5) no se asignaron a un contenedor porque no estamos haciendo ninguna forma de onda ERP promediada en la que la respuesta sea en el tiempo cero en este experimento.

    Cómo funciona BINLISTER

    ¿Cómo supo BINLISTER qué bins queríamos y qué códigos de eventos deberían asignarse a cada bin? Para lograr esto, BINLISTER utilizó un conjunto de descripciones abstractas de bin que se almacenan en el archivo BDF_N400.txt que ingresó en la parte superior de la GUI de BINLISTER (vea la Captura de Pantalla 2.10). El BDF en el nombre de archivo significa archivo descriptor bin, ya que contiene descriptores abstractos para cada bin. Esto es lo que hay en ese archivo:

    Bin 1 Palabra
    Prime, relacionada con la palabra objetivo posterior
    . {111; 112}

    Bin 2 Palabra
    Prime, no relacionada con la palabra objetivo posterior
    . {121; 122}

    Bin 3 Palabra
    objetivo, relacionada con el primo anterior, seguida de la respuesta correcta
    . {211; 212} {t 201}
    <200-1500>

    Bin 4 Palabra
    objetivo, no relacionada con el primo anterior, seguida de la respuesta correcta
    . {221; 222} {t 201}
    <200-1500>

    Los detalles de la sintaxis del archivo descriptor bin se describirán en un canal posterior, pero algunos aspectos de la sintaxis son bastante obvios aquí. Cada contenedor se describe con tres líneas. La primera línea solo da el número de bin. El segundo número es una cadena de texto que describe el contenido de la papelera (y puede ser lo que quieras). La tercera línea es el descriptor de bin real. Cada descriptor bin contiene uno o más códigos de eventos dentro de algunos corchetes. Por ejemplo, el Bin 2 contiene 121; 122 dentro de las corchetes, lo que indica que los códigos de evento 121 o 122 deben usarse como evento de bloqueo de tiempo para este bin. Los bins 3 y 4 contienen un segundo conjunto de corchetes que indican lo que debe seguir el código de evento de bloqueo de tiempo. El texto t 201 <200-1500>significa que el código de evento de bloqueo de tiempo debe ir seguido de un código de evento 201 con un retraso de 200-1500 ms. Por ejemplo, se asignará un código de evento de 221 al Bin 4 si y solo si va seguido de una respuesta correcta (código de evento 201) dentro de 200 a 1500 ms. Las respuestas que son más rápidas que 200 ms son probablemente ficticias (porque nadie puede responder tan rápido), y las respuestas que son posteriores a 1500 ms probablemente indican que el sujeto estaba zonificando.

    BINLISTER lee en el archivo descriptor bin y luego pasa por todos los códigos de eventos en EventList. Cuando encuentra un código de evento que coincide con el descriptor de bin para un bin dado, coloca ese número de bin en la columna bin para ese código de evento. Tenga en cuenta que un código de evento determinado se puede asignar a más de un contenedor. Por ejemplo, podríamos tener un bin para las palabras objetivo que van seguidas de una respuesta correcta y un bin separado para las palabras objetivo independientemente de si la respuesta fue correcta.

    Ahora que ya hemos discutido cómo se definieron los cuatro bins en este experimento, deberías pasar por varios eventos en el archivo events2.txt y asegurarte de entender por qué cada evento fue asignado a un bin determinado. En particular, debes encontrar las palabras objetivo que fueron seguidas de respuestas incorrectas (código de evento 202) y verificar que no fueron asignadas a un bin.


    This page titled 2.6: Ejercicio- Asignación de Eventos a Cajas con BINLISTER is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by Steven J Luck directly on the LibreTexts platform.