Có phiên bản nhiều mẫu hoặc thay thế cho Thử nghiệm Kolmogorov-Smirnov không?


12

Tôi đang so sánh sự phân bố kích thước của cây trong sáu cặp ô trong đó một ô được điều trị và một ô khác được kiểm soát. Sử dụng thử nghiệm Kolmogorov-Smirnov trên mỗi cặp lô tôi thấy rằng dao động từ đến . Có bất kỳ phương pháp thích hợp nào để xử lý tất cả các bản sao cùng nhau, chẳng hạn như một phần mở rộng đa mẫu của thử nghiệm KS, hoặc có một thử nghiệm theo dõi phù hợp không? Hoặc tôi chỉ nên kết luận một cái gì đó như "Phân bố kích thước khác nhau đáng kể ) trong 2 cặp lô và lề (p0,00037070,75(p<0,05p= =0,59 ) trong một cặp ô."


2
Bạn muốn so sánh về những phân phối này là gì, chúng khác nhau về xu hướng trung tâm hay chúng khác nhau về hình dạng? Tôi có xu hướng nghĩ về KS nhiều hơn về hình dạng / bản chất của phân phối, nhưng một cái gì đó giống như thử nghiệm Friedman có thể xác định rằng các mẫu khác nhau theo xu hướng trung tâm.
gung - Phục hồi Monica

Câu trả lời:


13

r2


5
Chà, nhược điểm của bài báo "đẹp" đó của Böhm và Hornik là không có triển khai công khai có sẵn như tôi có thể nói. Toán học đủ phức tạp để bạn không muốn tự mình thực hiện. Tôi gửi mail cho các tác giả và hỏi họ nhưng họ không trả lời. Lưu ý rằng Hornik là thành viên của nhóm Nhà phát triển R Core ... Nếu ai đó biết về việc triển khai, vui lòng gửi liên kết tại đây!
Laryx Decidua

8

Có một gói kSamples cung cấp cho bạn, trong số những thứ khác, một thử nghiệm k-mẫu Anderson-Darling không tham số. Giả thuyết khống là tất cả các mẫu k đến từ cùng một phân phối không cần phải chỉ định. Có lẽ bạn có thể sử dụng này.

Một ví dụ nhỏ về việc so sánh các mẫu Bình thường và phân phối Gamma được chia tỷ lệ sao cho chúng có cùng giá trị trung bình và phương sai:

library("kSamples")
set.seed(142)
samp.num <- 100
alpha <- 2.0; theta <- 3.0  # Gamma parameters shape and scale, using Wikipedia notation
gam.mean <- alpha * theta # mean of the Gamma
gam.sd <- sqrt(alpha) * theta # S.D. of the Gamma
norm.data <- rnorm(samp.num, mean=gam.mean, sd=gam.sd)  # Normal with the same mean and SD as the Gamma
gamma.data <- rgamma(samp.num, shape=alpha, scale=theta)
norm.data2 <- rnorm(samp.num, mean=gam.mean, sd=gam.sd)
norm.data3 <- rnorm(samp.num, mean=gam.mean, sd=gam.sd)
ad.same <- ad.test(norm.data,norm.data2,norm.data3) # "not significant, p ~ 0.459"
ad.diff <- ad.test(gamma.data,norm.data2,norm.data3) # "significant, p ~ 0.00066"

4

Một vài cách tiếp cận:

Sử dụng các giá trị p theo cặp nhưng điều chỉnh chúng để so sánh bằng cách sử dụng một số thứ như các điều chỉnh Bon Feroni hoặc false Discovery Rate (lần đầu tiên có thể sẽ hơi bảo thủ). Sau đó, bạn có thể tự tin rằng bất kỳ vẫn còn khác biệt đáng kể có thể không phải do nhiều thử nghiệm.

Bạn có thể tạo một thử nghiệm tổng thể về hương vị của KS bằng cách tìm khoảng cách lớn nhất giữa bất kỳ phân phối nào, tức là vẽ tất cả các cdf theo kinh nghiệm và tìm khoảng cách lớn nhất từ ​​đường đáy tới đường trên cùng, hoặc có thể là khoảng cách trung bình hoặc một số ý nghĩa khác đo lường. Sau đó, bạn có thể tìm xem điều đó có ý nghĩa hay không bằng cách thực hiện kiểm tra hoán vị: nhóm tất cả dữ liệu thành 1 thùng lớn, sau đó chia ngẫu nhiên thành các nhóm có cùng cỡ mẫu với các nhóm ban đầu của bạn, tính toán lại chỉ số trên dữ liệu được thẩm thấu và lặp lại quy trình nhiều lần (999 hoặc hơn). Sau đó xem cách dữ liệu ban đầu của bạn so với các tập dữ liệu được hoán vị. Nếu thống kê dữ liệu gốc rơi vào giữa các dữ liệu được hoán vị thì không có sự khác biệt đáng kể nào được tìm thấy, nhưng nếu nó nằm ở rìa, hoặc vượt ra ngoài bất kỳ cái nào được thẩm thấu sau đó có một cái gì đó quan trọng đang diễn ra (nhưng điều này không cho bạn biết cái nào khác). Có lẽ bạn nên thử điều này với dữ liệu mô phỏng nơi bạn biết có một sự khác biệt đủ lớn để trở nên thú vị chỉ để kiểm tra sức mạnh của bài kiểm tra này để tìm ra sự khác biệt thú vị.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.