Để mô tả mức độ phân tán 2D xung quanh tâm, bạn chỉ muốn khoảng cách bình phương (gốc)
σ^= RMS = 1nΣTôi( ( xTôi- x¯)2+ ( yTôi- y¯)2)-----------------------√.
Trong công thức này, là tọa độ điểm và trọng tâm của chúng (điểm trung bình) là( ˉ x , ˉ y ) .( xTôi, yTôi) , i = 1 , 2 , Nhìn , n( x¯, y¯) .
Câu hỏi yêu cầu phân phối khoảng cách. Khi các quả bóng có phân phối đẳng hướng đẳng hướng xung quanh tâm của chúng - đó là một giả định hợp lý và tiêu chuẩn - khoảng cách bình phương tỷ lệ thuận với phân bố chi bình phương với hai bậc tự do (một cho mỗi tọa độ). Đây là hệ quả trực tiếp của một định nghĩa về phân phối chi bình phương là tổng bình phương của các biến thông thường tiêu chuẩn độc lập, bởi vì là sự kết hợp tuyến tính của các biến thiên bình thường độc lập với kỳ vọng Viết phương sai chung củaE[xi- ˉ x ]=n-1
xTôi- x¯= n - 1nxTôi- Σj ≠ i1nxj
xiσ2E[(xi- ˉ x )2]=Var(xi- ˉ x )=( n - 1E[xi−x¯]=n−1nE[xi]−∑j≠i1nE[xj]=0.
xinhư , Giả định của bất đẳng hướng là có cùng phân phối với và độc lập với chúng, do đó, một kết quả giống hệt nhau cho phân phối của . Điều này thiết lập hằng số tỷ lệ:
bình phương của các khoảng cách có phân phối chi bình phương với hai bậc tự do, được chia tỷ lệ theo .σ2yjxi(yj- ˉ y )2n-1E[(xi−x¯)2]=Var(xi−x¯)=(n−1n)2Var(xi)+∑j≠i(1n)2Var(xj)=n−1nσ2.
yjxi(yj−y¯)2n−1nσ2
Thử nghiệm nghiêm trọng nhất của các phương trình này là trường hợp , khi đó phân số khác nhiều nhất với . Bằng cách mô phỏng thử nghiệm, cả và , và ghi đè lên biểu đồ của khoảng cách bình phương với các phân phối chi bình phương tỷ lệ (màu đỏ), chúng tôi có thể xác minh lý thuyết này.n - 1n=2 1n=2n=40n−1n1n=2n=40
Mỗi hàng hiển thị cùng một dữ liệu: bên trái trục x là logarit; bên phải nó hiển thị khoảng cách bình phương thực tế. Giá trị thực của cho các mô phỏng này được đặt thành .1σ1
Các kết quả này dành cho 100.000 lần lặp với và 50.000 lần lặp với . Các thỏa thuận giữa biểu đồ và mật độ chi bình phương là tuyệt vời.n=2n=40
Mặc dù chưa được biết nhưng có thể ước tính theo nhiều cách khác nhau. Chẳng hạn, khoảng cách bình phương trung bình phải là lần giá trị trung bình của , là . Ví dụ, với , ước tính là lần khoảng cách bình phương trung bình. Do đó, ước tính sẽ là với khoảng cách RMS. Sử dụng các giá trị của phân phối sau đó chúng ta có thể nói rằng:σ2n−1nσ2χ222n=40σ24039/2σ40/78−−−−−√χ22
Khoảng 39% khoảng cách sẽ nhỏ hơn , vì 39% phân phối nhỏ hơn .39/40−−−−−√σ^χ221
Khoảng 78% khoảng cách sẽ nhỏ hơn lần , vì 78% phân phối nhỏ hơn .3–√39/40−−−−−√σ^χ223
Và như vậy, đối với bất kỳ nhiều bạn quan tâm để sử dụng thay cho hoặc . Để kiểm tra, trong các mô phỏng cho vẽ trước đó, tỷ lệ thực tế của khoảng cách bình phương nhỏ hơn lần là3 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
Tỷ lệ lý thuyết là
0.3935 0.6321 0.7769 0.8647 0.9179 0.9502 0.9698 0.9817 0.9889 0.9933
Thỏa thuận là tuyệt vời.
Đây là R
mã để tiến hành và phân tích các mô phỏng.
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)