부트스트랩의 의미
표본의 크기가 작거나 변수의 형태가 이상한 상황에서는 불안정한 결론이 날 수 있습니다. 이럴 때 부트스트랩을 사용하면 데이터가 아무리 작거나 이상하더라도 강건한 결론을 도출할 수 있습니다. 부트스트랩은 난수를 기반으로 서로 조금씩 다른 버전의 데이터를 생성하고 분석하는 방식으로 작동합니다.
부트스트랩의 가장 큰 장점은 적용했을 때 잘못될 일은 절대 없다는 점입니다. 전통적인 통계 방법을 사용하기 좋은 시나리오(크기가 크고 정규분포의 형태를 띄는 데이터)에서는 부트스트랩이 더 느리고 정확도도 조금 떨어질 수 있지만 납득할만한 범위 안에서 결론을 내립니다. 그러나 최상의 시나리오를 제외한 모든 경우에서 부트스트랩은 전통적인 통계 방법을 쉽게 능가합니다.
표본 평균에 대한 부트스트랩 신뢰 구간
데이터의 평균은 데이터의 변동성과 불확실성을 전달하지 않기 때문에 해석할 때 오해의 소지가 있습니다. 그래서 보통 평균 주위의 신뢰구간을 사용합니다. 전통적인 신뢰구간에서는 변수가 평균 주위의 정규분포를 따른다고 가정하지만 실제 분석 상황(수집한 데이터)은 그렇지 않은 경우도 존재합니다.
이런 경우에 부트스트랩을 사용하면 사용 가능한 데이터를 최대한 활용하고 표본 크기나 데이터 형태 문제와 관계없이 합리적인 결론을 도출할 수 있습니다. 사용 가능한 데이터를 기반으로 여러 개의 가상 데이터셋을 생성하기 때문입니다. 이렇게 하면 데이터의 잡음을 제거하고 이상치 값의 중요성을 더욱 정확하게 나타낼 수 있습니다. 또한 잡음 때문에 발생하는 불확실성을 일부 제거하기 때문에 보다 엄격한 신뢰구간을 구할 수 있습니다.
부트스트랩 신뢰 구간을 구축하는 과정은 간단합니다.
1. 관찰한 표본에서 복원 추출하여 동일한 크기의 새로운 표본을 여러개 생성
2. 생성된 각 표본에 대해 관심 있는 통계를 계산
3. 2단계에서 얻은 값의 백분위수를 확인하여 신뢰 구간을 구축
회귀 분석을 위한 부트스트랩
교란 요인이 있다면 회귀 결과를 해석하기 쉽지 않은 경우가 있습니다. 아래 예시에서 ‘experience’ 라는 변수의 추정 계수는 -9.8이고, 신뢰구간은 [-22.2 ; 2.5] 입니다. 전통적인 관점에서 보면 신뢰구간에 0이 포함되기 때문에 ‘experience’가 종속 변수에 긍정적, 부정적, 또는 0의 시간을 미칠 수 있으므로 실질적으로 결론을 내릴 수 없습니다.
부트스트랩을 사용할 경우 이런 문제를 해결할 수 있습니다. 아래 예시의 분포는 두 가지 경쟁 가설의 존재를 나타냅니다. 이것을 데이터 기반 시나리오 분석이라고 생각할 수 있습니다.
- 0에 가까운 높고 좁은 피크 : 이상치를 포함하지 않는 표본. 이상치를 제거할 경우 얻을 수 있는 신뢰구간
- 왼쪽의 넓고 평평한 분포 : 이상치를 한 번 이상 포함하는 표본. 이상치가 데이터를 실제로 대표하고 크기가 작은 표본보다 실제 빈도가 더 높을 수 있다는 가설 반영
부트스트랩을 이용한 ‘p-값’의 계산
신뢰구간 구축 외에도 부트스트랩을 사용하여 p-값과 같은 결정을 할 수 있습니다. p-값은 (1 - p-값)의 신뢰구간이 경계값으로 0을 갖습니다. 따라서 1) 계수가 0 이상인 부트스트랩 표본의 비율을 계산하고, 2) 양측 검정이기 때문에 2를 곱하면 부트스트랩을 적용한 p-값을 구할 수 있습니다.
전통적인 중앙 추정치와 신뢰구간에 대한 충분 조건
전통적인 추정치를 바로 구할 수 있을 때 부트스트랩을 사용하는 것은 무의미합니다. 그러나 데이터가 적거나(일반적으로 100개 미만의 행) 이상한 경우(여러 개의 피크가 있거나 비대칭인 경우)에는 중앙 추정치가 잘못될 수 있습니다.
신뢰구간도 마찬가지입니다. 데이터에 영향점(influential point)이 없고 잔차에 문제가 없는 경우에만 전통적인 신뢰구간을 사용할 수 있습니다. 영향점은 삭제했을 때 회귀가 크게 변하는 데이터를 의미하며 이것은 ‘쿡의 거리(Cook’s distance)’로 정확하게 측정할 수 있습니다. 쿡의 거리가 1 이상인 경우 데이터가 영향력이 있는 것으로 간주됩니다.
데이터에 영향점이 없다면 회귀 잔차가 정규분포에 가까운지 확인해야 합니다. 잔차가 정규분포를 따르지 않으면 베르누이 분포를 따르기 때문에 로지스틱 회귀에 적용할 수 없습니다.
밀도 플롯(왼쪽)은 0을 중심으로 하는 하나의 피크가 있고 완만하게 감소하는 대칭 꼬리가 있는 곡선 형태를 띄는 경우 잔차가 정규분포를 따릅니다. QQ플롯의 경우 정규분포 밀도에서는 모든 점이 선에 있거나 선과 매우 가깝게 배치되지만 그림에서는 이상치(우측 상단)가 않고 있습니다. 선형 회귀의 잔차가 정규분포를 따르지 않을 때 부트스트랩을 사용하면 전통적인 접근법보다 나은 신뢰 구간과 p-값을 결과로 도출할 수 있습니다.
부트스트랩 표본 개수 결정
부트스트랩을 사용하기로 결정했다면 시뮬레이션에 사용할 표본 개수를 결정해야 합니다. 부트스트랩 창시자인 브래들리 에프론에 따르면 추정치의 변동성을 포괄적으로 이해하기 위해서는 B(표본 개수) = 25~200이 적절합니다. 이것은 75% 신뢰구간으로 볼 수 있습니다.
반면 임곗값(일반적으로 0)과 관련된 위치에 따라 비즈니스 의사결정으로 내려야 하는 경우 B를 증가시켜서 정확하게 추정해야 합니다. 이런 상황에서는 일반적으로 1,000개 또는 2,000개의 표본을 생성합니다.
이 글은 <행동 데이터 분석> 책을 읽고 주요 내용과 제 생각을 정리한 글입니다.
Part 3 견고한 데이터 분석
Chapter 7 부트스트랩을 활용한 불확실성 측정
'데이터 분석 > Analytics' 카테고리의 다른 글
[행동데이터분석] 매개효과와 도구 변수 (0) | 2024.01.18 |
---|---|
[행동데이터분석] 조절효과 - 세분화, 상호작용, 비선형성 (0) | 2024.01.17 |
[행동데이터분석] 결측 데이터 처리 (0) | 2024.01.03 |
[행동데이터분석] 인과관계 다이어그램을 통한 데이터 분석의 교란 해소 (0) | 2024.01.02 |
[행동데이터분석] 인과관계 다이어그램 그리기 - (2) 변수 검증/확장/단순화 (0) | 2023.12.28 |
댓글