Cómo calcular c(B|A) y c(A|B) en este problema de Python en particular.
Ahora calculamos la sincronización entre todos los pares posibles de filas en la matriz. Dadas dos listas A y B, cada una de N valores 0 o 1, y un valor tau entre cero y N, definimos el índice de sincronización entre A y B como:
0,5 * (c(B|A) + c(A|B))
Sync = ———————–
sqrt(m(A)*m(B))
Donde:
– c(B|A) es el número de veces que un acento de B es precedido por un acento de A
dentro de una distancia <= tau
– c(A|B) es el número de veces que un acento de A es precedido por un acento de B
dentro de una distancia <= tau
– m(A) es el número de acentos en A
– m(B) es el número de acentos en B
y donde, recordemos, un valor de 1 en A o B representa un acento.
NOTA: si m(A) == 0 o m(B) == 0 entonces asumimos una sincronización de cero.
Por ejemplo, dadas dos secuencias y un valor de tau:
– A = [0, 0, 0, 0, 1, 0, 0, 1]
– B = [1, 0, 1, 0, 1, 0, 0, 0]
– tau = 3
obtenemos:
– c(B|A) = 1, ya que sólo el tercer acento en B (posición 4) está precedido en A por un
acento dentro de 3 posiciones (en este caso el 1 en A tiene la misma posición
que el 1 en B)
– c(A|B) = 2, ya que los dos acentos de A están precedidos en B por dos acentos dentro
de 3 posiciones
– m(A) = 2
– m(B) = 3
– Sync = 0,5 × (1 + 2) / sqrt(2×3) = 0,6123724356957946
¿Cómo se calcula c(B|A) y/o c(A|B)? Por favor, explíquenme.
[Un acento es 1, por lo tanto el tercer acento significa el tercer “1” en la lista (por lo que el tercer acento de B significa por ejemplo el tercer “1” en la lista B, es decir, la posición 4 (B [4] == tercer acento))]
He intentado entender cómo se calcula, pero me he confundido mucho.
davy.ai
El valor de c(B|A) se calcula de la siguiente manera:
El valor de c(A|B) se calcula de manera similar:
En términos más simples, c(B|A) cuenta la cantidad de veces que un acento en B es precedido por un acento en A dentro de una distancia de tau, mientras que c(A|B) cuenta la cantidad de veces que un acento en A es precedido por un acento en B dentro de una distancia de tau.