Écart type des observations groupées


25

J'ai un ensemble de données d'échantillons d'observations, stocké sous forme de dénombrements dans les bacs de plage. par exemple:

min/max  count
40/44    1
45/49    2
50/54    3
55/59    4
70/74    1

Maintenant, trouver une estimation de la moyenne à partir de cela est assez simple. Utilisez simplement la moyenne (ou la médiane) de chaque intervalle de plage comme observation et le décompte comme poids et trouvez la moyenne pondérée:

x¯=1i=1Nwii=1Nwixi

Pour mon cas de test, cela me donne 53,82.

Ma question est maintenant, quelle est la bonne méthode pour trouver l'écart-type (ou la variance)?

Grâce à ma recherche, j'ai trouvé plusieurs réponses, mais je ne sais pas laquelle, le cas échéant, est réellement appropriée pour mon ensemble de données. J'ai pu trouver la formule suivante à la fois sur une autre question ici et sur un document NIST aléatoire .

s2=i=1Nwi(xix¯)2(M1)Mi=1Nwi

Ce qui donne un écart type de 8,35 pour mon cas de test. Cependant, l'article de Wikipedia sur les moyennes pondérées donne à la fois la formule:

s2=i=1Nwi(i=1Nwi)2i=1Nwi2i=1Nwi(xix¯)2

et

s2=1(i=1Nwi)1i=1Nwi(xix¯)2

Ce qui donne des écarts-types de 8,66 et 7,83, respectivement, pour mon cas de test.

Mise à jour

Merci à @whuber qui a suggéré de se pencher sur les corrections de Sheppard et vos commentaires utiles à leur sujet. Malheureusement, j'ai du mal à comprendre les ressources que je peux trouver à ce sujet (et je ne trouve pas de bons exemples). Pour récapituler cependant, je comprends que ce qui suit est une estimation biaisée de la variance:

s2=1i=1Nwii=1Nwi(xix¯)2

Je comprends également que la plupart des corrections standard du biais concernent des échantillons aléatoires directs d'une distribution normale. Par conséquent, je vois deux problèmes potentiels pour moi:

  1. Ce sont des échantillons aléatoires groupés (qui, j'en suis presque sûr, sont là où les corrections de Sheppard entrent en jeu.)
  2. On ne sait pas si les données sont pour une distribution normale (donc je suppose que non, ce qui, j'en suis presque sûr, invalide les corrections de Sheppard.)

Donc, ma question mise à jour est; Quelle est la méthode appropriée pour traiter le biais imposé par la formule "simple" pondérée d'écart type / variance sur une distribution non normale? Plus précisément en ce qui concerne les données regroupées.

Remarque: j'utilise les termes suivants:

  • est la variance pondérée s2
  • est le nombre d'observations. (c'est-à-dire le nombre de bacs)N
  • est le nombre de poids différents de zéro. (c'est-à-dire le nombre de bacs comptés)M
  • sont les poids (c'est-à-dire les nombres)wi
  • sont les observations. (ie le bin signifie)xi
  • est la moyenne pondérée.x¯

5
Google "Sheppard's corrections" pour les solutions standard à ce problème.
whuber

, oùcest la taille des bacs (dans mon cas de test, 4). Est-ce correct? En tout cas, ce que je trouve ne semble pas encore me aider à calculerss2c212c . s2
chezy525

Le deuxième succès de ma recherche Google fournit une formule explicite (équation 9).
whuber

@whuber, cela fait quelques mois, et j'ai essayé de lire le document que vous avez lié plusieurs fois. Je pense que je manque encore quelque chose, mais le meilleur que j'ai trouvé est que l'équation finale que j'ai énumérée est correcte comme estimateur non biaisé. Est-ce correct?
chezy525

Les corrections de Sheppard ne supposent pas la normalité.
Glen_b -Reinstate Monica

Réponses:


18

Cette réponse présente deux solutions: les corrections de Sheppard et une estimation du maximum de vraisemblance. Les deux s'accordent étroitement sur une estimation de l'écart type: pour le premier et 7,69 pour le second (une fois ajusté pour être comparable à l'estimateur «sans biais» habituel).7.707.69


Corrections de Sheppard

Les «corrections de Sheppard» sont des formules qui ajustent les moments calculés à partir de données regroupées (comme celles-ci) où

  • les données sont supposées être régies par une distribution supportée sur un intervalle fini [a,b]

  • cet intervalle est divisé séquentiellement en des cases égales de largeur commune qui est relativement petite (aucune case ne contient une grande proportion de toutes les données)h

  • la distribution a une fonction de densité continue.

Ils sont dérivés de la formule de somme d'Euler-Maclaurin, qui se rapproche des intégrales en termes de combinaisons linéaires de valeurs de l'intégrande à des points régulièrement espacés, et donc généralement applicables (et pas seulement aux distributions normales).

Bien qu'à proprement parler une distribution normale ne soit pas prise en charge sur un intervalle fini, à une approximation extrêmement proche, elle l'est. Essentiellement, toute sa probabilité est contenue dans sept écarts-types de la moyenne. Par conséquent, les corrections de Sheppard s'appliquent aux données supposées provenir d'une distribution normale.

Les deux premières corrections de Sheppard sont

  1. Utilisez la moyenne des données regroupées pour la moyenne des données (c'est-à-dire qu'aucune correction n'est nécessaire pour la moyenne).

  2. Soustraire h2/12

h2/12hh/2h/2h2/12

Faisons les calculs. J'utilise Rpour les illustrer, en commençant par préciser les comptages et les bacs:

counts <- c(1,2,3,4,1)
bin.lower <- c(40, 45, 50, 55, 70)
bin.upper <- c(45, 50, 55, 60, 75)

La formule appropriée à utiliser pour les comptages provient de la réplication des largeurs de bacs par les montants donnés par les comptages; autrement dit, les données regroupées sont équivalentes à

42.5, 47.5, 47.5, 52.5, 52.5, 57.5, 57.5, 57.5, 57.5, 72.5

xkkx2

bin.mid <- (bin.upper + bin.lower)/2
n <- sum(counts)
mu <- sum(bin.mid * counts) / n
sigma2 <- (sum(bin.mid^2 * counts) - n * mu^2) / (n-1)

mu1195/2254.32sigma2675/1161.367.83h=5h2/12=25/122.08675/1152/127.70


Estimations du maximum de vraisemblance

Fθθ(x0,x1]kFθ , alors le ( additif) à la probabilité logarithmique de ce bac est

logi=1k(Fθ(x1)Fθ(x0))=klog(Fθ(x1)Fθ(x0))

(voir MLE / probabilité d'intervalle lognormalement distribué ).

Λ(θ)θ^Λ(θ)θ . Le Rcode suivant fait le travail pour une distribution normale:

sigma <- sqrt(sigma2) # Crude starting estimate for the SD
likelihood.log <- function(theta, counts, bin.lower, bin.upper) {
  mu <- theta[1]; sigma <- theta[2]
  -sum(sapply(1:length(counts), function(i) {
    counts[i] * 
      log(pnorm(bin.upper[i], mu, sigma) - pnorm(bin.lower[i], mu, sigma))
  }))
}
coefficients <- optim(c(mu, sigma), function(theta) 
  likelihood.log(theta, counts, bin.lower, bin.upper))$par

(μ^,σ^)=(54.32,7.33)

σn/(n1)σn/(n1)σ^=11/10×7.33=7.697.70

Vérification des hypothèses

Pour visualiser ces résultats, nous pouvons tracer la densité normale ajustée sur un histogramme:

hist(unlist(mapply(function(x,y) rep(x,y), bin.mid, counts)),
     breaks = breaks, xlab="Values", main="Data and Normal Fit")
curve(dnorm(x, coefficients[1], coefficients[2]), 
      from=min(bin.lower), to=max(bin.upper), 
      add=TRUE, col="Blue", lwd=2)

Figure

11 valeurs), des écarts étonnamment importants entre la distribution des observations et la vraie distribution sous-jacente peuvent se produire.

Vérifions plus formellement l'hypothèse (faite par le MLE) que les données sont régies par une distribution normale. Un test de qualité d’ajustement approximatif peut être obtenuχ2test: les paramètres estimés indiquent la quantité attendue de données dans chaque bac; leχ2la statistique compare les dénombrements observés aux dénombrements attendus. Voici un test en R:

breaks <- sort(unique(c(bin.lower, bin.upper)))
fit <- mapply(function(l, u) exp(-likelihood.log(coefficients, 1, l, u)),
              c(-Inf, breaks), c(breaks, Inf))
observed <- sapply(breaks[-length(breaks)], function(x) sum((counts)[bin.lower <= x])) -
  sapply(breaks[-1], function(x) sum((counts)[bin.upper < x]))
chisq.test(c(0, observed, 0), p=fit, simulate.p.value=TRUE)

La sortie est

Chi-squared test for given probabilities with simulated p-value (based on 2000 replicates)

data:  c(0, observed, 0) 
X-squared = 7.9581, df = NA, p-value = 0.2449

Le logiciel a effectué un test de permutation (ce qui est nécessaire car la statistique du test ne suit pas exactement une distribution khi carré: voir mon analyse sur Comment comprendre les degrés de liberté ). Sa valeur p de0,245, qui n'est pas petite, montre très peu de signes de sortie de la normalité: nous avons des raisons de faire confiance aux résultats du maximum de vraisemblance.

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.