- こちらにもあるように。
- 2標本が同一母集団から取られているとすると、それらを併せて順序をつけると、第1群、第2群としたときに1,2,2,1,1,1,1,1,2,2,1,2,2,みたいな1,2の数値列ができるけれど、この1,2がばらばらなのか、という検定をすることでも検定可能
- これを連検定という
- Rではtseriesパッケージのruns.test()関数
- 両者、それなりのp値分布を返すようだが、両者のp値の間の相関はよくない
library(tseries)
n1 <- 100
n2 <- 100
n.iter <- 1000
p.ks <- p.runs <- rep(NA,n.iter)
for(i in 1:n.iter){
x1 <- rnorm(n1)
x2 <- rnorm(n2,mean = 0.2,sd=1)
x <- c(x1,x2)
col <- c(rep(1,n1),rep(2,n2))[order(x)]
runs.out <- runs.test(as.factor(col))
ks.out <- ks.test(x1,x2,exact=TRUE)
p.ks[i] <- ks.out$p
p.runs[i] <- runs.out$p
}
par(mfcol=c(2,2))
plot(p.ks,p.runs)
hist(p.ks)
hist(p.runs)
matplot(apply(cbind(p.ks,p.runs),2,sort),type="l")