Comment calculer l'écart type 2D, avec une moyenne de 0, délimité par des limites

10

Mon problème est le suivant: je laisse tomber 40 balles à la fois à partir d'un certain point, à quelques mètres du sol. Les balles roulent et s'arrêtent. En utilisant la vision par ordinateur, je calcule le centre de masse dans le plan XY. Je ne m'intéresse qu'à la distance du centre de masse à chaque balle, qui est calculée à l'aide d'une géométrie simple. Maintenant, je veux connaître l'écart type unilatéral par rapport au centre. Donc, je serais en mesure de savoir qu'un certain nombre de boules sont dans un rayon std, plus de boules dans un rayon 2 * std et ainsi de suite. Comment calculer l'écart type unilatéral? Une approche normale indiquerait que la moitié des boules sont du "côté négatif" de la moyenne 0. Bien sûr, cela n'a aucun sens dans cette expérience. Dois-je m'assurer que les billes sont conformes à la distribution standard? Merci pour toute aide.

K_scheduler
la source

Réponses:

13

Pour caractériser la quantité de dispersion 2D autour du centroïde, vous voulez juste la distance quadratique moyenne (racine),

σ^=RMS=1ni((xix¯)2+(yiy¯)2).

Dans cette formule, sont les coordonnées des points et leur centroïde (point de moyennes) est( ˉ x , ˉ y ) .(xi,yi),i=1,2,,n(x¯,y¯).


La question demande la distribution des distances. Lorsque les boules ont une distribution normale bivariée isotrope autour de leur centroïde - ce qui est une hypothèse standard et physiquement raisonnable - la distance au carré est proportionnelle à une distribution du chi carré avec deux degrés de liberté (un pour chaque coordonnée). Ceci est une conséquence directe d'une définition de la distribution du chi carré comme une somme de carrés de variables normales standard indépendantes, car est une combinaison linéaire de variables normales indépendantes avec attente Écriture de la variance commune deE[xi- ˉ x ]=n-1

xix¯=n1nxiji1nxj
xiσ2E[(xi- ˉ x )2]=Var(xi- ˉ x )=( n - 1
E[xix¯]=n1nE[xi]ji1nE[xj]=0.
xias , L'hypothèse d'anisotropie est que les ont la même distribution que les et sont indépendants d'eux, donc un résultat identique est valable pour la distribution de . Ceci établit la constante de proportionnalité: les carrés des distances ont une distribution chi carré avec deux degrés de liberté, mise à l'échelle par .σ2yjxi(yj- ˉ y )2n-1
E[(xix¯)2]=Var(xix¯)=(n1n)2Var(xi)+ji(1n)2Var(xj)=n1nσ2.
yjxi(yjy¯)2n1nσ2

Le test le plus sévère de ces équations est le cas , car alors la fraction diffère le plus de . En simulant l'expérience, à la fois pour et , et en superposant les histogrammes des distances au carré avec les distributions du chi carré (en rouge), nous pouvons vérifier cette théorie.n - 1n=2 1n=2n=40n1n1n=2n=40

Figure

Chaque ligne affiche les mêmes données: à gauche, l'axe des x est logarithmique; à droite, il montre la distance au carré réelle. La vraie valeur de pour ces simulations a été fixée à .1σ1

Ces résultats concernent 100 000 itérations avec et 50 000 itérations avec . Les accords entre les histogrammes et les densités khi-deux sont excellents.n = 40n=2n=40


Bien que soit inconnu, il peut être estimé de différentes manières. Par exemple, la distance quadratique moyenne doit être fois la moyenne de , qui est . Avec , par exemple, estimez comme fois la distance quadratique moyenne. Ainsi, une estimation de serait fois la distance RMS. En utilisant les valeurs de la nous pouvons alors dire que:n - 1σ2χ 2 2 2n=40σ240n1nσ2χ222n=40σ2σ4039/2σ χ 2 240/78χ22

  • Environ 39% des distances seront inférieures à , car 39% d'une est inférieure à . χ 2 2 139/40σ^χ221

  • Environ 78% des distances seront inférieures à fois , car 78% d'une est inférieure à .3 χ 2 2 339/40σ^χ223

Et ainsi de suite, pour tout multiple que vous souhaitez utiliser à la place de ou . À titre de vérification, dans les simulations pour tracées précédemment, les proportions réelles des distances au carré inférieures à fois étaient3 n = 40 1 , 2 , , 10 n - 113n=401,2,,10n1nσ^2

0.3932 0.6320 0.7767 0.8647 0.9178 0.9504 0.9700 0.9818 0.9890 0.9933

Les proportions théoriques sont

0.3935 0.6321 0.7769 0.8647 0.9179 0.9502 0.9698 0.9817 0.9889 0.9933

L'accord est excellent.


Voici le Rcode pour conduire et analyser les simulations.

f <- function(n, n.iter, x.min=0, x.max=Inf, plot=TRUE) {
  #
  # Generate `n.iter` experiments in which `n` locations are generated using
  # standard normal variates for their coordinates.
  #
  xy <- array(rnorm(n*2*n.iter), c(n.iter,2,n))
  #
  # Compute the squared distances to the centers for each experiment.
  #
  xy.center <- apply(xy, c(1,2), mean)
  xy.distances2 <- apply(xy-array(xy.center, c(n.iter,2,n)), c(1,3), 
                         function(z) sum(z^2))
  #
  # Optionally plot histograms.
  #
  if(plot) {
    xy.plot <- xy.distances2[xy.distances2 >= x.min & xy.distances2 <= x.max]

    hist(log(xy.plot), prob=TRUE, breaks=30,
         main=paste("Histogram of log squared distance, n=", n),
         xlab="Log squared distance")
    curve(dchisq(n/(n-1) * exp(x), df=2) * exp(x) * n/(n-1), 
          from=log(min(xy.plot)), to=log(max(xy.plot)), 
          n=513, add=TRUE, col="Red", lwd=2)

    hist(xy.plot, prob=TRUE, breaks=30,
         main=paste("Histogram of squared distance, n=", n),
         xlab="Squared distance")
    curve(n/(n-1) * dchisq(n/(n-1) * x, df=2), 
          from=min(xy.plot), to=max(xy.plot), 
          n=513, add=TRUE, col="Red", lwd=2)  
  }
  return(xy.distances2)
}
#
# Plot the histograms and compare to scaled chi-squared distributions.
#
par(mfrow=c(2,2))
set.seed(17)
xy.distances2 <- f(2, 10^5, exp(-6), 6)
xy.distances2 <- f(n <- 40, n.iter <- 50000, exp(-6), 12)
#
# Compare the last simulation to cumulative chi-squared distributions.
#
sigma.hat <- sqrt((n / (2*(n-1)) * mean(xy.distances2)))
print(cumsum(tabulate(cut(xy.distances2, 
                    (0:10) * (n-1)/n * sigma.hat^2))) / (n*n.iter), digits=4)
print(pchisq(1:10, df=2), digits=4)
whuber
la source
2
Merci pour une réponse très complète. Je ne comprends pas très bien comment la formule RMS peut décrire l'écart type sans diviser par le nombre de billes. Si vous le comparez à http://en.wikipedia.org/wiki/Root-mean-square_deviation_(bioinformatics, ils ont divisé la somme par N. Si la somme doit être divisée par N ou N-1 (puisque 40 balles ne sont qu'un sélection parmi une population de balles?)
K_scheduler
Après avoir refait les calculs, il semble que sqrt (SDx ^ 2 + SDy ^ 2) soit ce que je recherche. Cela me donnera un rayon pour un cercle qui contient toutes les boules avec une probabilité de 65%, non?
K_scheduler
C'est une formule équivalente pour le RMS, mais la valeur de 65% est incorrecte, comme expliqué dans cette réponse.
whuber
2
@nali Tous ces points sont clairement mentionnés dans ma réponse ici.
whuber
4
@nali Vos publications dépassent les limites de la convenance dans leur impolitesse et leurs attaques ad hominem . Bien que je ne sois pas inquiet d'être considéré comme ignorant ou stupide, en tant que modérateur de ce site, je dois m'inquiéter de garder le discours civil et je ne peux donc pas tolérer la vitupération que vous publiez. En conséquence, j'ai supprimé votre dernier commentaire. Si je vois des commentaires de votre part qui sont tout aussi impolis, envers quiconque, je les supprimerai sans préavis et je (ou d'autres modérateurs) prendrons des mesures immédiates pour limiter vos interactions sur ce site.
whuber
4

Je pense que vous avez des choses un peu confuses. Il est vrai que la distance ne peut pas être négative, mais cela n'affecte pas le calcul de l'écart type. Bien que cela signifie que la distribution des distances ne peut pas être exactement normale, elle pourrait quand même être proche; mais même si c'est loin d'être normal, il y a toujours un écart type.

De plus, il n'y a pas d'écart type "unilatéral" - vous pensez peut-être à des tests d'hypothèse (qui peuvent être unilatéraux ou bilatéraux). Dans votre titre, vous dites que la moyenne est 0, mais la distance moyenne ne sera pas 0 (à moins que les balles soient dans une pile de 40 balles de haut!) Et vous dites qu'il y a des limites - il pourrait y avoir des limites, si les balles sont déposées dedans une pièce alors ils ne peuvent pas être plus éloignés du centre que la distance au mur le plus proche. Mais à moins que certaines balles ne rebondissent contre un mur, cela n'affectera pas les choses.

Ainsi, une fois que vous avez les 40 distances, vous calculez l'écart type (et la moyenne, la médiane, la plage interquartile, etc.) en utilisant des méthodes standard. Vous pouvez également faire des graphiques de la distance (par exemple, graphique normal quantile, graphique en boîte) pour voir si elle est à peu près normalement distribuée (si cela vous intéresse).

Peter Flom
la source
Merci Peter, je ne me suis pas exprimé correctement. Permettez-moi d'essayer de clarifier: imaginez la scène d'en haut. Vous calculez la distance moyenne, elle sera illustrée par un cercle autour du centre de masse (distance moyenne = rayon). Maintenant, un écart de +/- std par rapport à cela donnera un cercle plus petit et un cercle plus grand. Je ne veux pas connaître l'écart type de la distance moyenne au centre de masse, mais plutôt l'écart type du centre de masse vers l'extérieur. En d'autres termes, dans quel rayon du centre de masse se trouve 68,2% (un écart-type) des billes situées.
K_scheduler
π
Vous avez peut-être raison dans votre première réponse. D'après ce que j'ai trouvé, l'utilisation de l'écart-type radial devrait faire l'affaire. RSD = sqrt (SDx ^ 2 + SDy ^ 2)
K_scheduler
1

Cela fait un moment que cela n'a pas été demandé, mais la réponse à la question est qu'il s'agit de la distribution 2D nommée la distribution de Rayleigh. Ici, l'hypothèse est que le facteur de forme de Rayleigh est égal à la fois aux écarts-types des coordonnées X et Y. En pratique, la valeur du facteur de forme serait calculée à partir de la moyenne groupée de l'écart type de X et Y.

XN(μx,σx2)
YN(μy,σy2)

F(X,y)=12πσXσy1-ρ2exp(-12(1-ρ2)[(X-μX)2σX2+(y-μy)2σy2-2ρ(X-μX)(y-μy)σXσy])

(μX,μy)
ρ=0

σX2=σy2
σ2

(μX,μy)

PF(r;σ)=rσ2exp(-r22σ2)
σ=σX=σy
rje=(Xje-μX)2+(yje-μy)2

CF(r;σ)=1-exp(-r22σ2)

Bien sûr, c'est pour la distribution continue. Pour un échantillon de seulement 40 balles, il n'y a pas de solution exacte. Vous auriez besoin de faire une analyse de Monte Carlo avec un échantillon de 40 balles. Taylor, MS et Grubbs, Frank E. (1975). "Distributions de probabilités approximatives pour la propagation extrême" a trouvé des estimations pour la distribution de Chi et la log-normale qui correspondrait à la distribution d'un échantillon.


Edit - Malgré le doute de Wuber, les proportions théoriques qu'il a calculées sont:

0,3935 0,6321 0,7769 0,8647 0,9179 0,9502 0,9698 0,9817 0,9889 0,9933

À partir de la fonction CDF, les valeurs cumulées de Sigma pour r (en sigmas) sont égales à:

0-1, 0-2, 0-3, ..., 0-10

sont:

0,3935, 0,6321, 0,7769, 0,8647, 0,9179, 0,9502, 0,9698, 0,9817, 0,9889, 0,9933

MaxW
la source
Merci d'avoir nommé la distribution. Cependant, en (1) ne faisant pas de différence entre le paramètre de la distribution et les estimations de ce paramètre dérivées des données, (2) n'énonçant pas les (fortes) hypothèses nécessaires sur la distribution des billes, et (3) en étant vague, vous risquez lecteurs trompeurs. En effet, on ne sait pas quelle est la référence de votre "ceci": serait-ce la répartition des emplacements des billes? (Non.) La répartition du centre de masse? (Oui, mais avec un paramètre d'échelle différent de l'écart-type des billes.) Souhaitez-vous clarifier votre réponse?
whuber
comblé les lacunes ....
MaxW
4040
La distribution concerne le centre de masse.
MaxW
Le CDF est configuré pour une balle bien sûr. Du CDF, 39% des billes tomberont dans un cercle de rayon σ, 86% dans 2σ et 99% dans 3σ.
MaxW
-1

La distribution normale, à la fois des valeurs positives et négatives, a du sens si vous reconnaissez que cette distribution normale est pour le rayon ou la "distance du centroïde". L'autre variable, l'angle, est aléatoire et est uniformément distribuée à partir de 0-pi

pirater
la source
Le rayon, qui ne peut jamais être négatif, n'aura certainement pas de distribution normale!
whuber