03-120. 샘플링
샘플링 - Sampling
샘플링(Sampling, 표본추출)은 전처리 단계에 포함되는지 아닌지는 명확하지 않다. 샘플링은 통계적인 방법이며 모집단이 큰 대량 데이터를 분석하기 위해서 과거에 많이 사용했던 방법이다.
현재도 빅데이터 환경에서 전체 데이터를 처리하기 어려울 때 샘플링을 통해 분석하고, 그 결과를 전체 모집단에 일반화하는 방식으로 활용된다. 특히 탐색적 데이터 분석(EDA) 단계에서 데이터의 특성을 빠르게 파악하거나, 모델 개발 초기 단계에서 프로토타입을 만들 때 유용하다.
삼플링의 장단점
샘플링의 장점
- 처리 속도: 전체 데이터 대비 빠른 분석 가능
- 비용 절약: 컴퓨팅 리소스와 시간 절약
- 프로토타이핑: 빠른 가설 검증과 모델 개발
- 메모리 효율: 제한된 메모리 환경에서도 분석 가능
샘플링의 단점
- 대표성 문제: 샘플이 모집단을 제대로 대표하지 못할 위험
- 희귀 사건 누락: 빈도가 낮은 중요한 패턴을 놓칠 수 있음
- 편향(Bias): 잘못된 샘플링으로 인한 결과 왜곡
- 통계적 검정력: 샘플 크기가 작으면 통계적 유의성 확보 어려움
전통적인 통계학에서는 샘플링을 통한 분석과 의사결정 기술이 발달되어 있다. 샘플링은 제한된 데이터로도 전체 모집단의 특성을 파악하고 추론할 수 있는 효과적인 방법이다. 최근에는 빅데이터 플랫폼의 발달로 샘플링보다는 전수 데이터 처리를 더 많이 사용하고 있다.
주요 샘플링 방법
어떤 샘플링 방법들이 있는지 확인하고 넘어간다. 깊이 들어가면 샘플링만 따로 다뤄야 할 정도로 매우 복잡하다.
단순 무작위 샘플링(Simple Random Sampling)
분석에서 사용하는 샘플링 방법은 대부분 무작위 추출(Random Sampling, 랜덤 샘플링)이다.
- 가장 기본적인 방법
- 모든 데이터가 동일한 확률로 선택됨
- 구현이 간단하지만 중요한 소수 그룹이 누락될 수 있음
계통 샘플링(Stratified Sampling, 계통 추출)
카테고리 또는 그룹 정보가 있는 데이터의 특정 그룹의 원소수를 보장하기 위해서 그룹이나 계층별 샘플링을 하는 경우가 있다.
- 중요한 하위 그룹의 비율을 유지
- 불균형 데이터에서 특히 유용
- 각 계층에서 무작위 추출
층화 샘플링(Systematic Sampling, 층화 추출)
시계열이나 순차적 데이터에서 무작위 추출하게 되며 구간이 빌 수 있어 분석하기 어렵게 된다. 그런 것을 방지하는 샘플링 기법이다.
- 일정한 간격으로 데이터 선택
- 시계열 데이터에서 주기성이 있을 때 주의 필요
군집 샘플링(Cluster Sampling, 짒락 추출)
- 데이터를 클러스터로 나누고 일부 클러스터 전체를 선택
- 지역별, 시간대별 데이터에서 유용
- 클러스터 내 유사성이 높을 때 효과적
ℹ️알아두기: 샘플링을 한국어로 표본추출이라고 하듯이 다른 샘플링도 모두 한국어 명칭이 있지만 다소 어려운 한자어로 되어있다. 오래전부터 사용하는 용어이고 최근에는 많이 사용하지 않지만 알아 둘 필요는 있다.
샘플 크기 결정 가이드라인
- 탐색적 분석: 1만~10만 건 (빠른 패턴 파악)
- 모델 개발: 전체의 10~30% (충분한 학습 데이터)
- 통계적 검정: 효과 크기와 검정력에 따라 계산
- A/B 테스트: 최소 감지 효과와 유의수준에 따라 결정
💡실무 팁: 샘플링 후에는 반드시 주요 변수들의 분포가 원본과 유사한지 확인해야 한다. 특히 타겟 변수의 분포는 필수적으로 검증해야 한다.