Tôi đang xem xét sự suy yếu mẫu của một biến ngẫu nhiên khá sai lệch và kết quả có vẻ không nhất quán. Để chỉ đơn giản là minh họa vấn đề, tôi đã xem xét sự suy yếu mẫu của một RV bình thường. Trong R (mà tôi đang dần học):
library(moments);
samp_size = 2048;
n_trial = 4096;
kvals <- rep(NA,1,n_trial); #preallocate
for (iii in 1:n_trial) {
kvals[iii] <- kurtosis(exp(rnorm(samp_size)));
}
print(summary(kvals));
Tóm tắt tôi nhận được là
Min. 1st Qu. Median Mean 3rd Qu. Max.
11.87 28.66 39.32 59.17 61.70 1302.00
Theo Wikipedia , mức độ tổn thương cho RV thông thường này phải ở khoảng 114. Rõ ràng là sự suy yếu mẫu là sai lệch.
Thực hiện một số nghiên cứu tôi thấy rằng kurtosis mẫu bị sai lệch cho kích thước mẫu nhỏ. Tôi đã sử dụng công cụ ước tính 'G2' được cung cấp bởi e1071
gói trong CRAN và nhận được kết quả rất giống với kích thước mẫu này.
Câu hỏi : điều nào sau đây mô tả những gì đang diễn ra:
- Lỗi tiêu chuẩn của kurtosis mẫu đơn giản là rất lớn đối với RV này (mặc dù ước tính chung về sóng chuẩn của lỗi tiêu chuẩn là theo thứ tự ). Ngoài ra, tôi đã sử dụng quá ít mẫu (2048) trong nghiên cứu này.
- Những triển khai của nhọn mẫu bị vấn đề số mà có thể được sửa chữa bằng cách ví dụ như phương pháp Terriberry của (theo cách tương tự mà phương pháp Welford của cho kết quả tốt hơn so với phương pháp ngây thơ cho đúng mẫu).
- Tôi đã tính toán dân số không chính xác. (ouch)
- Kurtosis mẫu vốn đã thiên vị và bạn không bao giờ có thể sửa nó cho các cỡ mẫu nhỏ như vậy.
;
ở phần cuối của câu lệnh. Bạn đã đúng khi phân bổ trước, nhưng không cần điền NA
, kvals <- numeric(length = n_trial)
sẽ có hiệu lực. Với rep
, bạn chỉ cần đối số 1 và 3 từ cuộc gọi của mình (ví dụ rep(NA, 10)
). Trong for
thiết lập vòng lặp, 1:n_trial
có thể nguy hiểm nếu lập trình; tốt hơn là seq_along(kvals)
hoặc seq_len(n_trial)
trong trường hợp này. Cuối cùng, nếu bạn không cần bắt buộc in, hãy bỏ qua print()
vòng summary()
- bạn chỉ cần nó nếu bạn không làm việc tương tác với R. HTH.
print
. Các đối rep
số chắc chắn là sai lầm.