Standardmaß für Klumpen?

13

Ich habe viele Daten und möchte etwas tun, das sehr einfach zu sein scheint. In dieser großen Datenmenge interessiert mich, wie stark ein bestimmtes Element zusammenklumpt. Angenommen, meine Daten sind wie folgt geordnet: {A, C, B, D, A, Z, T, C ...}. Angenommen, ich möchte wissen, ob die A-Werte in der Regel direkt nebeneinander liegen und nicht zufällig (oder gleichmäßiger) über den gesamten Satz verteilt sind. Dies ist die Eigenschaft, die ich "Klumpen" nenne.

Gibt es nun eine einfache Messung der Daten "Klumpen"? Das heißt, eine Statistik, die mir sagt, wie weit die As nicht zufällig verteilt sind? Und wenn es keinen einfachen Weg gibt, was wäre der harte Weg? Alle Hinweise sehr geschätzt!

Alan H.
quelle

Antworten:

14

Angenommen, Sie haben eine geordnete Menge, in der für jede Position die gleiche Wahrscheinlichkeit besteht, dass es sich um einen der Kleinbuchstaben im Alphabet handelt. In diesem Fall werde ich das bestellte Set Elemente enthalten lassen .1000

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

Es stellt sich heraus , dass , wenn jede der Positionen der geordneten Menge eine gleichmäßige Verteilung über die Kleinbuchstaben des Alphabets folgt, dann ist der Abstand zwischen zwei Vorkommen des gleichen Buchstaben mit dem Parameter einer geometrischen Verteilung folgt , p=1/26 . Berechnen wir anhand dieser Informationen den Abstand zwischen aufeinanderfolgenden Vorkommen desselben Buchstabens.

# 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)

Schauen wir uns ein Histogramm der Abstände zwischen Vorkommen desselben Buchstabens an und vergleichen Sie es mit der Wahrscheinlichkeitsmassenfunktion, die mit der oben erwähnten geometrischen Verteilung verbunden ist.

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)

Die roten Punkte repräsentieren die tatsächliche Wahrscheinlichkeitsmassenfunktion der Entfernung, die wir erwarten würden, wenn jede der Positionen der geordneten Menge einer gleichmäßigen Verteilung über die Buchstaben folgt, und die Balken des Histogramms repräsentieren die empirische Wahrscheinlichkeitsmassenfunktion der Entfernung, die der geordneten zugeordnet ist einstellen.

Bildbeschreibung hier eingeben

Hoffentlich überzeugt das obige Bild, dass die geometrische Verteilung angemessen ist.

Auch hier würde, wenn jede Position der geordneten Menge einer gleichmäßigen Verteilung über die Buchstaben folgt, erwartet, dass der Abstand zwischen den Vorkommen desselben Buchstabens einer geometrischen Verteilung mit dem Parameter folgtp=1/260

Wie verhält es sich d.flatmit der erwarteten geometrischen Verteilung in Bezug auf die Bhattacharyya-Entfernung?

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

BEARBEITEN:

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

Nun können wir die Wahrscheinlichkeit berechnen, die oben beobachtete Bhattacharyya-Entfernung zu beobachten, oder ein weiteres Extrem, wenn die geordnete Menge so erzeugt wurde, dass jede ihrer Positionen einer gleichmäßigen Verteilung über die Buchstaben folgt.

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 .

Bildbeschreibung hier eingeben

angenommennormal
quelle
Es sieht so aus, als ob Sie gleich zu Beginn davon ausgehen, dass die Verteilung der Buchstaben multinomial ist, mit der gleichen Wahrscheinlichkeit für jeden Buchstaben. Was ist, wenn die Verteilung für Briefe ungleich wahrscheinlicher ist? - Wird die erwartete Abstandsverteilung zwischen Vorkommen für jeden Buchstaben noch geometrisch sein? Und mit welchem ​​Parameter?
TTNPHNS
Bei ungleichen Wahrscheinlichkeiten für jeden Buchstaben ist der Abstand zwischen den Vorkommen jedes Buchstabens immer noch geometrisch. Der Parameter variiert jedoch je nach Buchstabe und ist für jeden Buchstaben gleich der Wahrscheinlichkeit einer Position in der geordneten Menge, die diesen Buchstaben enthält.
Angenommen, normal
1
Ich mag deine Herangehensweise. Wäre es nicht realistischer anzunehmen, dass die Nummer jedes Buchstabens feststeht und eine einheitliche Reihenfolge aller möglichen Ordnungen festgelegt ist? Leider weiß ich nicht, wie die Verteilung in diesem Fall ist. Irgendeine Idee?
gui11aume
@ gui11aume Das ist ein interessanter Gedanke. Beziehen Sie sich auf eine Art Permutationstest-Ansatz, bei dem wir die beobachtete geordnete Menge viele Male permutieren und anhand einer Statistik feststellen, wie ähnlich die ursprüngliche geordnete Menge den Permutationen ist?
Angenommen, normal
Ja, das ist es, was ich vorhabe. Sie können dann die Bhattacharyya-Distanz oder die Kullback-Leibler-Divergenz verwenden, um die Abweichung vom vollständigen Mischen zu messen.
Gui11aume
7

Genau das, was Sie beschreiben, wurde in einer Prozedur namens Runs Test kodifiziert. Es ist nicht kompliziert zu meistern. Sie finden es in vielen Quellen zu statistischen Tests, z. B. Wikipedia oder dem National Instit. von Standards und Technologie oder YouTube .

rolando2
quelle
+1. @ Alan, Runs-Test wird auch Wald-Wolfowitz-Test genannt - damit Sie es wissen.
TTNPHNS
Das Problem bei Testläufen ist jedoch, dass es sich nur um dichotome oder dichotomisierte Daten handelt.
TTNPHNS
0

Wenn Sie sich für eine etwas andere Perspektive interessieren, schauen Sie sich vielleicht eine Einführung in die Informationstheorie an - ein Gebiet von Interesse für Mathematik in den Bereichen Computer, Bild- / Video- / Audioverarbeitung, Kommunikationstheorie und (vielleicht überraschender) Physik und Kosmologie (entscheidend für das Verständnis der Schwarzen Löcher sowie der klassischen Thermodynamik) und sogar Biologie.

Informell können wir sagen, dass eine "klumpigere" Folge von Buchstaben (wie in Ihrem Beispiel) dichter komprimiert wird, wenn sie einem allgemeinen Komprimierungsalgorithmus unterzogen wird - dh eine Zip-Datei mit dem Rohtext wird kleiner. In ähnlicher Weise wird ein "klumpiges" Bild (z. B. ein paar Billardkugeln auf einem einfachen grünen Köder) viel effizienter komprimiert (z. B. eine kleinere JPEG-Datei erstellen) als ein abwechslungsreicheres Bild (z. B. ein Bild einer Gruppe von Menschen) ). Natürlich hat der Informationsgehalt (auch als negative Entropie oder "Negentropie" bezeichnet) solcher Daten verschiedene formale Definitionen, die von bestimmten Kompressionsalgorithmen unabhängig sind.

Ein Beispiel für einen Fall, in dem eine informationstheoretische Messung aufschlussreicher sein könnte als die oben beschriebenen klassischen statistischen Analysen, ist das Ermitteln von "Klumpen" auf mehreren (oder allen) Auflösungsebenen. Wenn im Beispiel Ihrer Textzeichenfolge zu Beginn der Sequenz viele "A" -Elemente gebündelt waren, dann nicht viele "A" -Elemente und dann in regelmäßigen Abständen mehr und weniger Bündel, während die Sequenz fortgesetzt wird Man könnte sagen, dass die Klumpen bei mehreren Auflösungen existieren - etwas, das sehr natürlich durch informationstheoretische Maßnahmen erfasst werden kann.

(Bearbeiten) Mir fällt Ihre Besorgnis ein, dass dies eine lächerliche Frage sein könnte, obwohl das Studium der "Klumpen" - in Form von Informationen und (negativer) Entropie - uns entscheidend über die alltäglichen Abläufe des modernen Lebens informiert (Internet, Mobilfunk, Sprache selbst) und die Natur des Universums (Schwarze Löcher, Galaxienentstehung, Interpretation der kosmischen Hintergrundstrahlung, Bestimmung, was "lebendig" ist) sollten mit dem Sprichwort beantwortet werden, dass "es keine dummen Fragen gibt , nur dumme Antworten "[nicht zugeschriebenes Zitat].

Barney Pitt
quelle