5 votos

Medición de 'sincronía' con correlaciones de series de tiempo

Pregunta de un stats novato y StackExchange newb, un antropólogo con un equipo de ciencias de fondo. Estoy en busca de un estadístico adecuado para medir la 'sincronía' como en la siguiente situación:

Tengo un video panorámicas de varias personas sentadas en sillas alrededor de la cámara de tener una conversación de una hora. Me separé de el video por persona y genera datos de series de tiempo para cada individuo, la medición de cuánto se mueven, gestos, etc. a lo largo del tiempo (es decir, el número de píxeles diferentes entre los sucesivos fotogramas de vídeo). Así que tengo un gráfico de cómo fijas o animadas de una persona es, en cada momento, más de una hora (el uso de la media móvil para suavizar las cosas).

Quiero medir la 'sincronía' del grupo en cada momento, es decir, generar otra serie de tiempo que se muestra cómo 'sincronizar' sus movimientos son en cualquier momento dado. ¿Qué tipo de medida estadística sería adecuado para esto? Más simple/intuitivo que es el mejor.

Algunas hipótesis:

  • Si sólo una persona está en movimiento, la sincronización debe ser cercano a cero.
  • Si todo el mundo se está moviendo, la sincronización debe estar cerca de max.

Tenga en cuenta que este será utilizado principalmente para visual inspección y análisis, para resaltar las partes de el video donde las personas son sincrónicos.

-Daniel

3voto

TrevJen Puntos 174

Una dinámica espontánea del tipo de sincronización de visual sería útil aquí. Por favor vea el ejemplo de la luciérnaga intermitente de simulación utilizando el logotipo de la estrella.

http://skyeome.net/wordpress/?p=56

http://education.mit.edu/starlogo/

Usted podría utilizar alguna medida de un miembro de píxel de la diferencia entre los fotogramas (media de la diferencia en las intensidades?) como la secuencia de paso de la medición de los movimientos; a continuación, tomar una secuencia de muestras de formación en los primeros minutos de metraje, encontrar una estimación razonable de la gama absoluta de min y max movimientos entre todos los individuos.

A partir de allí, puede cuantizar la gama en un conjunto de niveles con una intensidad visual punto correspondiente a un individuo de los movimientos a lo largo del tiempo. Todo miembro individual de puntos trazados en un clúster como en la imagen adjunta. Desde allí se podría generar el balanceo de la sincronización de la trama como en la Figura 2. Posiblemente el uso de algún tipo de densidad de kernel con relación a la frecuencia de cada uno de los niveles cuantizados por cada segmento de tiempo en el balanceo de la parcela. Si el nivel de todos los miembros estaban todos alineados luego el bin ancho debe ser minimizado y la intensidad maximizada; cualquier correlación menor resultaría en mayor dispersión y menor max intensidad de la densidad de las instantáneas.

2voto

Inshalla Puntos 146

Ok pregunta interesante. Creo que sé la respuesta adecuada a utilizar Ramseyer y Tsachers modelo/método (no Verbal de la Sincronía o Coincidencia? Cómo saber la Diferencia).

Los datos que me parece excelente para ti! A continuación una breve descripción por la cabeza, podría haber algunos errores aquí, así que por favor lea los referidos papeles así.

Se utiliza el Movimiento de la Energía Análisis (fotograma a fotograma pixel diferencia después de pasar algunos filtros para excluir de alta frecuencia de la iluminación influye por ejemplo, Bandworth filtro como el que Paxton y Dale (publicación))

Esto es seguido por Pearson de correlación cruzada utilizando diferentes intervalos de tiempo (le da información sobre los principales siguiente behvaiour así) (y seguido por un pico de encontrar el algoritmo). A continuación, puede utilizar un análisis estadístico mediante la prueba de que en comparación con el 99 falso (desplaza en el tiempo díadas). Esto le dará suficiente información para la creación de una sincronía de clasificación. Por favor me envía un enlace, si se publica, se preguntan lo que usted encontrará siempre es bueno tener ejemplos de estudios realizados.

El problema será en el multi-persona poco. Mi tesis doctoral se centra en el presente y en tiempo real medida a utilizar en el entretenimiento interactivo de los sistemas (en lugar de utilizar el 99time desplazado), que no han encontrado soluciones para que, podría utilizar las comparaciones múltiples por el momento. Si quieres más información puedes leer en Emilie Delaherche a la obra, ella le da una buena visión general. Boker, Gramática Ramseyer Tsacher, todos ellos proporcionan más información sobre el pico de la cosecha, la correlación cruzada etc.

0voto

Amadiere Puntos 5606

Bueno, hay medidas establecidas para la sincronización. Incluso hay sincronización basada en clústeres. ¿Por qué no usas estas medidas?

Lea sobre el '' modelo Kuramoto '': http://en.wikipedia.org/wiki/Kuramoto_model

0voto

Magnus Lindhe Puntos 2391

Esto es lo que yo estaba sugiriendo en R código. No sé qué software está trabajando, pero al menos usted puede descargar R gratis y ejecutar la secuencia de comandos de forma bastante sencilla, simplemente para ver de qué estaba hablando y, a continuación, crear su propia versión. Si usted estuviera en R, un montón de los bucles podría ser reemplazado con el "rollapply" función en el "zoológico" de paquetes. Pero de esta manera el código es autónomo.

Lo que he hecho es creado tres series de tiempo: 1. La señal Simple, donde el siguiente valor en el punto (i+1) se correlaciona con el valor anterior (yo). 2. Basado en la señal en la primera por lo que debe correlacionan altamente, pero tienen diferentes amplitudes 3. Al azar de la señal hecha con ruido Gaussiano

Lo que esto deja fuera es de cambios de fase, es decir, si una persona comienza a moverse y, a continuación, la persona b se empiece a mover, después, pero, con el tiempo, este método se subestimar la correlación. Esto puede ser corregido mediante la inclusión de un número de turnos. O, posiblemente por el aumento de la longitud de tiempo para el promedio móvil (actúa como un filtro de paso bajo).

Por supuesto, hay otros métodos que pueden ser más adecuados, pero aquellos que se basan en señales oscilantes, por ejemplo, podría utilizar ondas de una frecuencia de tiempo de descomposición y, a continuación, calcular entre la persona de la fase de cierre a través de un número de frecuencias. A continuación, crear fase y la coherencia de los mapas. Si usted piensa que esto podría ser más de lo que usted está después, tengo los scripts para que también, pero usted puede desear mirar en programas especializados en matlab o R.

Antes de aplicar, probablemente necesita para tomar un par de muestras aleatorias de sus videos, o tal vez incluso un "entrenamiento" de vídeo y ver lo que los parámetros de darle la información que usted está buscando. A continuación, aplicar esto a tu muestras reales. E. g., cambio de la longitud de la media móvil, jugando con los cambios de fase, el ajuste de la ponderación de parámetros. Usted podría incluso conseguir boostrapped CIs, si quería.

Aquí está la secuencia de comandos de R:

#highly correlated series
rl<-20                  #rolling average length
x<-5                    #Just a starting value
xvec<-3000
#1st time series, made so that the next value correlates with preceding value
for(i in 1:(xvec-1)) { x[i+1] <- x[i] +rnorm(1, 0, 0.2) }
y<-x+rnorm(xvec, 0, 0.3) #Second series based on 1st series for high correlation
xy<-(x*y)/max(x*y)      #For weighting

#Calculating rolling correlation with 20 values either side
cxy<-sapply((rl+1):(xvec-rl+1), function(i) cor(x[(i-rl):(i+rl)], y[(i-rl):(i+rl)]))
#Smoothed rolling correlation by rolling average
cxym<-sapply((rl+1):(xvec-3*rl+1), function(i) mean(cxy[(i-rl):(i+rl)]))
#Smoothed weighting
xym<-sapply((2*rl+2):(xvec-2*rl+2), function(i) mean(xy[(i-rl):(i+rl)]))

par(mfcol = c(2,2))     #Create plot so that there are 4 figures per plot space
plot(1:xvec, x, type="l"); lines(1:xvec, y, col=2)  #plot 1st and 2nd time series

#Plot correlations
plot((rl+1):(xvec-rl+1), cxy, type="l", xlim=c(0, xvec), ylim=c(-1,1))
lines((2*rl+2):(xvec-2*rl+2), cxym, col=2)      #Smoothed rolling correlation
lines((2*rl+2):(xvec-2*rl+2), cxym*xym, col=3)  #Smoothed weighted correlation

#No correlation between series and plot
y<-rnorm(xvec, 5, 1)
xy<-(x*y)/max(x*y)
cxy<-sapply((rl+1):(xvec-rl+1), function(i) cor(x[(i-rl):(i+rl)], y[(i-rl):(i+rl)]))
cxym<-sapply((rl+1):(xvec-3*rl+1), function(i) mean(cxy[(i-rl):(i+rl)]))
xym<-sapply((2*rl+2):(xvec-2*rl+2), function(i) mean(xy[(i-rl):(i+rl)]))
plot(1:xvec, x, type="l"); lines(1:xvec, y, col=2)
plot((rl+1):(xvec-rl+1), cxy, type="l", xlim=c(0, xvec), ylim=c(-1,1))
lines((2*rl+2):(xvec-2*rl+2), cxym, col=2)
lines((2*rl+2):(xvec-2*rl+2), cxym*xym, col=3)

0voto

Loren Pechtel Puntos 2212

Creo que podría ser tan simple como trazar el nivel de actividad promedio para los tres participantes. No subiría mucho solo porque un participante se activó, pero subiría mucho más si dos o tres participantes fueran activos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X