HOME
home
About
home

Bayesian Bootstrap

베이지안 부트스트랩 (Bayesian Bootstrap) 설명
베이지안 부트스트랩은 전통적인 부트스트랩 방법을 베이지안 통계 프레임워크로 확장한 것으로, 데이터의 불확실성을 반영하면서도 베이지안 추론의 장점을 활용할 수 있는 기법입니다. 이 방법은 특히 데이터의 분포에 대한 사전 정보가 부족하거나, 비모수적(non-parametric) 접근이 필요할 때 유용하게 사용됩니다.

1. 부트스트랩과 베이지안 부트스트랩의 차이점

전통적 부트스트랩 (Frequentist Bootstrap):
데이터를 반복적으로 재표본 추출(복원 추출)하여 통계량의 분포를 추정합니다.
각 표본에 동일한 가중치 \( \frac{1}{n} \)을 부여합니다.
주로 빈도주의적 관점에서 불확실성을 평가합니다.
베이지안 부트스트랩:
데이터 포인트에 대한 가중치를 베이지안적으로 추정합니다.
가중치가 디리클레(Dirichlet) 분포를 따르도록 모델링하여 불확실성을 반영합니다.
베이지안 관점에서 사전 분포와 사후 분포를 통해 추론을 진행합니다.

2. 베이지안 부트스트랩의 기본 개념

베이지안 부트스트랩은 데이터의 각 관측치에 대한 가중치를 확률 변수로 간주하고, 이 가중치가 특정 분포(주로 디리클레 분포)를 따르도록 설정합니다. 이를 통해 각 부트스트랩 샘플에 대한 불확실성을 자연스럽게 포함할 수 있습니다.

주요 요소:

데이터 집합 \( X = \{x_1, x_2, \dots, x_n\} \):
독립적이고 동일하게 분포된(i.i.d.) 샘플로 구성됩니다.
가중치 벡터 \( \mathbf{w} = (w_1, w_2, \dots, w_n) \):
각 데이터 포인트 \( x_i \)에 부여되는 가중치로, 합이 1이 되도록 설정됩니다.
\( \mathbf{w} \)는 디리클레 분포 \( \text{Dirichlet}(\alpha_1, \alpha_2, \dots, \alpha_n) \)를 따릅니다.
디리클레 분포: \[ p(\mathbf{w}) = \frac{1}{B(\alpha)} \prod_{i=1}^n w_i^{\alpha_i - 1} \] 여기서 \( B(\alpha) \)는 베타 함수이며, \( \alpha = (\alpha_1, \alpha_2, \dots, \alpha_n) \)는 파라미터 벡터입니다.

3. 베이지안 부트스트랩의 절차

1.
사전 분포 설정:
각 가중치 \( w_i \)에 대해 비정보적(Non-informative) 사전 분포로 디리클레 분포를 설정합니다.
일반적으로 \( \alpha_i = 1 \)로 설정하여 모든 가중치가 동등한 사전 확률을 가지도록 합니다. \[ \mathbf{w} \sim \text{Dirichlet}(1, 1, \dots, 1) \]
2.
사후 분포 계산:
관측된 데이터 \( X \)에 기반하여 사후 분포를 업데이트합니다.
데이터가 i.i.d.라는 가정 하에, 사후 분포도 디리클레 분포로 유지됩니다. wXDirichlet(1+n1,1+n2,,1+nk)\mathbf{w} | X \sim \text{Dirichlet}(1 + n_1, 1 + n_2, \dots, 1 + n_k) 여기서 \( n_i \)는 데이터 \( X \)에서 \( d_i \)의 빈도입니다.
3.
가중치 샘플링:
사후 분포에서 가중치 벡터 \( \mathbf{w} \)를 샘플링합니다.
이 가중치를 사용하여 새로운 부트스트랩 샘플을 생성합니다.
4.
통계량 계산:
샘플링된 가중치를 기반으로 관심 있는 통계량(예: 평균, 분산 등)을 계산합니다.
이러한 과정을 반복하여 통계량의 분포를 추정합니다.

4. 수학적 세부사항

베이지안 부트스트랩에서 데이터 포인트에 대한 가중치는 다음과 같은 과정으로 생성됩니다:
1.
균등 분포 설정:
\( [0,1] \) 구간에서 \( m-1 \)개의 독립적인 균등 분포 랜덤 변수 \( U_1, U_2, \dots, U_{m-1} \)를 생성합니다.
여기서 \( m = n + k - 1 \) (일반적인 설정에 따라 다를 수 있음).
2.
간격 설정:
랜덤 변수들을 오름차순으로 정렬한 후, 인접한 두 값 사이의 간격을 계산하여 \( m \)개의 간격 집합 \( G = \{g_1, g_2, \dots, g_m\} \)을 구성합니다.
간격 \( g_i = U_{(i)} - U_{(i-1)} \) (단, \( U_{(0)} = 0 \), \( U_{(m)} = 1 \)).
3.
디리클레 분포 샘플링:
각 간격 \( g_i \)에 대해 디리클레 분포의 파라미터를 설정하여 가중치를 할당합니다.
최종적으로 \( \mathbf{w} \)는 \( \text{Dirichlet}(\alpha_1, \alpha_2, \dots, \alpha_n) \) 분포를 따르게 됩니다.

5. 장점과 활용

장점:
비모수적 접근으로 데이터의 분포에 대한 가정을 최소화합니다.
베이지안 프레임워크를 통해 사전 정보와 데이터 기반의 사후 추론을 통합할 수 있습니다.
전통적인 부트스트랩보다 유연하게 불확실성을 모델링할 수 있습니다.
활용 분야:
베이지안 부트스트랩은 회귀 분석, 분류, 밀도 추정 등 다양한 통계적 모델링 및 머신러닝 분야에서 활용됩니다.
특히 데이터가 적거나, 모델의 사전 분포를 명확히 설정하기 어려운 상황에서 유용합니다.

6. 예시

간단한 예를 통해 베이지안 부트스트랩의 동작 방식을 살펴보겠습니다.
예시:
데이터 집합 \( X = \{x_1, x_2, x_3\} = \{A, A, B\} \)
구별 가능한 값 벡터 \( \mathbf{d}_k = (A, B) \), 따라서 \( k = 2 \)
각 데이터 포인트의 빈도 \( n_A = 2 \), \( n_B = 1 \)
사전 분포: \[ \mathbf{w} \sim \text{Dirichlet}(1, 1) \]
사후 분포: \[ \mathbf{w} | X \sim \text{Dirichlet}(1 + 2, 1 + 1) = \text{Dirichlet}(3, 2) \]
가중치 샘플링:
디리클레 분포 \( \text{Dirichlet}(3, 2) \)에서 \( \mathbf{w} \)를 샘플링합니다.
예를 들어, 샘플링된 가중치가 \( \mathbf{w} = (0.6, 0.4) \)라면, 이는 \( A \)에 대한 가중치가 0.6, \( B \)에 대한 가중치가 0.4임을 의미합니다.
통계량 계산:
샘플링된 가중치를 사용하여 관심 있는 통계량(예: 기대값)을 계산합니다.
이 과정을 여러 번 반복하여 통계량의 분포를 추정합니다.

결론

베이지안 부트스트랩은 전통적인 부트스트랩의 재표본 추출 방식을 베이지안 통계와 결합하여, 데이터의 불확실성을 효과적으로 반영하는 강력한 방법론입니다. 디리클레 분포를 활용하여 데이터 포인트에 대한 가중치를 베이지안적으로 추정함으로써, 보다 유연하고 해석 가능한 불확실성 추정을 가능하게 합니다. 다양한 통계적 모델링 및 머신러닝 응용 분야에서 유용하게 활용될 수 있습니다.
Bayesian Bootstrap 이론 요약
Bayesian Bootstrap은 데이터의 불확실성을 반영하기 위해 디리클레(Dirichlet) 분포를 활용하는 방법입니다. 아래에서 주요 개념과 수식을 포함하여 이 이론을 정리합니다.

1. 데이터 구성 및 가정

구별 가능한 값의 벡터 \( \mathbf{d}_k \):
데이터 \( X \)의 모든 구별 가능한 값들은 벡터 \( \mathbf{d}_k = (d_1, d_2, \dots, d_k) \)로 구성됩니다.
확률 벡터 \( \Theta \):
\( \Theta = (\theta_1, \theta_2, \dots, \theta_k) \)는 각 구별 가능한 값에 대한 확률을 나타내는 벡터입니다. 즉, 각 \( \theta_i \)는 \( d_i \)가 발생할 확률을 의미합니다.
데이터 세트 \( X \):
데이터 세트 \( X = \{x_1, x_2, \dots, x_n\} \)는 독립적이고 동일하게 분포된(i.i.d.) 샘플로 가정됩니다. 여기서 \( n \)은 데이터의 총 개수이며, 각 데이터 포인트는 \( \mathbf{d}k \) 내의 값 중 하나를 가집니다. 따라서 \( n_k \)는 각 \( d_k \)의 빈도를 나타내며, \( \sum{i=1}^k n_i = n \)입니다.

2. 사전 분포 및 사후 분포

사전 분포 \( p(\Theta) \):
\( \Theta \)의 사전 분포가 다음과 같이 두 번째 식에 비례한다고 가정합니다:
\[ p(\Theta) \propto 1 \]
이는 모든 \( \Theta \)가 동등한 확률을 가지는 부적절한 사전 분포(improper prior distribution)입니다.
사후 분포 \( p(\Theta | \mathbf{d}_k) \):
베이즈 정리에 따라 사후 분포는 사전 분포와 데이터의 우도(likelihood)의 곱으로 주어집니다. 사전 분포가 균등하므로, 사후 분포는 디리클레 분포로 나타납니다:
\[ p(\Theta | \mathbf{d}k) \propto \prod{i=1}^k \theta_i^{n_i} \]
이는 \( (k-1) \) 변수의 디리클레 분포 \( \text{Dirichlet}(n_1 + 1, n_2 + 1, \dots, n_k + 1) \)과 같습니다.

3. 사후 분포의 시뮬레이션

사후 분포를 시뮬레이션하기 위해 다음과 같은 절차를 따릅니다:
1.
균등 분포 설정:
\( [0,1] \) 구간에서 \( m-1 \)개의 독립적인 균등 분포 랜덤 변수 \( U_1, U_2, \dots, U_{m-1} \)를 생성합니다. 여기서 \( m = n + k + \sum_{l} \)입니다.
2.
간격 \( G \) 설정:
생성된 랜덤 변수들을 오름차순으로 정렬한 후, 인접한 두 값 사이의 간격을 계산하여 \( m \)개의 간격 집합 \( G = \{g_1, g_2, \dots, g_m\} \)을 구성합니다.
3.
K번째 컬렉션으로 분할:
간격 집합 \( G \)을 \( K \)번째 컬렉션으로 분할합니다. 이때, \( K \)번째 컬렉션은 \( n + l + 1 \)개의 요소를 포함합니다.
4.
확률 집합 \( P \) 생성:
\( P \) 집합은 \( K \)번째 컬렉션에 속한 각 간격 \( g \)의 합으로 설정됩니다. 즉,
\[ P = \left\{ \sum_{g \in \text{컬렉션}} g \right\} \]
5.
디리클레 분포 샘플링:
\( P \) 집합은 \( (k-1) \) 변수의 디리클레 분포 \( \text{Dirichlet}(n_1 + l_1 + 1, \dots, n_k + l_k + 1) \)를 따르게 됩니다.

4. 결과 및 결론

관측 데이터에 대한 간격 할당:
각 관측 데이터 \( x \)에 하나의 간격이 할당됩니다. 이를 통해 Bayesian Bootstrap은 각 데이터 포인트에 대한 확률 \( \Theta \)의 사후 분포를 시뮬레이션하게 됩니다.
파라미터 \( \Theta \)의 사후 분포 시뮬레이션:
부적절한 사전 분포에서 시작하여, 디리클레 분포를 이용해 \( \Theta \)의 사후 분포를 효과적으로 시뮬레이션합니다. 최종적으로, 파라미터 \( \Theta = \Theta(\Theta, d) \)의 사후 분포를 얻습니다.

핵심 포인트

디리클레 분포 활용:
Bayesian Bootstrap은 디리클레 분포를 이용하여 사후 분포를 모델링합니다. 이는 다항 분포의 자연스러운 베이지안 동반자입니다.
i.i.d. 가정:
데이터가 독립적이고 동일하게 분포되었다는 가정 하에, 사전 분포로부터 사후 분포를 추정합니다.
시뮬레이션 절차:
균등 분포와 간격 분할을 통해 \( \Theta \)의 사후 분포를 생성하며, 이는 데이터의 불확실성을 반영합니다.
부적절한 사전 분포:
사전 분포가 균등하므로, 실제 데이터에 의해 사후 분포가 형성됩니다. 이는 비정보적(non-informative) 사전으로 작용합니다.
Bayesian Bootstrap은 이러한 절차를 통해 데이터의 불확실성을 효과적으로 반영하며, 특히 표본 크기가 작거나 사전 정보가 부족한 상황에서 유용하게 사용됩니다.