Distribusi permutasi statistik uji Anda tidak dijamin simetris, sehingga Anda tidak dapat melakukannya dengan cara itu. Sebagai gantinya, Anda menambahkan kedua ekor. Dalam kasus Anda dua sampel independen, hipotesis nol adalah bahwa dua parameter lokasi sama. Dengan asumsi distribusi berkelanjutan dan penyebaran yang sama di kedua kelompok, kami memiliki pertukaran di bawah hipotesis nol. Uji statistik adalah selisih rata-rata, dengan bawah nol.TE(T)=0
Nilai dalam sampel asli adalah , dan nilainya untuk permutasi . adalah kependekan dari "number of" something, misal, adalah jumlah statistik uji permutasi. Maka -nilai untuk hipotesis dua sisi adalah , di manaTTempT⋆♯(⋅)♯(T⋆)ppts=pleft+pright
pleft=♯(T⋆<=min(Temp,−Temp))♯(T⋆)
pright=♯(T⋆>=max(Temp,−Temp))♯(T⋆)
(dengan asumsi kita memiliki distribusi permutasi lengkap). Mari kita bandingkan kedua pendekatan untuk kasus dua sampel independen ketika kita dapat menghitung distribusi permutasi yang tepat (lengkap).
set.seed(1234)
Nj <- c(9, 8) # group sizes
DVa <- rnorm(Nj[1], 5, 20)^2 # data group 1
DVb <- rnorm(Nj[2], 10, 20)^2 # data group 2
DVab <- c(DVa, DVb) # data from both groups
IV <- factor(rep(c("A", "B"), Nj)) # grouping factor
idx <- seq(along=DVab) # all indices
idxA <- combn(idx, Nj[1]) # all possible first groups
# function to calculate test statistic for a given permutation x
getDM <- function(x) { mean(DVab[x]) - mean(DVab[!(idx %in% x)]) }
resDM <- apply(idxA, 2, getDM) # test statistic for all permutations
diffM <- mean(DVa) - mean(DVb) # empirical stest statistic
Sekarang hitung nilai- dan validasikan solusi yang diusulkan dengan implementasi dalam paket R. Amati bahwa , jadi penting bagaimana Anda menghitung .pcoin
pleft≠prightpts
> (pL <- sum(resDM <= min(diffM, -diffM)) / length(resDM)) # left p-value
[1] 0.1755245
> (pR <- sum(resDM >= max(diffM, -diffM)) / length(resDM)) # right p-value
[1] 0.1585356
> 2*pL # doubling left p-value
[1] 0.351049
> 2*pR # doubling right p-value
[1] 0.3170712
> pL+pR # two-sided p-value
[1] 0.3340601
> sum(abs(resDM) >= abs(diffM)) / length(resDM) # two-sided p-value (more concise)
[1] 0.3340601
# validate with coin implementation
> library(coin) # for oneway_test()
> oneway_test(DVab ~ IV, alternative="two.sided", distribution="exact")
Exact 2-Sample Permutation Test
data: DVab by IV (A, B)
Z = 1.0551, p-value = 0.3341
alternative hypothesis: true mu is not equal to 0
PS Untuk kasus Monte-Carlo di mana kami hanya mengambil sampel dari distribusi permutasi, nilai- akan didefinisikan seperti ini:p
pleft=♯(T⋆<=min(Temp,−Temp))+1♯(T⋆)+1
pright=♯(T⋆>=max(Temp,−Temp))+1♯(T⋆)+1
pts=♯(abs(T⋆)>=abs(Temp))+1♯(T⋆)+1
Alasan untuk menambahkan satu lagi kasus permutasi ekstrem secara intuitif adalah bahwa kita perlu menghitung sampel empiris juga. Kalau tidak, permutasi nilai bisa 0 yang tidak dapat terjadi dalam kasus terus menerus (lihat di sini , perhatikan: beberapa teks merekomendasikan koreksi ini, beberapa tidak).p