★ 시작에 앞서 ★
해당 내용은 '<현대통계학-제6판>, 다산출판사, 2024' 에 나와있는 챕터별 연습문제를 교재를 응용하여 풀이하고, 수학적인 문제에 대한 답변을 파이썬으로 구현해보기 위해 작성하는 글이다.
해당 답변을 구현하는 방식은 답안지 없이 필자가 스스로 구현하는 것이므로, 정확한 (혹은 가장 효과적인) 답변이 아닐 수 있다. 이 글의 목적은 통계학 공부와 파이썬 프로그래밍 언어 공부를 동시에 하고자 함이며, 통계학을 공부하고 싶으신 분들은 해당 교재를 구매하는 것을 추천한다.
또한, 연습문제 번호 및 문제 내용은 필자가 임의대로 작성하였으며, 교재와는 다를 수 있다.
잘못된 부분이 있다면 언제든 피드백 부탁 드립니다! 감사합니다
이전 내용
챕터8 주요 개념-1
모집단의 전수조사가 시간적, 경제적 이유로 어려운 경우 모집단의 일부인 표본(sample)을 뽑아 표본으로부터 계산된 통계량을 이용하여 모집단의 특성인 모수(parameter)를 측정하며, 이를 추론통계학(inferential statistics) 이라고 한다.
[표본추출방법]
표본조사에 의한 모집단의 이해는 필연적으로 오차를 수반한다. 표본추출의 오차는 편의(bias)의 우연성(change)에 의해 발생되는데,
- 우연에 의한 오차는 표본의 크기를 증가시킴으로써 감소시킬 수 있다.
- 편의에 의한 오차는 표본추출방법을 과학적으로 계획함으로써 줄일 수 있다.
★ 표본추출의 편의: 표본을 추출할 때 모집단의 구성원 중에서 특수한 성격을 가지고 있는 구성원을 선호하는 경향.
(발생 원인: 연구자의 고의적이고 의식적인 행동, 표본추출의 불완전한 계획 등)
◆ 확률표본추출(probability sampling)
모집단에 속해 있는 각 구성원이 표본으로 선택될 가능성이 일정하게 되도록 하는 표본추출방법. (무작위추출)
무작위 추출 시 표본의 크기가 크면 난수표(random number)를 사용하는 것이 효과적이다.
확률표본추출의 방법에 의하면, 특정 구성원이 선호 대상이 되는 일은 없어지므로 표본추출의 편의는 제거되지만 우연성에 의한 오류는 없어지지 않는다. 그럼에도 통계학에서는 무작위추출을 가정하고 있는데, 그 이유는 확률표본에서 생길 수 있는 우연성에 의한 오차는 정규분포의 형태를 이루므로 오차의 정도를 미리 예측할 수 있기 때문이다.
표본의 통계치가 오차를 포함하고 있음에도 불구하고 여전히 가치 있는 이유는 오차의 정도를 추정하여 표본의 신빙성을 예측할 수 있기 때문이다.
1) 단순무작위추출(simple random sampling)
난수표를 사용하거나 기타의 방법을 동원하여 모집단에 포함되어 있는 모든 구성원이 뽑힐 확률을 각각 같도록 하는 추출방법.
모집단의 모든 구성원의 성격이 서로 비슷하고, 분석도 단일성격에 대한 것일 때 효과적.
2) 층별추출(stratified sampling)
표본을 뽑기 전에 모집단을 성격에 따라 여러 집단 또는 여러 층으로 분류한 다음 각 층에서 표본을 추출하는 방법.
3) 군집추출(cluster sampling)
표본을 뽑을 때 직접 개별적인 구성원을 선택하는 것이 아니라 자연적 또는 인위적인 집단을 먼저 뽑고, 그 집단 중에서 필요한 만큼의 표본을 추출하는 경우.
4) 체계적 추출(systematic sampling)
하나의 모집단배열이 무작위로 되어 있을 때 체계적 수단을 동원하여 추출하는 방법.
◆ 비확률표본추출(nonprobability sampling)
확률표본추출이 불가능하거나 비경제적일 경우에 사용되는 방법.
연구자가 모집단과 비슷하다고 생각되는 표본을 임의로 추출해 내는 방법.
연구자의 주관에 의해 표본이 선택되므로, 오차에 대한 분석이 불가능하게 된다.
1) 편의추출(covenience sampling)
모집단에서 연구자가 가장 손쉽게 구할 수 있는 구성원을 선택하여 표본으로 삼는 표본추출방법.
이 방법에 의한 표본추출결과는 표본추출오차가 크고 그 결과를 일반화하기에는 설득력이 약하나, 연구목적이 모집단의 성격을 개략적으로 알아보기 위한 것일 때에는 사용될 수 있으며, 시간이나 비용면에서 매우 경제적인 방법이다.
2) 판단추출(judgment sampling)
모집단의 성격에 대하여 어느 정도 전문지식이 있는 사람이, 그가 판단하기에 가장 효과적이라고 생각되는 표본을 찾는 방법.
모집단의 성격이 매우 이질적이거나, 여러 가지 사정으로 인하여 표본의 수가 적을 때 효과적으로 사용된다.
이 방법에 의하면 오차가 일어날 가능성이 크지만, 모집단의 성격에 대한 전문적인 지식이 있는 경우에는 확률표본추출방법에 비해 더 효과적일 수도 있다.
- 표본추출오차(sampling error): 모집단을 대표할 수 있는 전형적인 구성요소를 표본으로 선택하지 못했기 때문에 발생하는 오류. 아래의 두 가지 요인에서 발생한다.
- 표본의 크기 때문에 생기는 우연에 의한 오류
- 모집단을 대표할 수 없는 비전형적인 구성요소를 표본으로 뽑았기 때문에 일어나는 오류
- 비표본추출오차(non-sampling error): 표본의 선택 방법과 관계없이 발생하는 오차. 주로 표본의 특성값을 측정하는 방법이 부정확(측정 오차)하기 때문에 발생하는 경우가 많다.
- 유한모집단(finite population): 모집단이 크건 작건 관계없이 모집단의 구성원 수가 유한한 모집단
- 무한모집단(infinite population): 모집단이 무한인 경우
- 통계량(statistic): 표본을 구해서 이 표본의 분포특성을 계수화하기 위해 사용되는 방법.
- 표집분포(sampling distribution): 모집단에서 일정한 크기로 뽑을 수 있는 표본을 모두 뽑았을 때, 그 모든 표본의 특성치, 즉 통게량의 확률분포를 말한다. 표집본포를 알게 되면 내가 뽑은 표본의 평균이 어느 위치에 있는지, 모집단의 평균과는 많이 떨어져 있는지 등을 알 수 있다.
- 평균의 표집분포(sampling distribution of mean): 특정한 모집단에서 동일한 크기로 가능한 모든 표본을 뽑아서 각각의 표본들의 평균을 계산했을 때, 그 평균들의 확률분포.
- 모집단의 평균분포와 평균의 표집분포
1) 모집단이 정규분포일 때
: 평균의 표집분포는 표본의 크기 n에 관계 없이 언제나 정규분포를 이루며, 표집분포의 평균과 표준편차는 아래와 같다.
[예제]
Q1. 어느 결혼정보회사의 전체 회원이 500명인데, 이들의 평균 연령은 32.3세다. 이들 중에서 n=10인 표본을 모두 뽑았을 때, 이 표집분포의 평균은?
▶ 위의 식에 의하면 표본평균의 평균은 모집단의 평균과 언제나 일치하므로, 정답은 32.3세다.
Q2. 어느 음료수 공장에서 생산되는 사이다의 평균 용량은 360ml 이고, 이 모집단의 분산은 50이라고 한다. n=10으로 하여 표본을 뽑을 때, 그 표본평균의 기댓값과 분산은?
▶ 표본평균의 기댓값(또는 평균) : 360
표본평균의 분산: 분산/n = 50/10 = 5
또한, 이 분포에서 Z값은 아래와 같이 구할 수 있다.
2) 모집단이 정규분포가 아닐 때
: 표집분포는 표본의 크기 n을 크게 할수록 정규분포에 접근하게 되며, 이를 중심극한정리(central limit theorem)라 한다. 이때에도 역시 표집분포의 평균은 모집단의 평균과 일치하고, 표집분포의 표준편차는 모집단의 표준편차를 표본크기의 제곱근으로 나눈 것과 같다.
표본이 클수록 평균의 표집분포는 정규분포를 이루며, 표본으로부터 나타난 결과를 정규분포의 성격에 의하여 분석할 수 있다.
대체로 표본의 크기가 30이상이면 모집단의 분포 모양에 관계없이 평균의 표집분표는 정규분포를 이룬다.
3) 모집단의 크기가 작을 때
: 모집단이 작더라도 복원추출을 한다면 무한모집단과 같은 효과를 얻을 수 있어서 조정이 필요없지만, 비복원추출일 때에는 조정을 해야 한다.
N: 모집단의 크기 / n: 표본의 크기
[유한모집단일 때 Z값]
챕터8 예제1 및 파이썬 풀이
Q. 어느 전자회사에서 생산하는 스마트워치는 음악만 재생한다고 할 때 평균수명은 5,600 시간이고 표준편차는 4,000 시간이며, 분포는 정규분포를 이룬다고 한다. 이 회사제품에서 100개의 스마트워치를 뽑아 평균 작동 시간을 측정했을 때, 6,400 시간 이상일 확률은?
# 전자회사 스마트워치
from scipy import stats
import numpy as np
# 평균과 표준편차 설정
mu = 5600 # 평균
sigma = 4000 # 표준편차
n = 100 # 샘플개수
X = 6400 # 목표 계산 시간
# 평균 표준 오차 계산
standard_error = sigma / np.sqrt(n)
# Z 점수 계산
z = (X - mu) / standard_error
# X까지의 누적 확률 계산(P(X <= 6400))
cdf_value = stats.norm.cdf(z)
# 평균이 6400을 초과할 확률 계산(P(X > 6400))
p = 1 - cdf_value
# 결과 출력
print(f'작동 시간이 6,400 시간 이상일 확률: {p * 100:.2f}%')
Z-점수가 2라는 것은, 6,400시간이 평균보다 2 표준 편차만큼 크다는 의미이다. Z=2에 해당하는 누적 확률은 약 0.9772이며, 이 값은 6,400시간 이하일 확률이 97.72%라는 의미이다.
따라서, 6,400 이상일 확률을 구하려면 100 - 97,72(6400 이하일 확률) 을 빼면 되며, 그 값은 2.28이다.
챕터8 예제2 및 파이썬 풀이
Q. S 회사의 직원은 500명인데 이들의 임금이 평균 4,350,000원, 표준편차 200,000인 정규분포를 이룬다면, 이들 중에서 비복원추출로 100명을 뽑을 때 X- 분포의 평균과 표준편차는 어떻게 될까?
# S회사 직원
from scipy import stats
# 평균과 표준편차, 표본개수 설정
mu = 4350000
sigma = 200000
total = 500 # 전체 직원
n = 100 # 표본
# 표집분포의 평균
mean = mu
# 표집분포의 표준편차
sd = (sigma / n**0.5) * ((total - n) / (total -1))**0.5
print('표집분포의 표준편차:{:.1f}'.format(sd))
X-분포의 평균은 평균과 동일하다 (4,350,000원)
다음 내용
'[파이썬 Projects] > <파이썬 - 수학 | 통계학>' 카테고리의 다른 글
[파이썬+통계학] 현대통계학 연습문제 파이썬 구현(ch.8)-3 (4) | 2024.10.13 |
---|---|
[파이썬+통계학] 현대통계학 연습문제 파이썬 구현(ch.8)-2 (1) | 2024.10.13 |
[파이썬+통계학] 현대통계학 연습문제 파이썬 구현(ch.7)-2 (3) | 2024.10.11 |
[파이썬+통계학] 현대통계학 연습문제 파이썬 구현(ch.7)-1 (0) | 2024.10.11 |
[파이썬+통계학] 현대통계학 연습문제 파이썬 구현(ch.6)-2 (0) | 2024.10.11 |