Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- bayesian
- 미적분 #평균값 정리 #로피탈의 정리 #접선의 방정식
- lightweightmmm
- Marketing Mix Modeling
- 프로그래머를 위한 선형대수 #선형대수 #고유분해 #고윳값 #고유벡터
- 미적분 #접선의 방정식 #최적화 #뉴턴법 #뉴턴-랩슨법
- Media Mix Modeling
- 프로그래머를 위한 선형대수 #선형대수 #행렬계산
- 수리통계
- bayesian inference
- 시계열분석 #Time-Series Analysis #이상탐지 #Anomaly Detection #Spectral Residual #CNN #SR-CNN
- Optimization
- 프로그래머를 위한 선형대수 #선형대수 #고유값 #고유벡터 #야코비 회전법 #QR법 #하우스홀더반사 #행렬회전
- 프로그래머를 위한 선형대수 #선형대수 #고유값 #고유벡터 #고유분해
- 미적분 #사인과 코사인의 도함수
- 프로그래머를 위한 선형대수 #선형대수 #LU분해
- 미적분
- mmm
Archives
- Today
- Total
문과생 네버랜드의 데이터 창고
26. 통계적 부트스트랩 본문
-
부트스트랩이란
1) 표본을 이용하여 지속적인 복원(혹은 비복원) 추출을 반복하여 모수를 추정하는 추정량의 분포를 알아내는 방법론
${(1)}$ 모수를 추정하는 추정량의 분포를 추정하기 위한 시뮬레이션이다
${(2)}$ 추정량에 대한 분포를 시뮬레이션이기 때문에 표본(의 실현값)을 이용한다.
${(3)}$ 다표본 검정의 경우 비복원을 사용하고, 일표본 검정의 경우 복원 추출을 활용한다.
${(4)}$ 샘플이 n개라면, 추출도 n번 수행하여 n개의 재추출을 수행한다.
부트스트래핑 기법을 이용하여 샘플의 평균과 분산을 추정하기 위한 분포를 시뮬레이션하는 예시 애니메이션
처음에 어떤 분포인지도 알 수 없던 샘플의 평균에 대한 히스토그램은
점차적으로 정규분포로 수렴하는 것을 볼수 있다.
이를 이용하여 우리는 샘플의 평균이라는 모평균에 대한 불편추정량의
평균, 분산(표준오차) 를 알 수 있게 된다.
2) 부트스트랩을 통해 알 수 있는 정보는 다음과 같다.
${(1)}$ 추정량의 평균, 분산과 같은 속성값에 대한 추정
${(2)}$ (속성값을 이용한) 신뢰구간 및 특정 가설에 대한 가설 검정
3) 일반적으로, 다음의 단계를 각 작업별로 특수화하여 활용한다.단계 절차 1 재추출한 부트스트랩 데이터셋을 구성한다.
-. 이 때, 복원 혹은 비복원 추출을 활용한다.
-. 데이터셋의 크기는 원래 표본의 크기인 n과 동일하게 한다.2 모수를 추정하는 (불편)추정량의 값을 구한다.
-. 만약, 이 값을 B개 구한다면 $[\widehat{\theta}_{i}]$의 리스트로 이를 저장한다.3 저장된 $[\widehat{\theta}_{i}]$로 분포를 추정하고, 이를 이용하여 원하는 정보를 확인한다. - 부트스트랩 백분위수 신뢰구간 알고리즘
1) 부트스트랩을 통해 도출된 표본의 백분위수를 이용하여 신뢰구간을 도출하는 알고리즘
2) 다음의 이론적 근거를 가진다.
X가 $f(x;\theta)$를 갖는 연속확률변수라고 하자.
$[X_{1}, \dots X_{n}]$을 X에서 추출한 확률표본이라고 하자.
또, $\widehat{\theta}$를 $\theta$에 대한 점 추정량 이라고 하자.
우선, $\widehat{\theta}$을 정규분포 $N(\theta, \sigma_{\theta}^{2})$을 따른다고 하자.
그러면, 모수 $\theta$의 신뢰구간은 다음과 같이 표현할 수 있다.
$\theta \in (\widehat{\theta} - z^{1-\alpha/2}\cdot \sigma_{\theta}^{2}, \quad \widehat{\theta} - z^{\alpha/2}\cdot \sigma_{\theta}^{2})$
위의 구간 정의에서
$\widehat{\theta}_{L} = \widehat{\theta} - z^{1-\alpha/2}\cdot \sigma_{\theta}^{2}$ 그리고
$\widehat{\theta}_{U} = \widehat{\theta} - z^{alpha/2}\cdot \sigma_{\theta}^{2}$ 라 정의하자.
한편, 이번엔 $\widehat{\theta}^{*}$을 정의하자.
$\widehat{\theta}^{*}$은 확률표본을 통해 도출한 실현된 통계량 $(\widehat{\theta}, \sigma_{\theta}^{2})$ 을 모수로 갖는 정규분포
$N(\widehat{\theta},\sigma_{\theta}^{2})$를 따른다.
($\widehat{\theta}$와 $\widehat{\theta}^{*}$의 정의 차이에 유의하자)
이 때 $\widehat{\theta}_{L}$을 이용하여 $\widehat{\theta}^{*}$를 표현하면 다음과 같이 표현할 수 있다.
$$P(\widehat{\theta}^{*} \leq \widehat{\theta}_{L}) = P(\widehat{\theta}^{*} \leq \widehat{\theta} - z^{1-\alpha/2}\cdot \sigma_{\theta}^{2}) = P(\frac{\widehat{\theta}^{*} - \widehat{\theta}}{\sigma_{\theta}^{2}} \leq- z^{1-\alpha/2})$$
위 식은 $z^{1-\alpha/2}$의 반대쪽 구간이므로, $\alpha/2$와 같다.
마찬가지로 $\widehat{\theta}_{U}$을 이용하여 $\widehat{\theta}^{*}$를 표현하면
$$P(\widehat{\theta}^{*} \leq \widehat{\theta}_{U}) = P(\widehat{\theta}^{*} \leq \widehat{\theta} - z^{\alpha/2}\cdot \sigma_{\theta}^{2}) = P(\frac{\widehat{\theta}^{*} - \widehat{\theta}}{\sigma_{\theta}^{2}} \leq- z^{\alpha/2})$$
위 식은 $z^{\alpha/2}$의 반대쪽 구간이므로, 그 확률은 $1-\alpha/2$와 같다.
$\widehat{\theta}^{*}$은 실현값을 통해 구현한 정규분포
$N(\widehat{\theta}, \sigma_{\theta}^{2})$를 이용하여 구한 추정량이므로
이 분포로부터 추정이 필요한 모수 $\theta$에 대한 신뢰성 있는 구간을 구할 수 있게 된다.
3) 부트스트랩 백분위수 신뢰구간 알고리즘
${(1)}$ 부트스트랩 백분위수 신뢰구간 알고리즘은 다음의 절차를 통해 수행한다.
단계 절차 1 j = 1로 초기화한다. 반복 횟수 B를 정의한다. 2 $j \leq B$라면 단계 (2) ~ (5)를 반복한다. 3 다음의 복원 샘플링을 수행한다.
-. 표본 $[x_{1}, \dots, x_{n}]$으로부터 n개의 복원 샘플을 추출한다.
-. 이 복원 샘플을 $x_{j}$라는 리스트에 담는다.4 모수를 추정할 수 있는 통계량
$\widehat{\theta}^{*}_{j} = \widehat{\theta}(x_{j})$를 구한다.5 $j \leftarrow j + 1$ 6 반복 종료 후, $[\widehat{\theta}^{*}_{1}, \dots , \widehat{\theta}^{*}_{j}]$을 크기 순서대로 재정렬한다.
$m = (\alpha/2) \cdot B$라고 정의하고
재정렬된 $[\widehat{\theta}^{*}_{1}, \dots ,\widehat{\theta}^{*}_{j}]$ 에서
m번째 값과 B + 1 - m 번째 값을 구한다. 이는 다시말해 $(\alpha/2)$ 와 $(1-\alpha/2)$ 백분위수를 구하는것과 같다. - 부트스트랩 평균 검정절차(2표본 검정)
1) 부트스트랩을 통해 도출한 두 개의 분포의 실현값을 통하여 가설을 검정하는 방법론
2) 다음의 이론적 근거를 가진다.확률표본 $X_{i}$ 와 $Y_{i}$를 정의하자.
이 때 추출의 대상이 된 확률변수 X와 Y는 각각 다음과 같다.
X는 cdf F(x)를 가지는 분포를 따르는 확률변수
Y는 cdf $F(x - \Delta)$를 갖는 분포를 따르는 확률변수
다시말해, X와 Y는 위치모수 $\Delta$를 사이에 두고 서로 연관을 가지고있는 확률변수들이다.
만약, 두 분포에 각각 평균 $\mu_{x}$와 $\mu_{y}$가 존재할 경우,
$\Delta = \mu_{x} - \mu_{y}$와 같다.
다음의 가설을 검정하고자 한다.
$H_{0} : \Delta = 0$ vs $H_{1} : \Delta > 0$
이 가설의 검정을 위해, 평균 $\mu_{x}$와 $\mu_{y}$에 대한 불편추정량인 $\overline{x}$와 $\overline{y}$를 활용한다.
$V = \overline{x} - \overline{y}$ 라고 할 때
$V \geq c$면 $H_{0}$를 기각한다고 하자.
또는, 기각역 c를 활용하지 않고 검정 p-value를 활용하는 다음의 식으로 검정하는 것이다.
$\widehat{p} = P_{H_{0}}[V \geq \overline{y} - \overline{x}]$
이제, 부트스트랩의 목적은 이 $\widehat{p}$를 추정하는 것이다.
3) 부트스트랩 평균 검정(2표본) 알고리즘
${(1)}$ 부트스트랩 독립성 검정 알고리즘은 다음의 절차를 통해 수행한다.
단계 절차 1 $x_{i}$와 $y_{i}$를 하나로 합친다. 즉 $z = (x_{i}, y_{i})$
$[x_{i}]$의 갯수를 $n_{x}$라고 하고, $[y_{i}]$의 갯수를 $n_{y}$라고 한다.
임계값 $v = \overline{y} - \overline{x}$를 저장한다.2 j = 1로 초기화한다. 반복 횟수 B를 정의한다. 3 $j \leq B$라면 단계 (3) ~ (6)을 반복한다. 4 다음의 비복원 샘플링 x를 수행한다.
-. 리스트 z로부터 n_{x}개의 비복원 샘플을 추출한다.
-. 이 복원 샘플을 $x_{j}$라는 리스트에 담고, 그 평균값 $\overline{x_{j}}$를 구한다.5 다음의 비복원 샘플링 y를 수행한다.
-. 리스트 z로부터 n_{y}개의 비복원 샘플을 추출한다.
-. 이 복원 샘플을 $y_{j}$라는 리스트에 담고, 그 평균값 $\overline{y_{j}}$를 구한다.6 $v_{j} = \overline{x_{j}} - \overline{y_{j}}$를 구한다.
$j \leftarrow j + 1$7 반복 종료 후, 다음의 값을 구한다.
$$\widehat{p}^{*} = \frac{count_{j=1}^{B}{v_{j} \geq v}}{B}$$
단, count는 부등호식에 해당하는 사례를 카운트하는 함수이다.
즉, 우리가 미리 결정한 임계값 V를 초과하는 $v_{j}$의 갯수를 카운트한 후 이를 전체 반복한 횟수 B로 나누어 확률 p를 구한다. - 부트스트랩 평균 검정절차(1표본)
1) 부트스트랩을 통해 도출한 한개의 분포의 평균이 특정 평균과 유의미하게 다른지 검정하는 방법
2) 다음의 이론적 근거를 가진다.
$[X_{1}, \dots X_{n}]$를 연속형 cdf F(x)를 가지는 분포를 따르는 확률변수 X에서 추출한 확률표본이라 하자
이 때, 확률변수 X가 평균 $\mu$를 가진다고 할 때, 다음의 가설을 검정한다.
$H_{0} : \mu = \mu_{0}$ vs $H_{1} : \mu > \mu_{0}$
이 때, $\mu_{0}$는 가설 검정을 원하는 특정 값이다.
$\mu$에 대한 불편추정량인 $\overline{x}$를 이용하여 다음과 같은 결정규칙을 세운다.
$\overline{x}$가 크면 $H_{0}$를 기각하고 $H_{1}$ 채택
이 때, $[X_{1}, \dots X_{n}]$의 실현값 $[x_{1}, \dots x_{n}]$을 이용하여 $\overline{X}$에 대한 실현값
$$\overline{x} = \frac{\sum_{i=1}^{n}x_{i}}{n}$$ 를 구한다.
검정통게량 $\widehat{p}$는 다음과 같이 구한다.
$$\widehat{p} = P_{H_{0}}[\overline{X} \geq \overline{x}]$$
한편, 부트스트랩 분포는 오직 단 하나만 도출되기 때문에,
우리는 $H_{1}$을 따르는 분포가 아닌 $H_{0}$를 따르는 분포만 고려하여 p값을 계산하고 가설을 검정해야 한다.
따라서, $\overline{x}$를 직접 도출하는 대신 아래의 $z_{i}$를 대신 계산한다.
$$z_{i} = x_{i} - \overline{x} + \mu_{0}$$
$z_{i}$를 이용하여 $H_{0}$를 따르는 분포 하에서 $p$값이 얼마나 예외적인 수준인지 확인한다.
3) 부트스트랩 평균 검정(1표본) 알고리즘단계 절차 1 $\overline{x}$를 계산한다.
$z_{i} = x_{i} - \overline{x} + \mu_{0}$ 를 계산하여 리스트 z에 담는다.2 j = 1로 초기화한다. 반복 횟수 B를 정의한다. 3 $j \leq B$라면 단계 (3) ~ (6)을 반복한다. 4 다음의 복원 샘플링을 수행한다.
-. 리스트 z로부터 n개의 복원 샘플을 추출한다.
-. 이 복원 샘플을 $z_{j}$라는 리스트에 담고, 그 평균값 $\overline{z_{j}}$를 구한다.5 $j \leftarrow j + 1$ 6 반복 종료 후, 다음의 값을 구한다.
$$\widehat{p}^{*} = \frac{count_{j=1}^{B}{\overline{z_{j}} \geq \overline{x}}}{B}$$
단, count는 부등호식에 해당하는 사례를 카운트하는 함수이다.
즉, $\overline{x}$를 초과하는 $\overline{z_{j}}$의 갯수를 카운트한 후 이를 전체 반복한 횟수 B로 나누어 확률 p를 구한다.
'수리통계' 카테고리의 다른 글
28. 분포수렴 (1) | 2023.07.11 |
---|---|
27. 확률 수렴 (2) | 2023.07.10 |
25. 몬테카를로 방법 (0) | 2023.07.06 |
24. 카이제곱 검정 (0) | 2023.07.05 |
23-1 단측검정에서 양측검정으로 일반화 (0) | 2023.07.05 |