이 글 시리즈는 zzsza.github.io/data/2018/02/17/datascience-interivew-questions/에 있는
<데이터사이언스 인터뷰 질문 모음집>에 스스로 대답해보면서 정리해보고자 적어가는 글입니다.
주인장 분께 감사의 말씀 드립니다!
샘플링과 리샘플링이란?
- 샘플링이란 표본추출을 의미하는 것으로, 모집단 전체에 대한 추정치(estimate)을 얻기 위해 모집단에서 임의의 sample을 뽑아내는 것이다.
- 모집단 전체에 대한 조사는 사실상 불가능하기 때문에 sample을 이용하여 모집단에 대한 추론(inference)을 하게 되는 것이다.
- 이는 머신러닝과 통계분야에서 흔히 접하는 신뢰구간, standard error, 오버피팅, 분산 등과 밀접한 관련이 있다.
- 샘플링 방법으로는 흔히 통계학 시간에서 배우는
<단순무작위추출, 층화추출, 계통추출>
등의 방식이 존재한다. - 그러나 실제로는 이것만으로는 충분하지 않을 수 있다. 왜?
- "우리가 가지고 있는 표본이 과연 모집단을 얼마나 대표한다고 볼 수 있을까?"라는 질문에서 리샘플링은 시작한다.
- 표본은 모집단을 닮은 모집단의 mirror image 같은 존재이지만, 모집단 그 자체일수는 없다. 따라서 표본에는 반드시 모집단의 원래 패턴에서 놓친 부분, 즉 noise가 존재할 수 밖에 없다.
- 이를 구조적으로 보완하기 위해서 머신러닝 필드에서 주어진 데이터셋을 7:3으로 나누어 7을 트레이닝 셋, 3을 테스트 셋으로 나누는 것으로도 생각할 수 있다.
- 그러나 이것만으로도 충분하지 않을 가능성이 존재한다. 즉 트레이닝 셋에만 우리의 모델이 '익숙해질' 것이기 때문이다. 이를 흔히 모델이 오버핏(과적합)되었다고 이야기한다.
- 이뿐만이 아니라, EDA 단계에서 흔히들 실시하는 데이터의 평균, 즉 1차 적률을 구했다고 생각하자. 우리가 흔히 머신러닝에서 착각하는 부분이 바로 이것인데, model의 output만 신경쓰고 summary statistics라고 부르는 적률의 값의 변동성에 대해서는 크게 생각하지 않는다는 것이다. 요약통계치 또한 지금 내가 가진 데이터에 (말하자면) overfit되어 있을 수 있다.
- 그래서 우리는 리샘플링을 진행한다. 리샘플링을 한마디로 요약하자면, '내가 가지고 있는 샘플에서 다시 샘플 부분집합을 뽑아서 통계량의 변동성(variability of statistics)을 확인하는 것'이라고 할 수 있겠다. 왜? 이 과정에서 조금 더 엄밀하게 모집단에 근접할 수 있으니까(왜 그런지는 리샘플링 방법론들을 확인해보면 이해가 될 것. 추후 더 자세히 살펴볼 예정)
- 위키피디아를 찾아보면 리샘플링을 다음과 같이 정의함을 알 수 있다.
1. Estimating the precision of sample statistics by using subsets of available data(jackknifing) or drawing randomly with replacement from a set of data points (bootstrapping)
: 샘플 통계치의 정확도를 추정하는 것 - 잭나이핑 혹은 부트스트래핑
2. Validating models by using random subsets (bootstrapping, cross validation)
: 임의의 부분집합을 이용해 모델을 검증하는 것 - 부트스트래핑 혹은 교차검증
이에 대해서는 차근차근 살펴보도록 하자. - 여기서 모수의 평균, 즉 참값을 parameter, 샘플의 평균, 즉 추정치를 statistics라고 한다는 사실을 잠시 짚고 넘어가자.
- 또 다른 예를 생각해 보자. 우리가 머신러닝을 할 때 구축한 모델이 있다고 하자. 가장 기초적인 예로 선형회귀 모델 Y^=B0^+B1^X가 있다고 하자. 이를 임의로 '짭(fake) 선형 모델'이라고 하자.
- 이 선형회귀모델의 모양을 결정짓는 값들이 무엇인가? 바로 B0^와 B1^이다. 이 값들 또한 우리는 모수, 즉 parameter라고 부른다. (다른 말로 계수(coefficient)라고 한다)
- 여기서 " ^ "이 붙어 있음에 주목해야 한다. 수학에서 이것이 붙어있은 즉 '추정치'라는 말이다.
- 선형회귀모형이 적합(fitting)하려고 하는, 원래 모집단이 소유/묘사/구성 (등등) 하고 있는 일종의 '찐(real) 선형 모델'은
Y = B0+B1X+e
의 형태를 가진다. - 샘플의 평균을 구할 때와 선형회귀모형의 B0^, B1^를 구하는 것은 구조적으로 사실상 동일하다. 이를 다음과 같이 표기하기로 하자.
모수의 참값 (parameter) : P | 샘플의 추정치 (statistics) : S |
B0*, B1* | B0'', B1'' |
모집단의 평균 X* | 샘플의 평균 X'' |
- 이 때, "S와 P가 얼마나 일치하는가?"라는 질문(이를 S~P 문제라고 하겠다)은 분석가의 핵심 질문이 되어야 하는 것이 명백하다.
- 왜냐하면 우리가 진짜 관심이 있는건 P이지, S가 절대 아니기 때문이다.
- "S와 P가 얼마나 일치하는가?"라는 질문에 답변하기 위해 다시 본론으로 돌아와보자.
- S와 P의 일치도를 추정하는 방법 중 하나가 바로 신뢰구간(confidence interval)이다. 예를 들면 B0의 95% 신뢰구간은 -1.5부터 1.5이다라는 식으로 이야기할 수 있다.
- 신뢰구간과 리샘플링은 무슨 연관이 있을까?
- 신뢰구간을 물론 리샘플링 없이 계산할 수 있다.
- 하지만 리샘플링 방법론을 사용하여 신뢰구간을 추정할 수도 있다. 대표적인 예로 부트스트랩 신뢰구간이 있다.
- 부트스트랩 신뢰구간을 알기 위해서는 부트스트랩에 대하여 알아야 한다. 즉, 각 방법론이 어떻게 S를 P에 근접하게 만드는지, 혹은 S가 얼마나 P에 대해 좋은 추정치인지를 이해해야 한다.
- 다음 글에서는 잭나이핑, 부트스트랩, 크로스 벨리데이션이 각각 무엇인지 알아보고, 이것이 어떻게 S~P문제를 해결하고자 하는지 알아보도록 하겠다.
출처 및 참고)
en.wikipedia.org/wiki/Resampling_(statistics)
www.statisticssolutions.com/sample-size-calculation-and-sample-size-justification-resampling/
'수학 및 통계학 > 수리통계학' 카테고리의 다른 글
확률분포의 모수 추정, (1) 표본분포와 중심극한정리 (0) | 2021.03.30 |
---|---|
(베이지안) 가우시안(Normal) 분포와 베이지안 접근법의 기초 (0) | 2021.03.20 |
(데이터과학 인터뷰 질문) (7) 확률분포 1. 베르누이와 이항분포 (0) | 2021.03.03 |
(데이터과학 인터뷰 질문) (6) 확률변수와 확률모형의 차이 (0) | 2020.11.10 |
(데이터과학 인터뷰 질문) (3) 샘플링과 리샘플링, 2편 : 잭나이핑과 부트스트래핑 (0) | 2020.10.29 |