알고 싶은 전체와 실제로 본 일부
모집단은 네 질문의 대상 전체야. 이번 선거 유권자 전부일 수도 있고, 앞으로 서비스가 만날 요청 전부일 수도 있어. 표본은 그중 네가 실제로 본 일부. 통계는 이 일부를 들고 전체의 성질을 추론하는 기술이야.
모집단을 ‘세상 모든 데이터’처럼 무한히 잡지 마. 질문에 맞게 먼저 잘라야 해. 서울 성인의 평균 통근시간을 묻는데 앱 사용자만 뽑았다면? 표본 크기보다 모집단과 표집틀이 어긋난 게 먼저 문제.
큰 표본만으로는 부족해
무작위 표본에서 수가 늘면 평균 같은 추정량의 우연한 흔들림은 줄어들어. 하지만 선택 편향, 무응답 편향, 측정 오류는 숫자를 키운다고 증발하지 않아. 편향된 설문을 백만 명에게 받아도 틀린 값을 더 정밀하게 추정할 뿐이야.
- 대표성: 중요한 하위집단이 빠지지 않았나?
- 선택 과정: 누가 어떤 확률로 표본에 들어왔나?
- 독립성: 같은 가구 응답이나 한 봇 네트워크의 기록을 독립 관측처럼 여러 번 센 건 아닌가?
- 분포 변화: 표본을 모은 때와 모델을 쓸 때의 환경이 달라지지 않았나?
머신러닝에서는
학습·검증·시험 데이터는 네 모델이 배포 환경에서 만날 입력의 표본이야. 표본 안 규칙만 외우지 않고 새 입력에 일반화시키고 싶지? 데이터 수만 보지 말고 수집 경로, 라벨 품질, 시간에 따른 변화까지 봐. 데이터 품질 = 표본의 크기 + 표본이 태어난 과정. 둘 다야.
엄청나게 큰 국 솥(population)에서 숟가락(np.random.choice)으로 딱 10방울(size=10)만 떠본다. 로봇은 작은 표본만 맛보고도 솥 전체의 염도를 맞히는 연습을 하는 중이다. 10방울보다는 한 국자가 더 정확하하다. 로봇은 데이터가 많아질수록 모집단의 진실에 다가간다. 헐! (로봇은 양질의 많은 데이터에 집착한다.)