Thảo luận
Thử nghiệm hoán vị tạo ra tất cả các hoán vị có liên quan của bộ dữ liệu, tính toán thống kê thử nghiệm được chỉ định cho từng hoán vị đó và đánh giá thống kê thử nghiệm thực tế trong bối cảnh phân phối hoán vị kết quả của thống kê. Một cách phổ biến để đánh giá nó là báo cáo tỷ lệ thống kê (theo một cách nào đó) "như hoặc cực đoan" hơn so với thống kê thực tế. Điều này thường được gọi là "giá trị p."
Bởi vì tập dữ liệu thực tế là một trong những hoán vị đó, nên thống kê của nó sẽ nhất thiết phải nằm trong số những dữ liệu được tìm thấy trong phân phối hoán vị. Do đó, giá trị p không bao giờ có thể bằng không.
Trừ khi tập dữ liệu rất nhỏ (thông thường ít hơn khoảng 20-30 số) hoặc thống kê kiểm tra có dạng toán học đặc biệt tốt, không thể thực hiện được tất cả các hoán vị. (Một ví dụ trong đó tất cả các hoán vị được tạo ra xuất hiện tại Kiểm tra hoán vị trong R. ) Do đó, việc triển khai máy tính của các phép thử hoán vị thường lấy mẫu từ phân phối hoán vị. Họ làm như vậy bằng cách tạo ra một số hoán vị ngẫu nhiên độc lập và hy vọng rằng kết quả là một mẫu đại diện cho tất cả các hoán vị.
Do đó, bất kỳ số nào (chẳng hạn như "giá trị p") có nguồn gốc từ một mẫu như vậy chỉ là ước tính của các thuộc tính của phân phối hoán vị. Hoàn toàn có thể - và thường xảy ra khi hiệu ứng lớn - giá trị p ước tính bằng không. Không có gì sai với điều đó, nhưng nó ngay lập tức đặt ra vấn đề bị bỏ qua ở đây về giá trị p ước tính có thể khác bao nhiêu so với giá trị đúng? Bởi vì phân phối lấy mẫu của một tỷ lệ (chẳng hạn như giá trị p ước tính) là Binomial, độ không đảm bảo này có thể được giải quyết với khoảng tin cậy Binomial .
Ngành kiến trúc
Một triển khai được xây dựng tốt sẽ theo sát các cuộc thảo luận trong tất cả các khía cạnh. Nó sẽ bắt đầu với một thói quen để tính toán thống kê kiểm tra, vì điều này để so sánh phương tiện của hai nhóm:
diff.means <- function(control, treatment) mean(treatment) - mean(control)
Viết một thói quen khác để tạo ra một hoán vị ngẫu nhiên của tập dữ liệu và áp dụng thống kê kiểm tra. Giao diện này cho phép người gọi cung cấp số liệu thống kê kiểm tra làm đối số. Nó sẽ so sánh các m
phần tử đầu tiên của một mảng (được coi là nhóm tham chiếu) với các phần tử còn lại (nhóm "điều trị").
f <- function(..., sample, m, statistic) {
s <- sample(sample)
statistic(s[1:m], s[-(1:m)])
}
Thử nghiệm hoán vị được thực hiện trước tiên bằng cách tìm số liệu thống kê cho dữ liệu thực tế (giả sử ở đây được lưu trữ trong hai mảng control
và treatment
) và sau đó tìm số liệu thống kê cho nhiều hoán vị ngẫu nhiên độc lập:
z <- stat(control, treatment) # Test statistic for the observed data
sim<- sapply(1:1e4, f, sample=c(control,treatment), m=length(control), statistic=diff.means)
Bây giờ hãy tính ước tính nhị thức của giá trị p và khoảng tin cậy cho nó. Một phương thức sử dụng binconf
thủ tục tích hợp trong HMisc
gói:
require(Hmisc) # Exports `binconf`
k <- sum(abs(sim) >= abs(z)) # Two-tailed test
zapsmall(binconf(k, length(sim), method='exact')) # 95% CI by default
Một ý tưởng không tồi để so sánh kết quả với một thử nghiệm khác, ngay cả khi điều đó được biết là không hoàn toàn có thể áp dụng: ít nhất bạn có thể nhận được một thứ tự ý nghĩa về mức độ mà kết quả phải nằm. Trong ví dụ này (so sánh các phương tiện), bài kiểm tra t Student thường cho kết quả tốt:
t.test(treatment, control)
Kiến trúc này được minh họa trong một tình huống phức tạp hơn, với R
mã làm việc , tại Kiểm tra xem các biến có tuân theo phân phối tương tự hay không .
Thí dụ
100201,5
set.seed(17)
control <- rnorm(10)
treatment <- rnorm(20, 1.5)
Sau khi sử dụng mã trước để chạy thử nghiệm hoán vị, tôi đã vẽ mẫu phân phối hoán vị cùng với một đường thẳng đứng màu đỏ để đánh dấu thống kê thực tế:
h <- hist(c(z, sim), plot=FALSE)
hist(sim, breaks=h$breaks)
abline(v = stat(control, treatment), col="Red")
Tính toán giới hạn tin cậy Binomial dẫn đến
PointEst Lower Upper
0 0 0.0003688199
00,000373.16e-05
0,000370,000370,050,010,001
Bình luận
kN k/N(k+1)/(N+1)N
10102=1000.0000051.611.7phần triệu: nhỏ hơn một chút so với bài kiểm tra t Student đã báo cáo. Mặc dù dữ liệu được tạo bằng các trình tạo số ngẫu nhiên bình thường, sẽ chứng minh bằng cách sử dụng kiểm tra t Student, kết quả kiểm tra hoán vị khác với kết quả kiểm tra t của Student vì các phân phối trong mỗi nhóm quan sát không hoàn toàn bình thường.
a.random
b.random
b.random
a.random
coding
lncrna