부트 스트랩 CI 및 p- 값을 계산하는 방법에는 여러 가지가 있습니다. 주요 문제는 부트 스트랩이 귀무 가설 하에서 데이터를 생성하는 것이 불가능하다는 것입니다. 순열 테스트는 이에 대한 대안으로 실행 가능한 리샘플링입니다. 적절한 부트 스트랩을 사용하려면 검정 통계량의 샘플링 분포에 대한 몇 가지 가정을해야합니다.
β∗0=β^−β^∗β∗0=β^∗−β^
일반 부트 스트랩
한 가지 방법은있다 정상 부트 스트랩 은 부트 스트랩 분포의 평균과 표준 편차를 가지고 원래의 부트 스트랩 샘플에서 추정 지점에서 널 분배에서 정상 백분위 분포를 이동 및 사용하여 널 (null)에서 샘플링 분포를 계산 . 이것은 부트 스트랩 배포가 정상일 때 합리적인 접근 방법이며, 육안 검사는 일반적으로 여기에 충분합니다. 이 접근법을 사용한 결과는 일반적으로 이분산성 및 / 또는 유한 샘플 분산 가정에 대해 강력한 강력한 또는 샌드위치 기반의 오차 추정에 매우 가깝습니다. 정상적인 검정 통계량의 가정은 다음에 논의 할 부트 스트랩 검정에서 가정의 더 강력한 조건입니다.
백분위 수 부트 스트랩
F∗0) 추정치에서 부트 스트랩 분포를 빼고 을 사용하여 추정치보다 "더 극단적 인"DSNH의 백분율을 계산합니다.2×min(F∗0(β^),1−F∗0(β^))
학생 화 된 부트 스트랩
값을 계산하는 가장 쉬운 부트 스트랩 솔루션 은 학생 화 된 부트 스트랩을 사용하는 것입니다. 각 부트 스트랩 반복마다 통계 및 표준 오류를 계산 하고 학생 통계를 리턴하십시오. 이것은 시스와 p- 값을 매우 쉽게 계산하는데 사용될 수있는 가설에 대한 부트 스트랩 된 학생 분포를 제공합니다. 이것은 또한 바이어스 교정 가속 부트 스트랩의 직관에 기초합니다. t- 분포는 해당 결과의 높은 분산으로 인해 가중치가 낮아지기 때문에 null 아래에서 훨씬 쉽게 이동합니다.p
프로그래밍 예
예를 들어 city
부트 스트랩 패키지 의 데이터를 사용하겠습니다 . 부트 스트랩 신뢰 구간은 다음 코드로 계산됩니다.
ratio <- function(d, w) sum(d$x * w)/sum(d$u * w)
city.boot <- boot(city, ratio, R = 999, stype = "w", sim = "ordinary")
boot.ci(city.boot, conf = c(0.90, 0.95),
type = c("norm", "basic", "perc", "bca"))
이 출력을 생성하십시오.
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 999 bootstrap replicates
CALL :
boot.ci(boot.out = city.boot, conf = c(0.9, 0.95), type = c("norm",
"basic", "perc", "bca"))
Intervals :
Level Normal Basic
90% ( 1.111, 1.837 ) ( 1.030, 1.750 )
95% ( 1.042, 1.906 ) ( 0.895, 1.790 )
Level Percentile BCa
90% ( 1.291, 2.011 ) ( 1.292, 2.023 )
95% ( 1.251, 2.146 ) ( 1.255, 2.155 )
Calculations and Intervals on Original Scale
일반 부트 스트랩의 95 % CI는 다음을 계산하여 얻습니다.
with(city.boot, 2*t0 - mean(t) + qnorm(c(0.025, 0.975)) %o% sqrt(var(t)[1,1]))
따라서 p- 값이 얻어진다 :
> with(city.boot, pnorm(abs((2*t0 - mean(t) - 1) / sqrt(var(t)[1,1])), lower.tail=F)*2)
[1] 0.0315
이는 95 % 일반 CI에 null 비율 값 1이 포함되지 않음에 동의합니다.
백분위 수 CI를 구합니다 (동점 방법에 따라 약간의 차이가 있음).
quantile(city.boot$t, c(0.025, 0.975))
백분위 수 부트 스트랩의 p- 값은 다음과 같습니다.
cvs <- quantile(city.boot$t0 - city.boot$t + 1, c(0.025, 0.975))
mean(city.boot$t > cvs[1] & city.boot$t < cvs[2])
값에서 1을 제외한다는 점에서 신뢰 구간과 일치하는 ap 0.035를 제공합니다. 백분위 수 CI의 너비가 일반 CI만큼 넓고 백분위 수 CI가 더 낮은 p- 값을 제공해야한다는 점에서 백분위 수 CI가 더 멀다는 것을 일반적으로 관찰 할 수는 없습니다. 백분위 수 방법에 대한 CI의 기본이되는 샘플링 분포의 모양이 비정규이기 때문입니다.