Fiabilidad entre evaluadores para eventos en una serie temporal con incertidumbre sobre el tiempo del evento

13

Tengo múltiples codificadores independientes que están tratando de identificar eventos en una serie de tiempo, en este caso, viendo videos de conversaciones cara a cara y buscando comportamientos no verbales particulares (por ejemplo, cabezazos) y codificando el tiempo y la categoría de cada uno. evento. Estos datos podrían tratarse razonablemente como una serie de tiempo discreto con una alta tasa de muestreo (30 cuadros / segundo) o como una serie de tiempo continuo, con lo que sea más fácil trabajar.

Me gustaría calcular alguna medida de confiabilidad entre evaluadores, pero espero que haya cierta incertidumbre sobre cuándo ocurrieron los eventos; es decir, espero que un codificador pueda, por ejemplo, codificar que un movimiento en particular comenzó un cuarto de segundo más tarde de lo que otros codificadores pensaron que comenzó. Estos son eventos raros, si eso ayuda; típicamente al menos varios segundos (cientos de cuadros de video) entre eventos.

¿Existe una buena manera de evaluar la confiabilidad entre evaluadores que tenga en cuenta estos dos tipos de acuerdo y desacuerdo: (1) ¿los evaluadores están de acuerdo en qué evento ocurrió (si lo hubo) y (2) están de acuerdo en cuándo ocurrió? El segundo es importante para mí porque estoy interesado en ver el momento de estos eventos en relación con otras cosas que suceden en la conversación, como lo que dice la gente.

La práctica estándar en mi campo parece ser dividir las cosas en segmentos de tiempo, digamos 1/4 de segundo, agregar los eventos que cada codificador informó por segmento de tiempo, luego calcular el kappa de Cohen o alguna medida similar. Pero la elección de la duración del segmento es ad-hoc, y no tengo una buena idea de la incertidumbre en el momento de los eventos.

El mejor pensamiento que tengo hasta ahora es que podría calcular algún tipo de curva de confiabilidad; algo así como kappa en función del tamaño de la ventana dentro de la cual considero que dos eventos están codificados al mismo tiempo. Sin embargo, no estoy seguro de a dónde ir desde allí ...

chl
fuente
Parece una situación en la que se pueden aplicar métodos de análisis de datos funcionales. ¿Los consideraste?
mpiktas
Había pensado en el análisis de datos funcionales, pero no es un área con la que estoy muy familiarizado. Estoy trabajando a través del libro de Ramsay y Silverman ahora. Pero no veo de inmediato cómo lidiar con una variable de resultado multinomial ...?
¿Existe un estándar de oro disponible para esas mediciones (es decir, ¿sabe cuándo ocurren los eventos de interés)? ¿Cuántos codificadores están incluidos en este estudio? ¿Cuántos eventos distintos podemos esperar?
chl

Respuestas:

2

Aquí hay un par de maneras de pensar.

1

A) Puede tratar cada secuencia completa de codificaciones como un conjunto ordenado de eventos (es decir, ["movimiento de cabeza", "movimiento de cabeza", "movimiento de cabeza", "ceja levantada") y ["movimiento de cabeza", "movimiento de cabeza" , "ceja levantada"]), luego alinee las secuencias usando un algoritmo que tenga sentido para usted ( http://en.wikipedia.org/wiki/Sequence_alignment ). Entonces podría calcular la confiabilidad entre codificadores para toda la secuencia.

B) Luego, nuevamente usando las secuencias alineadas, puede comparar cuándo dijeron que sucedió un evento, dado que ambos observaron el evento.

2) Alternativamente, puede modelar esto como un Modelo de Markov Oculto, y usar algo como el algoritmo de Baumn-Welch para imputar las probabilidades de que, dado algún evento real, cada codificador codifique los datos correctamente. http://en.wikipedia.org/wiki/Baum-Welch_algorithm

fgregg
fuente
Esta técnica parece ser similar a lo que hizo Grafsgaard 2012 para una tarea similar.
KevinL
0

En lugar de dividir los datos en partes arbitrarias, podría considerar las diferencias de tiempo reales. El codificador 1 informa el tiempo y la acción:

049 D
113 C
513 C
724 G

Una manera simple de ver qué codificador es el más confiable de acuerdo con otros codificadores es dándole una puntuación como esta:

Add a point for each other coder that reported a D between (049-025) and (049+025)
Add a point for each other coder that reported a C between (113-025) and (113+025)
Add a point for each other coder that reported a C between (513-025) and (513+025)
Add a point for each other coder that reported a C between (724-025) and (724+025)
Subtract a point for each reported action.

Si la cercanía es importante para usted, considere alternativas como estas:

Add 25/(Time_Thiscoder-Time_Othercoder)^2 points for each other coder that reported a matching observation.

Con toda la información del problema disponible, no debería ser difícil implementar esta idea de manera práctica.

Dennis Jaheruddin
fuente
1
¿De dónde vienen los "25"? ¿Tiene referencias o puede explicar la teoría que justifica esta propuesta?
whuber