Para caracterizar la cantidad de dispersión 2D alrededor del centroide, solo desea la distancia cuadrática media (raíz),
σ^= RMS = 1norte∑yo( ( xyo- x¯)2+ ( yyo- y¯)2)-----------------------√.
En esta fórmula, son las coordenadas de los puntos y su centroide (punto de promedios) es( ˉ x , ˉ y ) .( xyo, yyo) , i = 1 , 2 , ... , n( x¯, y¯) .
La pregunta pide la distribución de las distancias. Cuando las bolas tienen una distribución normal isotrópica bivariada alrededor de su centroide, que es una suposición estándar y físicamente razonable, la distancia al cuadrado es proporcional a una distribución chi-cuadrado con dos grados de libertad (uno para cada coordenada). Esta es una consecuencia directa de una definición de la distribución de chi-cuadrado como una suma de cuadrados de variables normales estándar independientes, porque es una combinación lineal de variables normales independientes con expectativa Escribir la varianza común deE[xi- ˉ x ]=n-1
Xyo- x¯= n - 1norteXyo- ∑j ≠ i1norteXj
xiσ2E[(xi- ˉ x )2]=Var(xi- ˉ x )=( n - 1E [ xyo- x¯] = n - 1norteE [ xyo] - ∑j ≠ i1norteE [ xj] = 0.
Xyocomo , La suposición de anisotropía es que tiene la misma distribución que y son independientes de ellos, por lo que se mantiene un resultado idéntico para la distribución de . Esto establece la constante de proporcionalidad:
los cuadrados de las distancias tienen una distribución chi-cuadrado con dos grados de libertad, escalados por .σ2yjxi(yj- ˉ y )2n-1E [ ( xyo- x¯)2] = Var ( xyo- x¯) = ( n - 1norte)2Var ( xyo) + ∑j ≠ i( 1norte)2Var ( xj) = n - 1norteσ2.
yjXyo( yj- y¯)2n - 1norteσ2
La prueba más severa de estas ecuaciones es el caso , porque entonces la fracción la que más difiere de . Simulando el experimento, tanto para como , y sobreplotando los histogramas de distancias cuadradas con las distribuciones escaladas de chi-cuadrado (en rojo), podemos verificar esta teoría.n - 1n = 2 1n=2n=40n - 1norte1n = 2n = 40
Cada fila muestra los mismos datos: a la izquierda, el eje x es logarítmico; a la derecha muestra la distancia al cuadrado real. El verdadero valor de para estas simulaciones se estableció en .1σ1
Estos resultados son para 100,000 iteraciones con y 50,000 iteraciones con . Los acuerdos entre los histogramas y las densidades de chi-cuadrado son excelentes.n = 40n = 2n = 40
Aunque es desconocido, se puede estimar de varias maneras. Por ejemplo, la distancia cuadrática media debe ser veces la media de , que es . Con , por ejemplo, estimar como veces la distancia cuadrática media. Por lo tanto, una estimación de sería veces la distancia RMS. Usando valores de la , podemos decir que:n - 1σ2χ 2 2 2n=40σ240n - 1norteσ2χ222n = 40σ2sigma√4039/ 2σ χ 2 240 / 78-----√χ22
Aproximadamente el 39% de las distancias será menor que , porque el 39% de una es menor que . chi 2 2 139 / 40-----√σ^χ221
Aproximadamente el 78% de las distancias será menor que veces , porque el 78% de una es menor que . √3–√ chi 2 2 339/40−−−−−√σ^χ223
Y así sucesivamente, para cualquier múltiplo que quiera usar en lugar de o . Como verificación, en las simulaciones para trazadas previamente, las proporciones reales de distancias al cuadrado menores que veces fueron3 n = 40 1 , 2 , … , 10 n - 113n=401,2,…,10n−1nσ^2
0.3932 0.6320 0.7767 0.8647 0.9178 0.9504 0.9700 0.9818 0.9890 0.9933
Las proporciones teóricas son
0.3935 0.6321 0.7769 0.8647 0.9179 0.9502 0.9698 0.9817 0.9889 0.9933
El acuerdo es excelente.
Aquí hay un R
código para realizar y analizar las simulaciones.
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)