Medida estándar de aglomeración?

13

Tengo muchos datos y quiero hacer algo que parece muy simple. En este gran conjunto de datos, estoy interesado en cuánto se agrupa un elemento específico. Digamos que mis datos son un conjunto ordenado como este: {A, C, B, D, A, Z, T, C ...}. Digamos que quiero saber si las A tienden a encontrarse una al lado de la otra, en lugar de estar distribuidas aleatoriamente (o más uniformemente) en todo el conjunto. Esta es la propiedad a la que llamo "agrupación".

Ahora, ¿hay alguna medida simple de "agrupamiento" de datos? Es decir, ¿alguna estadística que me dirá qué tan lejos de distribuidos aleatoriamente están los As? Y si no hay una manera simple de hacer esto, ¿cuál sería la manera difícil, más o menos? Cualquier puntero muy apreciado!

Alan H.
fuente

Respuestas:

14

Como ejemplo, suponga que tiene un conjunto ordenado en el que cada posición tiene la misma probabilidad de ser cualquiera de las letras minúsculas del alfabeto. En este caso haré que el conjunto ordenado contenga elementos.1000

# generate a possible sequence of letters
s <- sample(x = letters, size = 1000, replace = TRUE)

Resulta que si cada una de las posiciones del conjunto ordenado sigue una distribución uniforme sobre las letras minúsculas del alfabeto, a continuación, la distancia entre dos ocurrencias de la misma letra sigue una distribución geométrica con parámetro . A la luz de esta información, calculemos la distancia entre ocurrencias consecutivas de la misma letra.pag=1/ /26

# find the distance between occurences of the same letters
d <- vector(mode = 'list', length = length(unique(letters)))
for(i in 1:length(unique(letters))) {
    d[[i]] <- diff(which(s == letters[i]))
}
d.flat <- unlist(x = d)

Veamos un histograma de las distancias entre ocurrencias de la misma letra y compárelo con la función de masa de probabilidad asociada con la distribución geométrica mencionada anteriormente.

hist(x = d.flat, prob = TRUE, main = 'Histogram of Distances', xlab = 'Distance',
     ylab = 'Probability')
x <- range(d.flat)
x <- x[1]:x[2]
y <- dgeom(x = x - 1, prob = 1/26)
points(x = x, y = y, pch = '.', col = 'red', cex = 2)

Los puntos rojos representan la función de masa de probabilidad real de la distancia que esperaríamos si cada una de las posiciones del conjunto ordenado siguiera una distribución uniforme sobre las letras y las barras del histograma representan la función de masa de probabilidad empírica de la distancia asociada con el orden conjunto.

ingrese la descripción de la imagen aquí

Con suerte, la imagen de arriba es convincente de que la distribución geométrica es apropiada.

pag=1/ /260 0

¿Cómo se d.flatcompara desde arriba con la distribución geométrica esperada en términos de distancia Bhattacharyya?

b.dist <- 0
for(i in x) {
    b.dist <- b.dist + sqrt((sum(d.flat == i) / length(d.flat)) * dgeom(x = i - 1,
              prob = 1/26))
}
b.dist <- -1 * log(x = b.dist)

0,0260 0

EDITAR:

0,0260 010,000

gen.bhat <- function(set, size) {
    new.seq <- sample(x = set, size = size, replace = TRUE)
    d <- vector(mode = 'list', length = length(unique(set)))
    for(i in 1:length(unique(set))) {
        d[[i]] <- diff(which(new.seq == set[i]))
    }
    d.flat <- unlist(x = d)
    x <- range(d.flat)
    x <- x[1]:x[2]
    b.dist <- 0
    for(i in x) {
        b.dist <- b.dist + sqrt((sum(d.flat == i) / length(d.flat)) * dgeom(x = i -1,
                  prob = 1/length(unique(set))))
    }
    b.dist <- -1 * log(x = b.dist)
    return(b.dist)
}
dist.bhat <- replicate(n = 10000, expr = gen.bhat(set = letters, size = 1000))

Ahora podemos calcular la probabilidad de observar la distancia Bhattacharyya observada anteriormente, o un extremo más, si el conjunto ordenado se generó de tal manera que cada una de sus posiciones sigue una distribución uniforme sobre las letras.

p <- ifelse(b.dist <= mean(dist.bhat), sum(dist.bhat <= b.dist) / length(dist.bhat),
            sum(dist.bhat > b.dist) / length(dist.bhat))

0,38

0 0999

ingrese la descripción de la imagen aquí

asumido normal
fuente
Parece que al principio asumes que la distribución de letras es multinomial con la misma probabilidad para cada letra. ¿Qué pasa si la distribución es de probabilidades desiguales para las letras? - ¿La distribución esperada de distancias entre ocurrencias para cada letra seguirá siendo geométrica? ¿Y con qué parámetro?
ttnphns
Con probabilidades desiguales para cada letra, la distancia entre ocurrencias de cada letra sigue siendo geométrica. Sin embargo, el parámetro varía según la letra, y para cada letra es igual a la probabilidad de una posición en el conjunto ordenado que contiene esa letra.
asumido el
1
Me gusta tu enfoque. ¿No sería más realista suponer que el número de cada letra es fijo y que un pedido se dibuja de manera uniforme entre todos los pedidos posibles? Lamentablemente, no sé cuál es la distribución en ese caso. ¿Alguna idea?
gui11aume
@ gui11aume Ese es un pensamiento interesante. ¿Se refiere a un tipo de enfoque de prueba de permutación en el que permutamos el conjunto ordenado observado muchas veces y vemos cuán similar es el conjunto ordenado original a las permutaciones usando alguna estadística?
asumido el
Sí, eso es lo que tengo en mente. Luego puede usar la distancia Bhattacharyya o la divergencia Kullback-Leibler para medir la salida de la mezcla completa.
gui11aume
7

Exactamente lo que está describiendo se ha codificado en un procedimiento llamado Prueba de ejecución. No es complicado de dominar. Puede encontrarlo en muchas fuentes en pruebas estadísticas, por ejemplo, wikipedia o Nat'l Instit. de Estándares y Tecnología o YouTube .

rolando2
fuente
+1. @Alan, la prueba Runs también se llama prueba Wald – Wolfowitz, para que lo sepas.
ttnphns
Sin embargo, el problema con las pruebas de ejecución es que es solo para datos dicotómicos o dicotómicos.
ttnphns
0

Si está interesado en una perspectiva ligeramente diferente sobre esto, le gustaría ver un manual sobre teoría de la información, un área de matemática de interés en informática, procesamiento de imagen / video / audio, teoría de la comunicación y (quizás más sorprendentemente) física y cosmología (crucial para la comprensión de los agujeros negros, así como la termodinámica clásica) e incluso la biología.

Informalmente, podemos decir que una secuencia de letras "más grumosa" (según su ejemplo) se comprimirá más densamente cuando se someta a un algoritmo de compresión de propósito general, es decir, un archivo zip que contenga el texto sin formato será más pequeño. Del mismo modo, una imagen "grumosa" (por ejemplo, de unas pocas bolas de billar en una bayeta verde lisa) se comprimirá de manera mucho más eficiente, por ejemplo, crear un archivo jpeg más pequeño que una imagen más variada (como la imagen de un grupo de personas ) Por supuesto, el contenido de información (también conocido como entropía negativa o "negentropía") de dichos datos tiene varias definiciones formales independientes de algoritmos de compresión particulares.

Un ejemplo de un caso en el que una medida teórica de la información podría ser más reveladora que los análisis estadísticos más clásicos anteriores es si está interesado en identificar la "aglomeración" en múltiples (o todos) niveles de resolución. En el ejemplo de su cadena de texto, si había un montón de "A" agrupadas al comienzo de la secuencia, entonces no había mucha agrupación de "A", y luego periódicamente más agrupación y menos agrupación a medida que la secuencia continúa, entonces Se podría decir que la aglomeración existe en múltiples resoluciones, algo que las medidas teóricas de información pueden capturar de forma muy natural.

(Editar) Se me ocurre que su preocupación de que esta podría ser una pregunta ridícula, cuando en realidad el estudio de la "aglomeración" - bajo la apariencia de información y (neg) entropía - nos informa vitalmente sobre el funcionamiento cotidiano de la vida moderna (Internet, comunicaciones móviles, lenguaje en sí) y la naturaleza del universo (agujeros negros, formación de galaxias, interpretación de la radiación de fondo cósmico, determinación de lo que está "vivo") deben responderse con el adagio de que "no hay preguntas estúpidas , solo respuestas estúpidas "[cita no atribuida].

Barney Pitt
fuente