आपके परीक्षण सांख्यिकीय के क्रमपरिवर्तन वितरण को सममित होने की गारंटी नहीं है, इसलिए आप इसे इस तरह से नहीं कर सकते। इसके बजाय, आप दोनों पूंछ जोड़ते हैं। आपके दो स्वतंत्र नमूनों के मामले में, शून्य परिकल्पना यह है कि दो स्थान पैरामीटर समान हैं। दोनों समूहों में निरंतर वितरण और समान प्रसार को मानते हुए, हम शून्य परिकल्पना के तहत विनिमेयता है। टेस्ट स्टेटिस्टिक का अर्थ है, शून्य के नीचे के साथ अंतर ।TE(T)=0
के लिए मूल्य मूल नमूने में है , और क्रमपरिवर्तन के लिए अपने मूल्यों । "संख्या" कुछ के लिए कम है, जैसे, क्रमपरिवर्तन परीक्षण के आँकड़ों की संख्या। फिर दो-तरफा परिकल्पना के लिए -value , जहाँTTempT⋆♯(⋅)♯(T⋆)ppts=pleft+pright
pleft=♯(T⋆<=min(Temp,−Temp))♯(T⋆)
pright=♯(T⋆>=max(Temp,−Temp))♯(T⋆)
(यह मानते हुए कि हमारे पास पूर्ण क्रमपरिवर्तन वितरण है)। आइए दो स्वतंत्र नमूनों के मामले में दोनों दृष्टिकोणों की तुलना करें जब हम सटीक (पूर्ण) क्रमचय वितरण की गणना कर सकते हैं।
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
अब -values की गणना करें और R के पैकेज में कार्यान्वयन के साथ प्रस्तावित समाधान को मान्य करें । उस निरीक्षण करें , इसलिए यह मायने रखता है कि आप किस तरह से गणना करते हैं ।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 मोंटे-कार्लो मामले के लिए जहां हम केवल क्रमपरिवर्तन वितरण से नमूना लेते हैं, वैल्यू को इस तरह परिभाषित किया जाएगा: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
सहज रूप से एक और चरम क्रमचय मामले को जोड़ने का कारण यह है कि हमें अनुभवजन्य नमूने को भी गिनना होगा। अन्यथा, क्रमपरिवर्तन -value 0 हो सकता है जो निरंतर मामले में नहीं हो सकता है ( यहां देखें , ध्यान दें: कुछ ग्रंथ इस सुधार की सलाह देते हैं, कुछ नहीं)।p