Misura standard di ingombro?


13

Ho molti dati e voglio fare qualcosa che sembra molto semplice. In questo ampio insieme di dati, sono interessato a quanto un elemento specifico si raggruppa. Supponiamo che i miei dati siano un set ordinato come questo: {A, C, B, D, A, Z, T, C ...}. Diciamo che voglio sapere se gli A tendono ad essere trovati uno accanto all'altro, invece di essere distribuiti casualmente (o più uniformemente) in tutto il set. Questa è la proprietà che chiamo "ingombro".

Ora, c'è qualche semplice misurazione della "confusione" dei dati? Cioè, alcune statistiche che mi diranno quanto sono distanti dalla distribuzione casuale degli As? E se non ci fosse un modo semplice per farlo, quale sarebbe il modo più duro, approssimativamente? Qualche suggerimento molto apprezzato!

Risposte:


14

Ad esempio, supponiamo di avere un set ordinato in cui ogni posizione ha la stessa probabilità di essere una delle lettere minuscole dell'alfabeto. In questo caso, farò in modo che l'insieme ordinato contenga elementi.1000

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

Si scopre che se ciascuna delle posizioni del insieme ordinato segue una distribuzione uniforme sopra le lettere minuscole dell'alfabeto, allora la distanza tra due occorrenze della stessa lettera segue una distribuzione geometrica di parametro . Alla luce di queste informazioni, calcoliamo la distanza tra occorrenze consecutive della stessa lettera.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)

Diamo un'occhiata a un istogramma delle distanze tra occorrenze della stessa lettera e confrontiamolo con la funzione di massa di probabilità associata alla distribuzione geometrica sopra menzionata.

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)

I punti rossi rappresentano la funzione di massa di probabilità effettiva della distanza che ci aspetteremmo se ciascuna delle posizioni dell'insieme ordinato seguisse una distribuzione uniforme sulle lettere e le barre dell'istogramma rappresentino la funzione di massa di probabilità empirica della distanza associata all'ordine ordinato impostato.

inserisci qui la descrizione dell'immagine

Speriamo che l'immagine qui sopra sia convincente che la distribuzione geometrica sia appropriata.

p=1/260

Come si d.flatconfronta dall'alto con la distribuzione geometrica attesa in termini di distanza di 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

MODIFICARE:

0.026010,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))

Ora possiamo calcolare la probabilità di osservare la distanza di Bhattacharyya osservata sopra, o un altro estremo, se l'insieme ordinato è stato generato in modo tale che ciascuna delle sue posizioni segua una distribuzione uniforme sulle lettere.

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

0999

inserisci qui la descrizione dell'immagine


Sembra che tu supponga fin dall'inizio che la distribuzione delle lettere sia multinomiale con uguale probabilità per ogni lettera. Che cosa succede se la distribuzione presenta probabilità ineguali per le lettere? - La distribuzione prevista delle distanze tra le occorrenze per ogni lettera sarà ancora geometrica? E con quale parametro?
ttnphns,

Con probabilità ineguali per ogni lettera, la distanza tra le occorrenze di ogni lettera è ancora geometrica. Tuttavia, il parametro varia in base alla lettera e per ogni lettera è uguale alla probabilità di una posizione nell'insieme ordinato contenente quella lettera.
assunto normale il

1
Mi piace il tuo approccio. Non sarebbe più realistico supporre che il numero di ogni lettera sia fisso e che un ordine sia disegnato in modo uniforme tra tutti i possibili ordini? Sfortunatamente non so quale sia la distribuzione in quel caso. Qualche idea?
gui11aume,

@ gui11aume Questo è un pensiero interessante. Ti riferisci a un tipo di approccio al test di permutazione in cui permutiamo il set ordinato osservato molte volte e vedi quanto il set ordinato originale è simile alle permutazioni usando una statistica?
assunto normale il

Sì, è quello che ho in mente. È quindi possibile utilizzare la distanza di Bhattacharyya o la divergenza di Kullback-Leibler per misurare la partenza dal mixaggio completo.
gui11aume,

7

Esattamente quello che stai descrivendo è stato codificato in una procedura chiamata Test delle esecuzioni. Non è complicato da padroneggiare. Puoi trovarlo in molte fonti su test statistici, ad esempio Wikipedia o il Nat'l Instit. di standard e tecnologia o YouTube .


+1. @Alan, il test di Runs è anche chiamato test di Wald – Wolfowitz - per te sapere.
ttnphns,

Il problema con l'esecuzione dei test è che è solo per dati dicotomici o dicotomizzati.
ttnphns,

0

Se sei interessato a una prospettiva leggermente diversa su questo, potresti guardare un primer sulla teoria dell'informazione - un'area di matematica di interesse in informatica, elaborazione di immagini / video / audio, teoria della comunicazione e (forse più sorprendentemente) fisica e cosmologia (cruciale per la comprensione dei buchi neri, così come la termodinamica classica) e persino la biologia.

Informalmente, possiamo dire che una sequenza di lettere "più complessa" (come nel tuo esempio) sarà più densamente compressa quando soggetta ad un algoritmo di compressione per uso generale - cioè un file zip contenente il testo grezzo sarà più piccolo. Allo stesso modo, un'immagine "ingombrante" (diciamo, di alcune palle da biliardo su un semplice panno verde) comprimerà molto più efficientemente - ad esempio, crea un file jpeg più piccolo - di un'immagine più varia (come l'immagine di un gruppo di persone ). Naturalmente il contenuto informativo (ovvero entropia negativa o "negentropia") di tali dati ha varie definizioni formali indipendenti da particolari algoritmi di compressione.

Un esempio di un caso in cui una misura teorica dell'informazione potrebbe essere più rivelatore delle analisi statistiche più classiche di cui sopra è se sei interessato a identificare la "goffaggine" a più (o tutti) livelli di risoluzione. Nell'esempio della stringa di testo, se all'inizio della sequenza c'erano molte "A" raggruppate insieme, allora non molto raggruppamento di "A" e quindi periodicamente più raggruppamento e meno raggruppamento man mano che la sequenza continua, quindi si potrebbe dire che la confusione esiste a più risoluzioni - qualcosa che può essere catturato in modo molto naturale da misure teoriche dell'informazione.

(Modifica) Mi viene in mente che la tua preoccupazione che questa potrebbe essere una domanda ridicola, quando in realtà lo studio della "goffaggine" - nelle vesti di informazioni e (neg) entropia - ci informa in modo vitale sia sul funzionamento quotidiano della vita moderna (Internet, comunicazioni mobili, linguaggio stesso) e la natura dell'universo (buchi neri, formazione di galassie, interpretazione della radiazione cosmica di fondo, determinazione di ciò che è "vivo") dovrebbe essere risolto con il detto che "non ci sono domande stupide , solo stupide risposte "[citazione non attribuita].

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.