TOP
class="layout-aside-left paging-number">
본문 바로가기
[파이썬 Projects]/<파이썬 - 수학 | 통계학>

[파이썬+통계학] 현대통계학 연습문제 파이썬 구현(ch.8)-3

by 기록자_Recordian 2024. 10. 13.
728x90
반응형
★ 시작에 앞서 

 
해당 내용은 '<현대통계학-제6판>, 다산출판사, 2024' 에 나와있는 챕터별 연습문제를 교재를 응용하여 풀이하고, 수학적인 문제에 대한 답변을 파이썬으로 구현해보기 위해 작성하는 글이다.
해당 답변을 구현하는 방식은 답안지 없이 필자가 스스로 구현하는 것이므로, 정확한 (혹은 가장 효과적인) 답변이 아닐 수 있다. 이 글의 목적은 통계학 공부와 파이썬 프로그래밍 언어 공부를 동시에 하고자 함이며, 통계학을 공부하고 싶으신 분들은 해당 교재를 구매하는 것을 추천한다.
또한, 연습문제 번호 및 문제 내용은 필자가 임의대로 작성하였으며, 교재와는 다를 수 있다.
 
잘못된 부분이 있다면 언제든 피드백 부탁 드립니다! 감사합니다


이전 내용
 

[파이썬+통계학] 현대통계학 연습문제 파이썬 구현(ch.8)-2

★ 시작에 앞서 ★ 해당 내용은 ', 다산출판사, 2024' 에 나와있는 챕터별 연습문제를 교재를 응용하여 풀이하고, 수학적인 문제에 대한 답변을 파이썬으로 구현해보기 위해 작성하는 글이다.해

puppy-foot-it.tistory.com


챕터8 주요 개념: 표집분포, 카이제곱분포, 이항분포의 정규근사법,
비율의 표집분포, 평균의 표집분포, 분산의 표집분포
챕터8 연습문제1

 

Q. 어느 회사에서 생산되는 타이어의 수명은 평균 800 시간이고 표준편차는 60시간인 정규분포를 이룬다고 한다. 16개의 타이어를 표본으로 했을 때 평균 수명이 790시간과 810시간 사이에 있을 확률은?

# 타이어 수명
from scipy import stats

mu = 800 #평균수명시간
s = 60 # 표준편차
n = 16 # 표본의 수

# 평균 표준 오차 계산
se = s / (n **0.5)

# 각 시간별 누적분포함수 계산
cdf_790 = norm.cdf(790, loc=mu, scale=se)
cdf_810 = norm.cdf(810, loc=mu, scale=se)

# 확률 구하기
p = cdf_810 - cdf_790

# 결과 출력
print(f'수명이 790~810 시간일 확률: {p*100:.2f}%')


챕터8 연습문제2

 

Q. 어느 취업포털사이트가 500명의 구직자를 조사한 결과 한 번 면접을 보는 데 드는 비용이 평균 5.02만 원이고 표준편차는 0.3만 원인 정규분포를 이룬다고 한다. 이 중 100명을 임의로 선택했을 때, 면접을 보는 데 드는 비용의 합이

1) 496만 원과 500만 원 이내에 있을 확률

2) 510만 원 이상일 확률

# 면접 비용
from scipy import stats

# 매개변수
mu = 5.02  # 1인당 평균 면접 비용 (단위: 만원)
s = 0.3    # 표준편차 (단위: 만원)
n = 100    # 표본의 수

# 전체 비용의 평균
mu_sum = mu * n

# 평균 표준 오차 계산
se = s / (n ** 0.5)

# CDF 계산
cdf_496 = norm.cdf(4.96, loc=mu, scale=se)
cdf_500 = norm.cdf(5.00, loc=mu, scale=se)
cdf_510 = norm.cdf(5.10, loc=mu, scale=se)

# 확률 구하기 (496-500만원 이내)
p_1 = cdf_500 - cdf_496

# 확률 구하기 (510만원 이상)
p_2 = 1 - cdf_510

# 결과 출력
print(f'496-500만원 이내 확률: {p_1*100:.2f}%')
print(f'510만원 이상일 확률: {p_2*100:.2f}%')


챕터8 연습문제3

 

Q. 어떤 오디션 프로에서 P씨는 투표결과 46%의 득표율을 얻어 탈락하였다. 만일 투표자 중에서 임의로 200명을 뽑아 그들에게만 투표권을 주었을 때 P씨가 과반수 이상의 표를 얻고 본선에 진출할 가능성은?

# 오디션 프로그램
from scipy import stats

n = 200 # 표본의 수
s_p = 0.46 # 성공비율
g_p = 0.5 # 본선에 진출할 득표율(50%)

if n * s_p >= 0.5:
    p = (s_p * (1 - s_p) / n)** 0.5
    print(f'표본비율: {p:.3f}')

    # p에 해당하는 z값 찾기
    z = (g_p - s_p) / p
    print(f'표본비율 p에 해당하는 Z값: {z:.2f}')

    # 득표율이 50% 이상일 확률 계산
    probability = 1 - stats.norm.cdf(z)
    print(f'득표율을 50% 이상 얻을 확률: {probability*100:.2f}%')
else:
    print("표본 크기가 너무 작아서 정규 근사치에 적합하지 않습니다.")

 

이항 분포에 대한 정규 근사법 사용하여 해결


챕터8 연습문제4

 

Q. 어느 배터리 회사에서 생산하는 전기차 배터리의 평균 수명은 5,000일이고, 표준편차는 200인 정규분포를 이룬다고 한다. 16개의 배터리를 표본으로 할때, 평균 수명이 4,900일과 5,100일 사이에 있을 확률은?

# 전기차 배터리
from scipy import stats

mu = 5000 #평균수명
s = 200 # 표준편차
n = 16 # 표본의 수

# 평균 표준 오차 계산
se = s / (n **0.5)

# 각 일자별 누적분포함수 계산
cdf_4900 = norm.cdf(4900, loc=mu, scale=se)
cdf_5100 = norm.cdf(5100, loc=mu, scale=se)

# 확률 구하기
p = cdf_5100 - cdf_4900

# 결과 출력
print(f'수명이 5100~4900 일 확률: {p*100:.2f}%')


챕터8 연습문제5

 

Q. 어느 한 아파트단지에서 50가구를 선정해서 월평균 관리비를 알아보았더니 535,000원이었다. 이 아파트단지는 350가구로 구성되어 있으며, 모집단의 월평균 관리비와 그 표준편차는 각각 510,000원, 70,000원이라고 한다. 표본평균이 535,000원 보다 클 확률은?

# 아파트 단지 관리비
from scipy import stats

#모집단
p_m = 510000
p_s = 70000
p_n = 350

#표본
s_m = 535000
m_n = 50

# 표준 오차
se = p_s / (m_n ** 0.5)

# Z 점수 계산
z = (s_m - p_m) / se

# 누적 확률 계산
cdf_value = stats.norm.cdf(z)

# 평균이 535000을 초과할 확률 계산
p = 1 - cdf_value

print(f'표본평균이 535,000원보다 클 확률: {p*100:.2f}%')


챕터8 연습문제6

 

Q. 어느 대학 인근 자취촌에는 3,500개의 자취방이 있다. 이들 모집단의 평균월세와 그 표준편차는 각각 510,000원, 280,000원이라고 한다. 이 중 500개의 표본을 임의로 선택했을 때, 표본평균이 535,000원보다 클 확률은?

# 자취방
from scipy import stats

#모집단
p_m = 510000 # 평균월세
p_s = 280000 # 표준편차
p_n = 3500 #자취방 수

#표본
m_n = 500

# 표준 오차
se = p_s / (m_n ** 0.5)

# Z 점수 계산
z = (s_m - p_m) / se

# 누적 확률 계산
cdf_value = stats.norm.cdf(z)

# 평균이 535000을 초과할 확률 계산
p = 1 - cdf_value

print(f'표본평균이 535,000원보다 클 확률: {p*100:.2f}%')


다음 내용

 

728x90
반응형