Para caracterizar a quantidade de dispersão 2D em torno do centróide, você só quer a distância quadrada média (raiz),
σ^= RMS = 1n∑Eu( ( xEu- x¯)2+ ( yEu- y¯)2)-----------------------√.
Nesta fórmula, são as coordenadas do ponto e seu centróide (ponto de médias) é( ˉ x , ˉ y ) .( xEu, yEu) , i = 1 , 2 , … , n( x¯, y¯) .
A pergunta pede a distribuição das distâncias. Quando as bolas têm uma distribuição normal isotrópica bivariada em torno do centróide - que é uma suposição padrão e fisicamente razoável - a distância ao quadrado é proporcional a uma distribuição qui-quadrado com dois graus de liberdade (um para cada coordenada). Essa é uma conseqüência direta de uma definição da distribuição qui-quadrado como uma soma dos quadrados das variáveis normais padrão independentes, porque é uma combinação linear de variáveis normais independentes com expectativa Escrevendo a variação comum doE[xi- ˉ x ]=n-1
xEu- x¯= n - 1nxEu- ∑j ≠ i1nxj
xiσ2E[(xi- ˉ x )2]=Var(xi- ˉ x )=( n - 1E[xi−x¯]=n−1nE[xi]−∑j≠i1nE[xj]=0.
xicomo , A suposição de anisotropia é que tem a mesma distribuição que e são independentes deles, portanto, um resultado idêntico é válido para a distribuição de . Isso estabelece a constante de proporcionalidade:
os quadrados das distâncias têm uma distribuição qui-quadrado com dois graus de liberdade, escalados por .σ2E[(xi−x¯)2]=Var(xi−x¯)=(n−1n)2Var(xi)+∑j≠i(1n)2Var(xj)=n−1nσ2.
yjxi(yj−y¯)2n−1nσ2
O teste mais severo dessas equações é o caso , pois a fração difere mais de . Ao simular a experiência, tanto para e , e overplotting os histogramas de distâncias quadradas com as distribuições do qui-quadrado dimensionado (em vermelho), podemos verificar esta teoria.n=2n−1n1n=2n=40
Cada linha mostra os mesmos dados: à esquerda, o eixo x é logarítmico; à direita, mostra a distância ao quadrado real. O verdadeiro valor de para essas simulações foi definido como .σ1
Esses resultados são para 100.000 iterações com e 50.000 iterações com . Os acordos entre os histogramas e as densidades qui-quadrado são excelentes.n=2n=40
Embora seja desconhecido, ele pode ser estimado de várias maneiras. Por exemplo, a distância quadrática média deve ser vezes a média de , que é . Com , por exemplo, calcule como vezes a distância quadrática média. Assim, uma estimativa de seria vezes a distância do RMS. Usando valores da , podemos dizer que:σ2n−1nσ2χ222n=40σ24039/2σ40/78−−−−−√χ22
Aproximadamente 39% das distâncias serão menores que , porque 39% de uma é menor que .39/40−−−−−√σ^χ221
Aproximadamente 78% das distâncias serão menores que vezes , porque 78% de uma é menor que .3–√39/40−−−−−√σ^χ223
E assim por diante, para qualquer múltiplo que você queira usar no lugar de ou . Como verificação, nas simulações para plotadas anteriormente, as proporções reais de distâncias quadradas menores que vezes foram13n=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
As proporções teóricas são
0.3935 0.6321 0.7769 0.8647 0.9179 0.9502 0.9698 0.9817 0.9889 0.9933
O acordo é excelente.
Aqui está o R
código para conduzir e analisar as simulações.
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)