표본 평균의 분포를 근사하는 방법에 대해 읽을 때 비모수 적 부트 스트랩 방법을 사용했습니다. 분명히 의 분포에 의해 의 분포를 근사 할 수 있습니다 . 여기서 는 표본 평균을 나타냅니다. 부트 스트랩 샘플. ˉ X ∗ n − ˉ X n ˉ X ∗ n
내 질문은 : 센터링이 필요합니까? 무엇 때문에?
하지 난 단지 대략 수 에 의해 ? P ( ˉ X ∗ n ≤ x )
표본 평균의 분포를 근사하는 방법에 대해 읽을 때 비모수 적 부트 스트랩 방법을 사용했습니다. 분명히 의 분포에 의해 의 분포를 근사 할 수 있습니다 . 여기서 는 표본 평균을 나타냅니다. 부트 스트랩 샘플. ˉ X ∗ n − ˉ X n ˉ X ∗ n
내 질문은 : 센터링이 필요합니까? 무엇 때문에?
하지 난 단지 대략 수 에 의해 ? P ( ˉ X ∗ n ≤ x )
답변:
예, 를 근사 할 수 있지만 최적이 아닙니다. 이것은 백분위 수 부트 스트랩의 한 형태입니다. 그러나 표본 크기가 크지 않은 경우 모집단 평균에 대해 추론하려는 경우 백분위 수 부트 스트랩이 제대로 수행되지 않습니다. (샘플 크기가 작은 경우를 포함하여 다른 많은 추론 문제와 잘 작동합니다.) 저는이 결론을 Wilcox의 사회 및 행동 과학에 대한 현대 통계 , CRC Press, 2012 에서 가져옵니다 . 이론적 증거는 저 너머에 있습니다. . P ( ˉ X ∗ n ≤ x )
중심 접근 방식의 변형은 다음 단계로 진행하여 재 샘플 표준 편차 및 표본 크기를 사용하여 중심 부트 스트랩 통계량을 조정하여 통계와 동일한 방식으로 계산합니다. 이 t 통계량 분포의 Quantile을 사용하여 신뢰 구간을 구성하거나 가설 검정을 수행 할 수 있습니다. 이것은 bootstrap-t 방법이며 평균에 대한 추론을 할 때 탁월한 결과를 제공합니다.
하자 부트 스트랩 재 샘플에 기초하여 상기 재 샘플 표준 편차 될 분모로서 N-1을 사용함; 그리고 원본 샘플의 표준 편차입니다. 허락하다
의 시뮬레이트 된 분포의 97.5 번째 및 2.5 번째 백분위 수는 다음과 같이 에 대한 신뢰 구간을 만들 수 있습니다 . μ
아래의 시뮬레이션 결과를 살펴보면, 부정확 한 혼합 분포의 경우이 방법의 신뢰 구간에 백분위 수 부트 스트랩 방법 또는 부트 스트랩이없는 통계의 전통적인 반전보다 실제 값이 더 자주 포함됨을 보여줍니다.
compare.boots <- function(samp, reps = 599){
# "samp" is the actual original observed sample
# "s" is a re-sample for bootstrap purposes
n <- length(samp)
boot.t <- numeric(reps)
boot.p <- numeric(reps)
for(i in 1:reps){
s <- sample(samp, replace=TRUE)
boot.t[i] <- (mean(s)-mean(samp)) / (sd(s)/sqrt(n))
boot.p[i] <- mean(s)
}
conf.t <- mean(samp)-quantile(boot.t, probs=c(0.975,0.025))*sd(samp)/sqrt(n)
conf.p <- quantile(boot.p, probs=c(0.025, 0.975))
return(rbind(conf.t, conf.p, "Trad T test"=t.test(samp)$conf.int))
}
# Tests below will be for case where sample size is 15
n <- 15
# Create a population that is normally distributed
set.seed(123)
pop <- rnorm(1000,10,1)
my.sample <- sample(pop,n)
# All three methods have similar results when normally distributed
compare.boots(my.sample)
이것은 다음을 제공합니다 (conf.t는 부트 스트랩 t 방법이고 conf.p는 백분위 수 부트 스트랩 방법입니다).
97.5% 2.5%
conf.t 9.648824 10.98006
conf.p 9.808311 10.95964
Trad T test 9.681865 11.01644
기울어 진 분포의 단일 예를 들면 다음과 같습니다.
# create a population that is a mixture of two normal and one gamma distribution
set.seed(123)
pop <- c(rnorm(1000,10,2),rgamma(3000,3,1)*4, rnorm(200,45,7))
my.sample <- sample(pop,n)
mean(pop)
compare.boots(my.sample)
이것은 다음을 제공합니다. 부트 스트랩 t 버전 인 "conf.t"는 다른 것보다 더 넓은 신뢰 구간을 제공합니다. 기본적으로 인구의 비정상적인 분포에 반응하는 것이 좋습니다.
> mean(pop)
[1] 13.02341
> compare.boots(my.sample)
97.5% 2.5%
conf.t 10.432285 29.54331
conf.p 9.813542 19.67761
Trad T test 8.312949 20.24093
마지막으로 어떤 버전이 가장 정확한 신뢰 구간을 제공하는지 확인하기위한 수천 개의 시뮬레이션이 있습니다.
# simulation study
set.seed(123)
sims <- 1000
results <- matrix(FALSE, sims,3)
colnames(results) <- c("Bootstrap T", "Bootstrap percentile", "Trad T test")
for(i in 1:sims){
pop <- c(rnorm(1000,10,2),rgamma(3000,3,1)*4, rnorm(200,45,7))
my.sample <- sample(pop,n)
mu <- mean(pop)
x <- compare.boots(my.sample)
for(j in 1:3){
results[i,j] <- x[j,1] < mu & x[j,2] > mu
}
}
apply(results,2,sum)
이는 아래 결과를 제공합니다. 숫자는 신뢰 구간에 모의 모집단의 실제 값이 포함 된 1,000 개 중 시간입니다. 모든 버전의 실제 성공률은 95 % 미만입니다.
Bootstrap T Bootstrap percentile Trad T test
901 854 890