Lượng dữ liệu cần thiết để ước tính các tham số của phân phối Bình thường nhiều biến số trong độ chính xác được chỉ định với độ tin cậy nhất định không thay đổi theo thứ nguyên, tất cả những thứ khác đều giống nhau. Do đó, bạn có thể áp dụng bất kỳ quy tắc nào cho hai chiều cho các vấn đề về chiều cao hơn mà không có bất kỳ thay đổi nào.
Tại sao nên làm thế? Chỉ có ba loại tham số: phương tiện, phương sai và hiệp phương sai. Lỗi ước tính trong một giá trị trung bình chỉ phụ thuộc vào phương sai và lượng dữ liệu, . Do đó, khi có phân phối Bình thường đa biến và có phương sai , thì các ước tính của chỉ phụ thuộc vào và . Từ đâu, để đạt được độ chính xác đầy đủ trong việc ước tính tất cả các , chúng tôi chỉ cần phải xem xét số lượng dữ liệu cần thiết cho việc có lớn nhất của( X 1 , X 2 , ... , X d ) X i σ 2 i E [ X i ] σ i n E [ X i ] X i σ i d σ in(X1,X2,…,Xd)Xiσ2iE[Xi]σinE[Xi]Xiσi. Do đó, khi chúng ta suy nghĩ về một loạt các vấn đề ước tính để tăng kích thước , tất cả những gì chúng ta cần xem xét là lớn nhất sẽ tăng bao nhiêu . Khi các tham số này được giới hạn ở trên, chúng tôi kết luận rằng lượng dữ liệu cần thiết không phụ thuộc vào kích thước.dσi
Các cân nhắc tương tự được áp dụng để ước tính phương sai và hiệp phương sai : nếu một lượng dữ liệu nhất định đủ để ước tính một hiệp phương sai (hoặc hệ số tương quan) với độ chính xác mong muốn, thì - với điều kiện phân phối chuẩn bên dưới có tương tự các giá trị tham số - cùng một lượng dữ liệu sẽ đủ để ước tính bất kỳ hệ số hiệp phương sai hoặc tương quan. σ i jσ2iσij
Để minh họa và cung cấp hỗ trợ theo kinh nghiệm cho lập luận này, chúng ta hãy nghiên cứu một số mô phỏng. Sau đây tạo các tham số cho phân phối đa chiều của các kích thước được chỉ định, rút ra nhiều tập vectơ độc lập, phân phối giống hệt từ phân phối đó, ước tính các tham số từ mỗi mẫu đó và tóm tắt kết quả của các ước tính tham số đó theo (1) trung bình của chúng- -để chứng minh rằng chúng không thiên vị (và mã đang hoạt động chính xác - và (2) độ lệch chuẩn của chúng, định lượng độ chính xác của các ước tính. (Đừng nhầm lẫn các độ lệch chuẩn này, định lượng lượng biến thiên giữa các ước tính thu được trên nhiều ước tính lặp lại của mô phỏng, với độ lệch chuẩn được sử dụng để xác định phân phối đa thường cơ bản!dd thay đổi, với điều kiện là khi thay đổi, chúng tôi không đưa các phương sai lớn hơn vào bản phân phối đa thường cơ bản.d
Các kích thước của phương sai của phân phối cơ bản được kiểm soát trong mô phỏng này bằng cách tạo giá trị riêng lớn nhất của ma trận hiệp phương sai bằng . Điều này giữ cho mật độ xác suất "đám mây" trong giới hạn khi kích thước tăng lên, bất kể hình dạng của đám mây này có thể là gì. Mô phỏng các mô hình hành vi khác của hệ thống khi tăng kích thước có thể được tạo ra đơn giản bằng cách thay đổi cách tạo giá trị bản địa; một ví dụ (sử dụng phân phối Gamma) được hiển thị nhận xét trong mã bên dưới.1R
Những gì chúng tôi đang tìm kiếm là để xác minh rằng độ lệch chuẩn của các ước tính tham số không thay đổi đáng kể khi kích thước được thay đổi. Do đó, tôi hiển thị kết quả cho hai thái cực, và , sử dụng cùng một lượng dữ liệu ( ) trong cả hai trường hợp. Đáng chú ý là số lượng tham số ước tính khi , bằng , vượt xa số lượng vectơ ( ) và vượt quá cả các số riêng lẻ ( ) trong toàn bộ tập dữ liệu.d = 2 d = 60 30 d = 60 1890dd=2d=6030d=601890303030∗60=1800
Hãy bắt đầu với hai chiều, . Có năm tham số: hai phương sai (với độ lệch chuẩn là và trong mô phỏng này), hiệp phương sai (SD = ) và hai phương tiện (SD = và ). Với các mô phỏng khác nhau (có thể đạt được bằng cách thay đổi giá trị bắt đầu của hạt ngẫu nhiên), chúng sẽ thay đổi một chút, nhưng chúng sẽ luôn có kích thước tương đương khi kích thước mẫu là . Ví dụ, trong mô phỏng tiếp theo SD là , , , và0,097 0,182 0,126 0,11 0,15 n = 30 0,014 0,263 0,043 0,04 0,18d=20.0970.1820.1260.110.15n=300.0140.2630.0430.040.18, tương ứng: tất cả chúng đều thay đổi nhưng có độ lớn tương đương.
(Những tuyên bố này có thể được hỗ trợ về mặt lý thuyết nhưng vấn đề ở đây là cung cấp một minh chứng thực nghiệm thuần túy.)
Bây giờ chúng tôi chuyển đến , giữ kích thước mẫu ở mức . Cụ thể, điều này có nghĩa là mỗi mẫu bao gồm vectơ, mỗi vectơ có thành phần. Thay vì liệt kê tất cả các độ lệch chuẩn , chúng ta hãy nhìn vào hình ảnh của chúng bằng biểu đồ để mô tả phạm vi của chúng.n = 30 30 60 1890d=60n=3030601890
Các biểu đồ phân tán ở hàng trên cùng so sánh các tham số thực tế sigma
( ) và ( ) với các ước tính trung bình được thực hiện trong các lần lặp trong mô phỏng này. Các đường tham chiếu màu xám đánh dấu quỹ tích của sự bình đẳng hoàn hảo: rõ ràng các ước tính đang hoạt động như dự định và không thiên vị.L 10 4σmu
μ104
Các biểu đồ xuất hiện ở hàng dưới cùng, riêng cho tất cả các mục trong ma trận hiệp phương sai (trái) và cho phương tiện (phải). SD của các phương sai riêng lẻ có xu hướng nằm trong khoảng đến trong khi SD của hiệp phương sai giữa các thành phần riêng biệt có xu hướng nằm trong khoảng đến : chính xác trong phạm vi đạt được khi . Tương tự, SD của các ước tính trung bình có xu hướng nằm trong khoảng đến , tương đương với những gì đã thấy khi . Chắc chắn không có dấu hiệu cho thấy SD đã tăng lên khi0,12 0,04 0,08 d = 2 0,08 0,13 d = 2 d 2 600.080.120.040.08d=20.080.13d=2dtăng từ lên .260
Các mã sau.
#
# Create iid multivariate data and do it `n.iter` times.
#
sim <- function(n.data, mu, sigma, n.iter=1) {
#
# Returns arrays of parmeter estimates (distinguished by the last index).
#
library(MASS) #mvrnorm()
x <- mvrnorm(n.iter * n.data, mu, sigma)
s <- array(sapply(1:n.iter, function(i) cov(x[(n.data*(i-1)+1):(n.data*i),])),
dim=c(n.dim, n.dim, n.iter))
m <-array(sapply(1:n.iter, function(i) colMeans(x[(n.data*(i-1)+1):(n.data*i),])),
dim=c(n.dim, n.iter))
return(list(m=m, s=s))
}
#
# Control the study.
#
set.seed(17)
n.dim <- 60
n.data <- 30 # Amount of data per iteration
n.iter <- 10^4 # Number of iterations
#n.parms <- choose(n.dim+2, 2) - 1
#
# Create a random mean vector.
#
mu <- rnorm(n.dim)
#
# Create a random covariance matrix.
#
#eigenvalues <- rgamma(n.dim, 1)
eigenvalues <- exp(-seq(from=0, to=3, length.out=n.dim)) # For comparability
u <- svd(matrix(rnorm(n.dim^2), n.dim))$u
sigma <- u %*% diag(eigenvalues) %*% t(u)
#
# Perform the simulation.
# (Timing is about 5 seconds for n.dim=60, n.data=30, and n.iter=10000.)
#
system.time(sim.data <- sim(n.data, mu, sigma, n.iter))
#
# Optional: plot the simulation results.
#
if (n.dim <= 6) {
par(mfcol=c(n.dim, n.dim+1))
tmp <- apply(sim.data$s, 1:2, hist)
tmp <- apply(sim.data$m, 1, hist)
}
#
# Compare the mean simulation results to the parameters.
#
par(mfrow=c(2,2))
plot(sigma, apply(sim.data$s, 1:2, mean), main="Average covariances")
abline(c(0,1), col="Gray")
plot(mu, apply(sim.data$m, 1, mean), main="Average means")
abline(c(0,1), col="Gray")
#
# Quantify the variability.
#
i <- lower.tri(matrix(1, n.dim, n.dim), diag=TRUE)
hist(sd.cov <- apply(sim.data$s, 1:2, sd)[i], main="SD covariances")
hist(sd.mean <- apply(sim.data$m, 1, sd), main="SD means")
#
# Display the simulation standard deviations for inspection.
#
sd.cov
sd.mean