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.
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.flat
mit 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 .