Tôi muốn kiểm tra giả thuyết rằng hai mẫu được rút ra từ cùng một quần thể, mà không đưa ra bất kỳ giả định nào về sự phân bố của các mẫu hoặc dân số. Làm thế nào tôi nên làm điều này?
Từ Wikipedia, ấn tượng của tôi là bài kiểm tra Mann Whitney U phải phù hợp, nhưng dường như nó không hiệu quả với tôi trong thực tế.
Để cụ thể, tôi đã tạo một tập dữ liệu với hai mẫu (a, b) lớn (n = 10000) và được rút ra từ hai quần thể không bình thường (bimodal), tương tự (cùng nghĩa), nhưng khác nhau (độ lệch chuẩn xung quanh "bướu.") Tôi đang tìm kiếm một xét nghiệm sẽ nhận ra rằng các mẫu này không cùng thuộc một quần thể.
Chế độ xem biểu đồ:
Mã R:
a <- tibble(group = "a",
n = c(rnorm(1e4, mean=50, sd=10),
rnorm(1e4, mean=100, sd=10)))
b <- tibble(group = "b",
n = c(rnorm(1e4, mean=50, sd=3),
rnorm(1e4, mean=100, sd=3)))
ggplot(rbind(a,b), aes(x=n, fill=group)) +
geom_histogram(position='dodge', bins=100)
Dưới đây là thử nghiệm Mann Whitney đáng ngạc nhiên (?) Không bác bỏ giả thuyết khống cho rằng các mẫu từ cùng một quần thể:
> wilcox.test(n ~ group, rbind(a,b))
Wilcoxon rank sum test with continuity correction
data: n by group
W = 199990000, p-value = 0.9932
alternative hypothesis: true location shift is not equal to 0
Cứu giúp! Tôi nên cập nhật mã như thế nào để phát hiện các bản phân phối khác nhau? (Tôi đặc biệt muốn một phương pháp dựa trên ngẫu nhiên chung / lấy mẫu lại nếu có.)
CHỈNH SỬA:
Cảm ơn mọi người vì câu trả lời! Tôi rất hào hứng tìm hiểu thêm về KolmogorovTHER Smirnov có vẻ rất phù hợp với mục đích của tôi.
Tôi hiểu rằng xét nghiệm KS đang so sánh các ECDF này của hai mẫu:
Ở đây tôi có thể thấy trực quan ba tính năng thú vị. (1) Các mẫu từ các bản phân phối khác nhau. (2) A rõ ràng ở trên B tại một số điểm nhất định. (3) A rõ ràng dưới B ở một số điểm khác.
Thử nghiệm KS dường như có thể đưa ra giả thuyết - kiểm tra từng tính năng sau:
> ks.test(a$n, b$n)
Two-sample Kolmogorov-Smirnov test
data: a$n and b$n
D = 0.1364, p-value < 2.2e-16
alternative hypothesis: two-sided
> ks.test(a$n, b$n, alternative="greater")
Two-sample Kolmogorov-Smirnov test
data: a$n and b$n
D^+ = 0.1364, p-value < 2.2e-16
alternative hypothesis: the CDF of x lies above that of y
> ks.test(a$n, b$n, alternative="less")
Two-sample Kolmogorov-Smirnov test
data: a$n and b$n
D^- = 0.1322, p-value < 2.2e-16
alternative hypothesis: the CDF of x lies below that of y
Đó là thực sự gọn gàng! Tôi có một mối quan tâm thực tế đối với từng tính năng này và vì vậy thật tuyệt khi thử nghiệm KS có thể kiểm tra từng tính năng đó.