모집단과 표본

김요한·2024년 8월 2일

통계학

목록 보기
4/30

모집단과 표본

모집단은 전체 표본의 일부이다

모집단

  • 관심의 대상이 되는 전체 집단
    es)한 국가의 모든성인

표본

  • 모집단에서 추출한 일부.
    ex)그 국가의 성인 중 일부를 조사(무작위)

표본을 사용하는 이유?

현실적인 제약

  • 비용과 시간
    • 전체 모집단 조사의 경우 비용 및 시간이 많이 들어 불가능하고 비효율적임
      표본 조사는 자원을 절약하고 유의미한 도출을 할 수 있는 방법임
  • 접근성
    • 모든 데이터 수집이 물리적으로 불가능.
      ex) 특정 질병에 걸린 모든 환자의 데이터 수집 어려움

대표성

  • 표본의 대표성
    • 잘 설계된 표본은 모집단의 특성 반영. 표본에서 얻은 결과를 모집단 전체에 일반화 할 수 있다.
    • 무작위로 표본을 추출하면 편향을 최소화하고 모집단의 다양한 특성을 포함할 수 있다.

데이터 관리

  • 데이터 처리의 용이성
    • 표본 데이터 사용은 전체 데이터를 다루는 것보다 데이터 처리,분석이 용이함. 작은 표본은 큰 데이터 셋보다 컴퓨팅 자원 부담이 적다
  • 데이터 품질 관리
    • 작은 표본에서 데이터 품질을 더 쉽게 관리하고, 오류나 이상값을 식별하여 수정 가능

모델 검증 용이

  • 모델 적합도 테스트
    • 표본 데이터를 사용하여 통계적 모델을 검증 가능. 모델이 표본 데이터에 잘 맞으면, 모집단에서도 잘 맞을 가능성 높음

전수조사

  • 모집단 전체를 조사하는 방법. 대규모일 경우 비용과 시간이 많이 듦.

표본조사

  • 표본만을 조사하는 방법. 비용과 시간이 적게 들지만, 표본이 대표성을 (한 쪽에 치우치면 안됨)가져야함.

2)실제 어떻게 사용되나?

  • 도시연구
    • 한 도시 모든 가구(모집단) 중 100가구(표본)을 조사하여 평균 전력 사용량을 추정.
  • 의료연구
    • 특정 치료법의 효과를 알아보기 위해 전체환자 대신 표본으로 추정을 바탕으로 결론 도출
  • 시장조사
    • 소비자 선호도를 파악하기 위해 모든 소비자 대신 무작의 표본을 통해 전체 시장 트렌드 추정
  • 정치 여론 조사
    • 선거 전 여론 조사로 전체 유권자의 투표 경향을 추정하여 선거 결과 예측
import numpy as np
import matplotlib.pyplot as plt
# 모집단 생성 (예: 국가의 모든 성인의 키 데이터)
population = np.random.normal(170, 10, 1000)
# 표본 추출
sample = np.random.choice(population, 100)

plt.hist(population, bins=50, alpha=0.5, label='population', color='blue')
plt.hist(sample, bins=50, alpha=0.5, label='sample', color='red')
plt.legend()
plt.title('population and sample distribution')
plt.show()

numpy.random이란?

  • 이 모듈은 numpy 라이브러리 일부, 다양한 확률 분포에 따라 난수를 생성하는 기능 제공. 데이터 분석,시뮬레이션 방법 등 다양한 분야에서 사용
  • np.random.normal
    • 함수는 정규분포(가우시안 분포)를 따르는 난수 생성.
    • 정규분포는 평균과 표준편차를 중심으로 데이터가 대칭적으로 분포하는 분포.
    • 코드 설명
numpy.random.normal(loc=0.0, scale=1.0, size=None)
  # -2.3000549144325992  랜덤하게 생성 

-loc (float) : 정규분포의 평균 (기본값 : 0.0)
-scale (float) : 정규분포의 표준편차 (기본값 : 1.0)
-size (int 또는 tuple of ints) : 출력 배열의 크기 (기본값: None,즉 스칼라 값 반환)

np.random.choice이란?

  • 주어진 배열에서 임의로 샘플링하여 요소를 선택
  • 지정된 배열에서 무작위로 선택된 요소를 반환
  • 코드설명
    numpy.random.choice(a, size=None, replace=True, p=None)
  • a (1-D array-like- or int): 샘플링할 원본 배열. 정수인 경우
    np.arange(a) 와 동일하게 간주됨.
  • size (int 또는 tuple of ints): 출력 배열의 크기 (기본값:None, 즉 단위 값 반환)
  • replace (boolean): 복원 추출 여부를 나타냄. True면 동일한 요소가 여러번 선택 될 수 있음. (기본값 : True)
  • p (1-D array-like, optional) : 각 요소가 선택될 확률. 배열의 합은 1이어야 합니다.

    plt.hist란?

  • Matplotlib 라이브러리에서 히스토그램을 그리는 함수. 데이터의 분포를 시각화 하는데 유용한 도구
  • bins
    • 데이터 몇개의 구간으로 나눌 것인지에 대한 것
    • 정수나 리스트로 입력 가능
      • 정수: 빈의 개수를 지정
      • 리스트: 각 빈의 경계를 직접 지정(140~150, 150~160... 이렇게 경계를 지정
  • alpha
    • 히스토그램 투명도 지정. 0~1 사이 값
  • label
    • 히스토그램 레이블 지정. 범례를 추가하는데 사용
  • color
    • 히스토그램 막대의 색상을 지정

0개의 댓글