Test istatistiğinizin permütasyon dağılımının simetrik olduğu garanti edilmez, bu nedenle bunu yapamazsınız. Bunun yerine, her iki kuyruğu da eklersiniz. İki bağımsız örnek durumunda, sıfır hipotezi, iki konum parametresinin eşit olmasıdır. Her iki grupta da sürekli dağılımlar ve eşit yayılma varsayarsak, sıfır hipotezi altında değişebilirliğe sahibiz. Deney istatistiği ile ortalama değerleri arasındaki fark, bir E ( T ) = 0 boş altında.TE( T) = 0
Orijinal örnekteki değeri T emp'dir ve T ⋆ permütasyon değerleri . ♯ ( ⋅ ) örn şey "sayısı", kısaltması, ♯ ( T ⋆ ) permütasyon testi istatistik sayısıdır. Sonra p iki taraflı hipotez için-değeri olan p ts = p sol + p doğru ,TTempT⋆♯ ( ⋅ )♯ ( T⋆)ppts= payrıldı+ psağ
payrıldı= ♯ ( T⋆< =min ( Temp, - Temp) )♯ ( T⋆)
psağ= ♯ ( T⋆> =maks. ( Temp, - Temp) )♯ ( T⋆)
(tam permütasyon dağılımına sahip olduğumuzu varsayarsak). Kesin (tam) permütasyon dağılımını hesaplayabildiğimizde, iki bağımsız örnek için her iki yaklaşımı da karşılaştıralım.
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
pcoin
payrıldı≠ psağpt s
> (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
p
payrıldı= ♯ ( T⋆< =min ( Temp, - Temp) ) + 1♯ ( T⋆)+1
psağ= ♯ ( T⋆> =maks. ( Temp, - Temp) ) + 1♯ ( T⋆)+1
pts= ♯ ( abs ( T⋆)> =abs ( Temp) )+1♯ ( T⋆) + 1
p