Medida padrão de aglomeração?

13

Eu tenho muitos dados e quero fazer algo que parece muito simples. Nesse grande conjunto de dados, estou interessado em saber quanto um elemento específico se agrupa. Digamos que meus dados sejam um conjunto ordenado como este: {A, C, B, D, A, Z, T, C ...}. Digamos que eu queira saber se os A tendem a ser encontrados um ao lado do outro, em vez de serem distribuídos aleatoriamente (ou mais uniformemente) por todo o conjunto. Esta é a propriedade que estou chamando de "aglomeração".

Agora, existe alguma medição simples da "aglomeração" de dados? Ou seja, algumas estatísticas que me dirão o quão longe de serem distribuídos aleatoriamente os As estão? E se não houver uma maneira simples de fazer isso, qual seria o caminho mais difícil? Qualquer ponteiro muito apreciado!

Alan H.
fonte

Respostas:

14

1000

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

p=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)

Vejamos um histograma das distâncias entre ocorrências da mesma letra e compare-o com a função de massa de probabilidade associada à distribuição geométrica mencionada acima.

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)

Os pontos vermelhos representam a função de massa de probabilidade real da distância que esperávamos se cada uma das posições do conjunto ordenado seguisse uma distribuição uniforme sobre as letras e as barras do histograma representassem a função de massa de probabilidade empírica da distância associada à ordem conjunto.

insira a descrição da imagem aqui

Esperamos que a imagem acima seja convincente que a distribuição geométrica seja apropriada.

p=1/260 0

Como d.flatacima se compara à distribuição geométrica esperada em termos de Distância 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))

Agora podemos calcular a probabilidade de observar a Distância Bhattacharyya observada acima, ou mais uma, se o conjunto ordenado for gerado de tal maneira que cada uma de suas posições siga uma distribuição uniforme sobre as 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

insira a descrição da imagem aqui

assumido normal
fonte
Parece que você assume desde o início que a distribuição de letras é multinomial com probabilidade igual para cada letra. E se a distribuição tiver probabilidades desiguais para letras? - A distribuição esperada das distâncias entre as ocorrências para cada letra ainda será geométrica? E com qual parâmetro?
ttnphns
Com probabilidades desiguais para cada letra, a distância entre as ocorrências de cada letra ainda é geométrica. No entanto, o parâmetro varia de acordo com a letra e, para cada letra, é igual à probabilidade de uma posição no conjunto ordenado que contém essa letra.
assumido normal
1
Eu gosto da sua abordagem. Não seria mais realista supor que o número de cada letra é fixo e que uma ordem é desenhada uniformemente entre todas as ordens possíveis? Infelizmente, não sei qual é a distribuição nesse caso. Qualquer ideia?
gui11aume
@ gui11aume Esse é um pensamento interessante. Você está se referindo a um tipo de abordagem de teste de permutação em que permutamos o conjunto ordenado observado muitas vezes e vemos quão semelhante o conjunto ordenado original é às permutações usando alguma estatística?
assumednormal
Sim, é isso que tenho em mente. Você pode usar a distância Bhattacharyya ou a divergência Kullback-Leibler para medir a saída da mixagem completa.
gui11aume
7

Exatamente o que você está descrevendo foi codificado em um procedimento chamado Teste de Execução. Não é complicado dominar. Você pode encontrá-lo em várias fontes em testes estatísticos, por exemplo, wikipedia ou Nat'l Instit. de Padrões e Tecnologia ou YouTube .

rolando2
fonte
+1. @ Alan, o teste de corridas também é chamado de teste de Wald – Wolfowitz - para você saber.
ttnphns
O problema com o teste de execução é que é apenas para dados dicotômicos ou dicotomizados.
31412 ttnphns
0

Se você estiver interessado em uma perspectiva um pouco diferente sobre isso, talvez queira ler uma cartilha sobre teoria da informação - uma área da matemática de interesse em computação, processamento de imagem / vídeo / áudio, teoria da comunicação e (talvez mais surpreendentemente) física e física. cosmologia (crucial para a compreensão dos buracos negros, bem como a termodinâmica clássica) e até biologia.

Informalmente, podemos dizer que uma sequência "mais grossa" de letras (como no seu exemplo) será mais densamente compactada quando submetida a um algoritmo de compressão de uso geral - ou seja, um arquivo zip contendo o texto bruto será menor. Da mesma forma, uma imagem "desajeitada" (digamos, de algumas bolas de bilhar em um feltro verde liso) comprime muito mais eficientemente - por exemplo, cria um arquivo jpeg menor - do que uma imagem mais variada (como a imagem de um grupo de pessoas ) Obviamente, o conteúdo da informação (também conhecido como entropia negativa ou "negentropy") desses dados possui várias definições formais independentes de algoritmos de compactação específicos.

Um exemplo de caso em que uma medida teórica da informação pode ser mais reveladora do que as análises estatísticas mais clássicas acima é se você estiver interessado em identificar "aglomeração" em vários (ou todos) níveis de resolução. No exemplo de sua sequência de texto, se houver muitos "A" agrupados no início da sequência, não haverá muito agrupamento de "A" e, periodicamente, mais agrupamentos e menos agrupamentos à medida que a sequência continuar, pode-se dizer que a massa existe em múltiplas resoluções - algo que pode ser capturado de maneira muito natural por medidas teóricas da informação.

(Editar) Ocorre-me que sua preocupação de que essa possa ser uma pergunta ridícula, quando, de fato, o estudo da "aglomeração" - disfarçado de informação e (neg) entropia - nos informa de forma vital sobre a operação cotidiana da vida moderna (a internet, comunicações móveis, a própria linguagem) e a natureza do universo (buracos negros, formação de galáxias, interpretação da radiação cósmica de fundo, determinando o que está "vivo") devem ser respondidas com o ditado de que "não há perguntas estúpidas , apenas respostas estúpidas "[citação não atribuída].

Barney Pitt
fonte