답변:
다음은 고전적인 R 데이터 세트에 대한 그림입니다.
> x = faithful$waiting
> bootmed = apply(matrix(sample(x, rep=TRUE, 10^4*length(x)), nrow=10^4), 1, median)
> quantile(bootmed, c(.025, 0.975))
2.5% 97.5%
73.5 77
중앙값에 (73.5, 77) 신뢰 구간을 제공합니다.
( 참고 : John 덕분에 수정 된 버전 . 이전에는 을 사용 하여 혼란을 초래했습니다!)nrow
다른 접근 방식은 이항 분포의 Quantile을 기반으로합니다.
예 :
> x=faithful$waiting
> sort(x)[qbinom(c(.025,.975), length(x), 0.5)]
[1] 73 77
부트 스트랩 리샘플링을 확인하십시오. 부팅 기능에 대한 R 도움말을 검색하십시오. 리샘플링을 사용하는 데이터에 따라 거의 모든 것에 대한 신뢰 구간을 추정 할 수 있습니다.
그리고 다른 접근 방법이 있습니다. 하나는 연속성 보정이있는 하나의 샘플에 적용된 Wilcoxon Rank Sum 테스트를 기반으로합니다. R에서는 다음과 같이 제공 될 수 있습니다.
wilcox.test(x,conf.level=0.95,alternative="two.sided",correct=TRUE)
여기에서 논의 된 중간 값에 대한 David Olive의 CI가 있습니다.
qbinom 접근법을 기반으로 한 결과는 작은 샘플에는 맞지 않습니다. x에 10 개의 성분이 있다고 가정합니다. qbinom (c (.025, .975), 10, .5)는 2와 8을 제공합니다. 결과 간격은 아래쪽 꼬리의 순서 통계를 위쪽 꼬리의 순서 통계와 대칭 적으로 처리하지 않습니다. 정답은 2와 9입니다. SAS에서 proc 일 변량을 확인할 수 있습니다. 여기서 잡을 수있는 확률은 .025 이하입니다. 낮은 Quantile은 적어도 .025 또는 그 이하를 제공하기 때문에 이것을하지 않습니다. 1이어야하는 카운트가 0을 세는 2 차 통계에 맵핑되어야하므로 "off by one"이 취소되므로 맨 아래에 저장됩니다. 이 우연한 취소는 상단에 발생하지 않으므로 여기에 잘못된 답변이 표시됩니다. 코드 sort (x) [qbinom (c (.025, .975), length (x),). 5) + c (0,1)]은 거의 효과가 있으며 .5는 다른 Quantile의 신뢰 구간을 얻기 위해 다른 Quantile 값으로 대체 될 수 있지만 P [X <= a ] =. 025. 예를 들어, Higgins, Nonparametric Statisitcs를 참조하십시오.
library(boot)
을 확인하십시오.> boot.ci (boot (x, function (x, i) median (x [i]), R = 1000)) Intervals : Level Normal Basic 95 % (74.42, 78.22) (75.00 , 78.49) 백분위 수 BCa 95 % (73.51, 77.00) (73.00, 77.00)