Mesure standard de la grosseur?


13

J'ai beaucoup de données et je veux faire quelque chose qui semble très simple. Dans ce grand ensemble de données, je m'intéresse à la façon dont un élément spécifique s'agglutine. Disons que mes données sont un ensemble ordonné comme celui-ci: {A, C, B, D, A, Z, T, C ...}. Disons que je veux savoir si les A ont tendance à se trouver les uns à côté des autres, au lieu d'être distribués de manière aléatoire (ou plus uniformément) dans l'ensemble. C'est la propriété que j'appelle "la grosseur".

Maintenant, existe-t-il une mesure simple de la "masse" des données? Autrement dit, une statistique qui me dira à quelle distance de la distribution aléatoire des As sont? Et s'il n'y a pas de moyen simple de le faire, quelle serait la difficulté, en gros? Tous les pointeurs grandement appréciés!

Réponses:


14

Par exemple, supposons que vous ayez un ensemble ordonné dans lequel chaque position a une probabilité égale d'être l'une des lettres minuscules de l'alphabet. Dans ce cas, je ferai en sorte que l'ensemble commandé contienne éléments.1000

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

Il se trouve que si chacune des positions de l'ensemble ordonné suit une distribution uniforme sur les lettres minuscules de l'alphabet, la distance entre deux occurrences de la même lettre suit une loi géométrique de paramètre . À la lumière de ces informations, calculons la distance entre les occurrences consécutives de la même lettre.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)

Regardons un histogramme des distances entre les occurrences de la même lettre et comparons-le à la fonction de masse de probabilité associée à la distribution géométrique mentionnée ci-dessus.

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)

Les points rouges représentent la fonction de masse de probabilité réelle de la distance à laquelle nous nous attendrions si chacune des positions de l'ensemble ordonné suivait une distribution uniforme sur les lettres et les barres de l'histogramme représentent la fonction de masse de probabilité empirique de la distance associée à l'ordre ensemble.

entrez la description de l'image ici

J'espère que l'image ci-dessus est convaincante que la distribution géométrique est appropriée.

p=1/260

Comment se d.flatcompare-t-on à la distribution géométrique attendue en termes de distance 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)

0,0260

ÉDITER:

0,0260dix,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))

Maintenant, nous pouvons calculer la probabilité d'observer la distance de Bhattacharyya observée ci-dessus, ou une autre extrême, si l'ensemble ordonné a été généré de telle manière que chacune de ses positions suit une distribution uniforme sur les lettres.

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

entrez la description de l'image ici


Il semble que vous supposiez au tout début que la distribution des lettres est multinomiale avec une probabilité égale pour chaque lettre. Et si la distribution est de probabilités inégales pour les lettres? - La distribution attendue des distances entre les occurrences pour chaque lettre sera-t-elle toujours géométrique? Et avec quel paramètre?
ttnphns

Avec des probabilités inégales pour chaque lettre, la distance entre les occurrences de chaque lettre est toujours géométrique. Cependant, le paramètre varie selon la lettre et pour chaque lettre, il est égal à la probabilité d'une position dans l'ensemble ordonné contenant cette lettre.
supposé normal

1
J'aime ton approche. Ne serait-il pas plus réaliste de supposer que le numéro de chaque lettre est fixe et qu'une commande est tirée uniformément parmi toutes les commandes possibles? Malheureusement, je ne sais pas quelle est la distribution dans ce cas. Une idée?
gui11aume

@ gui11aume C'est une pensée intéressante. Faites-vous référence à une sorte d'approche de test de permutation où nous permutons l'ensemble ordonné observé plusieurs fois et voyons à quel point l'ensemble ordonné original est similaire aux permutations en utilisant des statistiques?
supposé normal

Oui, c'est ce que j'ai en tête. Vous pouvez ensuite utiliser la distance Bhattacharyya ou la divergence Kullback-Leibler pour mesurer l'écart par rapport au mélange complet.
gui11aume

7

Exactement ce que vous décrivez a été codifié dans une procédure appelée Runs Test. Ce n'est pas compliqué à maîtriser. Vous pouvez le trouver dans de nombreuses sources sur les tests statistiques, par exemple, wikipedia ou le Nat'l Instit. des normes et de la technologie ou YouTube .


+1. @Alan, le test Runs est également appelé test Wald – Wolfowitz - pour que vous le sachiez.
ttnphns

Le problème avec le test des exécutions est qu'il ne concerne que les données dichotomiques ou dichotomisées.
ttnphns

0

Si vous êtes intéressé par une perspective légèrement différente à ce sujet, vous voudrez peut-être regarder une introduction à la théorie de l'information - un domaine des mathématiques intéressant l'informatique, le traitement d'image / vidéo / audio, la théorie de la communication et (peut-être plus surprenant) la physique et la cosmologie (cruciale pour la compréhension des trous noirs, ainsi que la thermodynamique classique) et même la biologie.

De manière informelle, nous pouvons dire qu'une séquence de lettres "plus dense" (selon votre exemple) sera compressée plus densément lorsqu'elle sera soumise à un algorithme de compression à usage général - c'est-à-dire qu'un fichier zip contenant le texte brut sera plus petit. De même, une image "grumeleuse" (par exemple, de quelques boules de billard sur un tapis vert uni) se compressera beaucoup plus efficacement - par exemple, crée un fichier jpeg plus petit - qu'une image plus variée (comme une image d'un groupe de personnes ). Bien sûr, le contenu de l'information (aka entropie négative ou "néguentropie") de ces données a diverses définitions formelles indépendantes d'algorithmes de compression particuliers.

Un exemple de cas dans lequel une mesure théorique de l'information pourrait être plus révélatrice que les analyses statistiques plus classiques ci-dessus est si vous êtes intéressé à identifier la "grosseur" à plusieurs (ou tous) niveaux de résolution. Dans l'exemple de votre chaîne de texte, s'il y avait beaucoup de "A" regroupés au début de la séquence, alors pas beaucoup de regroupements de "A", puis périodiquement plus de regroupements et moins de regroupements à mesure que la séquence se poursuit, alors on pourrait dire que la lourdeur existe à plusieurs résolutions - quelque chose qui peut être très naturellement saisi par des mesures théoriques de l'information.

(Edit) Il me vient à l'esprit que votre préoccupation que cela pourrait être une question ridicule, alors qu'en fait l'étude de la "masse" - sous forme d'informations et d'entropie (nég) - nous informe de façon vitale sur le fonctionnement quotidien de la vie moderne (Internet, communications mobiles, langage lui-même) et la nature de l'univers (trous noirs, formation de galaxies, interprétation du rayonnement de fond cosmique, détermination de ce qui est "vivant") devraient recevoir une réponse avec l'adage selon lequel "il n'y a pas de questions stupides , seulement des réponses stupides "[citation non attribuée].

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.