13 votos

Medida estándar de clumpiness?

Tengo un montón de datos y quiero hacer algo que parece muy sencillo. En este gran conjunto de datos, estoy interesado en la cantidad de un elemento específico se aglutina. Digamos que mis datos es un conjunto ordenado como esto: {a,C,B,D,a,Z,T,C,...}. Digamos que yo quiero saber si los tienden a encontrarse uno al lado del otro, en lugar de ser al azar (o de manera más uniforme), distribuidos en todo el conjunto. Esta es la propiedad que estoy llamando "clumpiness".

Ahora, ¿hay alguna medida simple de datos "clumpiness"? Es decir, algún dato que me va a decir cómo lejos de ser distribuidos al azar el Como están? Y si no hay una manera sencilla de hacerlo, lo haría de la manera difícil ser, aproximadamente? Los punteros muy apreciado!

14voto

user4812 Puntos 1149

Como un ejemplo, suponga que tiene un conjunto ordenado en el que cada posición tiene una probabilidad igual de ser alguna de las letras minúsculas del alfabeto. En este caso voy a hacer que el conjunto ordenado contener $1000$ elementos.

# 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, entonces la distancia entre dos ocurrencias de la misma carta, sigue una distribución geométrica con parámetro de $p=1/26$. A la luz de esta información, vamos a calcular la distancia entre repeticiones consecutivas de la misma carta.

# 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 las ocurrencias de la misma carta, y compararlo con la función de masa de probabilidad asociada con la distribución geométrica se mencionó 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 real función de masa de probabilidad de la distancia sería de esperar si cada una de las posiciones del conjunto ordenado seguido una distribución uniforme sobre las letras y las barras del histograma representan empírica de la función de masa de probabilidad de la distancia asociada con el conjunto ordenado.

enter image description here

Esperemos que la imagen de arriba es convincente que la distribución geométrica es la adecuada.

De nuevo, si la posición de cada uno de los conjunto ordenado sigue una distribución uniforme sobre las letras, sería de esperar que la distancia entre las ocurrencias de la misma letra que sigue una distribución geométrica con parámetro de $p=1/26$. Así lo similares que se espera que la distribución de las distancias y la distribución empírica de las diferencias? El Bhattacharyya Distancia entre dos distribuciones discretas es $0$ cuando las distribuciones son exactamente de la misma y tiende a $\infty$ como las distribuciones vuelto cada vez más diferentes.

¿Cómo d.flat de arriba comparar a la esperada distribución geométrica en términos de la Distancia de 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)

El Bhattacharyya Distancia entre la espera geométrica de la distribución y de la emprirical distribución de las distancias es acerca de $0.026$, que es bastante cerca de a $0$.

EDITAR:

En lugar de simplemente indica que el Bhattacharyya Distancia observada anteriormente ($0.026$) está bastante cerca de a $0$, creo que este es un buen ejemplo de cuando la simulación es útil. La pregunta ahora es la siguiente: ¿Cómo funciona el Bhattacharyya Distancia observada por encima de comparar los típicos Bhattacharyya Distancias a observar si la posición de cada uno de los conjunto ordenado es uniforme sobre las letras? Vamos a generar $10,000$ tales conjuntos ordenados y calcular cada uno de sus Bhattacharyya Distancias de la esperada distribución geométrica.

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 el Bhattacharyya Distancia observado más arriba, o uno más extremo, si el conjunto ordenado fue generado 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))

En este caso, la probabilidad resulta ser de alrededor de $0.38$.

La integridad, la siguiente imagen es de un histograma de la simulación Bhattacharyya Distancias. Creo que es importante darse cuenta de que usted nunca va a observar una Distancia de Bhattacharyya $0$ debido a que el conjunto ordenado tiene longitud finita. Anteriormente, la distancia máxima entre dos ocurrencias de una carta en la mayoría de las $999$.

enter image description here

7voto

pauly Puntos 932

Exactamente lo que usted describe se ha codificado en un procedimiento llamado las Pistas de Prueba. No es complicado de dominar. Usted puede encontrar en muchas fuentes en las pruebas estadísticas, por ejemplo, la wikipedia o la nat'l Instit. de Estándares y Tecnología o YouTube.

0voto

Barney Pitt Puntos 1

Si usted está interesado en una perspectiva ligeramente diferente sobre esto, usted puede buscar en una introducción a la teoría de la información - área de matemáticas de interés en la informática, imagen/vídeo/audio de procesamiento, la teoría de la comunicación y (tal vez lo más sorprendente) de la física y la cosmología (que es crucial para la comprensión de los agujeros negros, así como clásicos de la termodinámica) e incluso la biología.

De manera informal, podemos decir que un "clumpier" secuencia de letras (como por ejemplo) va a ser más densamente comprimida cuando se somete a un propósito general algoritmo de compresión - es decir, un archivo zip que contiene el texto en bruto será menor. Del mismo modo, un "grumoso" de la imagen (es decir, de un par de bolas de billar en una simple bayeta verde) se comprime mucho más eficiente - por ejemplo, crear un pequeño archivo jpeg que más variada de la imagen (tal como una imagen de un grupo de personas). Por supuesto, el contenido de la información (un.k.una. entropía negativa o "entropía") de dichos datos tiene varias definiciones formales independientes de determinados algoritmos de compresión.

Un ejemplo de un caso en que una información teórico-medida puede ser más revelador que la más clásica de análisis estadísticos de arriba es si usted está interesado en la identificación de "clumpiness" en varios (o todos) de los niveles de resolución. En el ejemplo de su cadena de texto, si había un montón de "Una"s agrupados juntos en el principio de la secuencia, entonces no hay mucho agrupamiento de "Una"s, y luego periódicamente más arrugas y menos agrupar como sigue la secuencia, entonces el clumpiness podría decirse que existen en varias resoluciones - algo que puede ser muy naturalmente capturado por la información teórica medidas.

(Edit) Se me ocurre que su preocupación de que esto podría ser una pregunta absurda, cuando en realidad el estudio de la "clumpiness" - con el pretexto de la información y (neg)la entropía de vital nos informa acerca de las operaciones diarias de la vida moderna (internet, comunicaciones móviles, el mismo idioma) y la naturaleza del universo (los agujeros negros, la formación de galaxias, la interpretación de la Radiación Cósmica de Fondo, la determinación de lo que es "vida") debe ser respondida con el adagio de que "no hay preguntas tontas, solo tontos respuestas" [anónimo cita].

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