回答:
テスト統計の順列分布は対称的であることが保証されていないため、そのようにすることはできません。代わりに、両方の尾を追加します。2つの独立したサンプルの場合、帰無仮説は2つの位置パラメーターが等しいということです。両方のグループで連続分布と等分散を仮定すると、帰無仮説の下で交換可能性があります。検定統計量は平均の差であり、NULLの下ではです。
元のサンプルのの値はであり、順列値です。は何かの「数」の短縮形です。たとえば、は順列検定統計の数です。次に、両側仮説の値は。ここで、
(完全な順列分布があると仮定します)。正確な(完全な)置換分布を計算できる場合、2つの独立したサンプルの場合の両方のアプローチを比較してみましょう。
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
次に、値を計算し、提案されたソリューションをRのパッケージの実装で検証します。そのお守り、あなたが計算した方法重要ので、。coin
> (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順列分布からのみサンプリングするモンテカルロの場合、値は次のように定義されます。
直感的にもう1つの極端な置換ケースを追加する理由は、経験的サンプルもカウントする必要があるためです。それ以外の場合、置換値は0になる可能性があり、連続的な場合には発生しません(ここを参照してください。一部のテキストではこの修正が推奨されており、そうでないものもあります)。