순열 테스트는 정확한 테스트이므로 정확한 p- 값을 제공합니다. 순열 테스트를 부트 스트랩하는 것은 의미가 없습니다.
그 다음으로, 테스트 통계량에 대한 신뢰 구간을 결정하는 것은 추정치가 아닌 샘플을 기반으로 계산되므로 의미가 없습니다. 평균과 같은 추정치에 대한 신뢰 구간을 결정하지만 테스트 통계에 대해서는 신뢰 구간을 결정하지 않습니다.
순열 테스트는 너무 큰 데이터 집합에 사용해서는 안되며 가능한 모든 순열을 더 이상 계산할 수 없습니다. 이 경우 부트 스트랩 절차를 사용하여 사용하는 검정 통계량에 대한 컷오프를 결정하십시오. 그러나 이것은 95 % 신뢰 구간과 거의 관련이 없습니다.
예 : 여기서는 고전적인 T- 통계량을 사용하지만 통계의 경험적 분포를 계산하기 위해 부트 스트랩에 간단한 접근 방식을 사용합니다. 이를 바탕으로 경험적 p- 값을 계산합니다.
x <- c(11.4,25.3,29.9,16.5,21.1)
y <- c(23.7,26.6,28.5,14.2,17.9,24.3)
t.sample <- t.test(x,y)$statistic
t.dist <- apply(
replicate(1000,sample(c(x,y),11,replace=F)),2,
function(i){t.test(i[1:5],i[6:11])$statistic})
# two sided testing
center <- mean(t.dist)
t.sample <-abs(t.sample-center)
t.dist <- abs(t.dist - center)
p.value <- sum( t.sample < t.dist ) / length(t.dist)
p.value
이 양면 테스트는 대칭 분포에 대해서만 작동한다는 점을 고려하십시오. 비대칭 분포는 일반적으로 단 측으로 만 테스트됩니다.
편집하다 :
좋아, 나는 질문을 오해했다. 차이 추정치에 대한 신뢰 구간을 계산하려면 여기 에 언급 된 코드를 사용하여 각 샘플 내에서 부트 스트랩 할 수 있습니다 . 이것은 치우친 추정치입니다. 일반적으로 CI가 너무 작습니다. 또한 신뢰 구간과 p- 값에 대해 다른 접근 방식을 사용해야하는 이유로 제공된 예를 참조하십시오.
sample
하고replace=TRUE
? 같은 패키지를 사용해야 할 이유가boot
있습니까?