2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

강의자료/인공지능수학

[인공지능수학] 신뢰구간(Confidence Interval)

원당컴1 2023. 2. 24. 13:18

1. 신뢰구간이란?

신뢰구간은 모수가 실제로 포함될 것으로 예측되는 범위를 의미한다.

대통령 선거때 출구조사를 통해서 신뢰수준 95% 이내에서 투표자의 몇 퍼센트가 후보자 A를 지지하고 있다는 말을 많이 듣는다. 이때 95%는 신뢰구간이며 몇 퍼센트는 A후보의 지지율이다.

신뢰구간을 사용하는 이유는 전체 표본을 수집하는데 시간과 비용이 많이 들기 때문에 표본을 구해서 모집단의 평균 범위를 추정한다.

 

2. 남산도서관 데이터로 알아보는 신뢰구간

2023.02.10 - [강의자료/인공지능수학] - [인공지능수학] 중심극한정리

지난 시간 남산도서관 데이터를 활용하여 중심극한 정리 를 알아 보았다.

남산 도서관 대출 건수를 모집단으로 1000개의 표본을 뽑아 계산한 표본의 평균이 표본의 갯수가 많을 수록 모집단의 평균에 가까워 진다는 것을 보았다.

실제 생활에서는 모집단에 대한 모든 정보를 구하기에는 시간과 비용이 많이 들거나 혹은 모집단의 정보를 구할 수 없는 경우도 많다. (모든 대출 데이터를 활용하고자 할 때 남산도서관 데이터 자체가 우리나라 전국 도서관에서 대출하는 것을 의미하지는 않는다. 따라서 남산도서관 데이터 자체도 표본에 불과한 것이다.)

그런데 만약 딱 하나의 표본만 있다면 모집단의 평균을 추정할 수 있을까?

남산 도서관의 파이썬 도서의 대출건수를 사용해 신뢰구간을 어떻게 계산하는지 알아보자.

먼저 전체데이터에서 컴퓨터관련 도서중 파이썬 도서만 골라내자.

컴퓨터관련 도서는 주제분류 00 으로 시작한다.

python_books_index = ns_book7['주제분류번호'].str.startswith('00') & \
                     ns_book7['도서명'].str.contains('파이썬')
python_books = ns_book7[python_books_index]

주제분류번호가 00으로 시작하고 도서명에 파이썬을 포함하는 행을 True, 아니면 False 로 만들어서 True행만 선택해서 python_books로 만들었다.

len(python_books)

251

파이썬을 포함하는 책은 251권인 것을 알 수 있다. 여기서 파이썬 도서의 대출건수의 평균을 확인해 보면 다음과 같다.

python_mean = np.mean(python_books['대출건수'])
python_mean

14.749003984063744

파이썬 도서의 평균 대출건수는 약 14.7권이다.

이제 표준점수( https://wondangcom.tistory.com/2441 ) 공식과 중심극한 정리를 연력하여 모집단의 평균범위를 예측해 보자.

모집단의 평균을 알 수 없고 표본의 평균만 알 때 표본의 평균에 대한 z점수 공식은 다음과 같다.

z = (x-모집단의평균)/표본평균의 표준편차

표본평균의 표준편차 = 모집단의 표준편차/샘플개수의제곱근 으로 계산했었다.

 

모집단의 평균을 남기고 다른 항을 정리하면 표본의 평균에서 z점수와 표준오차를 곱한 값을 빼는 식이 완성된다.

따라서 모집단의 평균 = 14.75 - z(모집단의 표준편차/샘플개수의제곱근) 과 같이 표현할 수 있다

남산도서관의 파이썬 대출건수를 표본으로 하여 우리나라 모든 도서관의 파이썬 도서 대출건수를 모집단으로 생각하여 구해 보자.

이때 중심극한 정리를 적용할 수 있다.

모집단의 표준편차가 표본의 표준편차와 비슷하다고 가정하는 것이다.

따라서 모집단의 표준편차 대신 표본이라고 할 수 있는 남산도서관의 파이썬 도서 대출건수로 표준 편차를 구한 다음 표준 오차를 구하자.

python_std = np.std(python_books['대출건수'])
python_se = python_std / np.sqrt(len(python_books))
python_se

0.8041612072427442

표본평균의 표준편차는 0.8 이다.

마지막으로 표준오차에 곱할 적절한 z점수를 결정해야 한다. 여기서는 이 표본의 평균이 모집단의 평균을 중심으로 95% 이내 구간에 포함된다고 확신하고 싶다.

평균을 중심으로 95%영역을 차지하면 좌우에는 각각 2.5%가 남는다.

따라서 95% 비율에 해당하는 z점수를 알려면 norm.ppf() 메서드에 각각 0.025,0.975를 입력하면 된다.

stats.norm.ppf(0.975)

1.959963984540054

stats.norm.ppf(0.025)

-1.9599639845400545

정규분포이므로 부호만 다르고 값은 같다.

앞에서 구한 표준오차 python_se와 z점수를 곱하여 파이썬 도서의 대출건수 평균인 python_mean 데이터 프레임이 속할 범위를 구해 보자

print(python_mean-1.96*python_se, python_mean+1.96*python_se)

13.172848017867965 16.325159950259522

이 결과는 모집단의 평균이 13.17~16.32 사이에 놓여 있을거라 95% 확신한다고 말한다.

또는 95% 신뢰구간에서 파이썬 도서의 모집단 평균이 13.2에서 16.3 사이에 놓여 있다고 말한다.

 

 

 

참고]

한빛미디어 - 혼자공부하는 데이터 분석

사업자 정보 표시
원당컴퓨터학원 | 기희경 | 인천 서구 당하동 1028-2 장원프라자 502호 | 사업자 등록번호 : 301-96-83080 | TEL : 032-565-5497 | Mail : icon001@naver.com | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기

'강의자료 > 인공지능수학' 카테고리의 다른 글

[기초수학] 지수함수  (15) 2023.03.21
[기초수학] 제곱근  (19) 2023.03.10
[인공지능수학] 중심극한정리  (17) 2023.02.10
[인공지능수학] 누적분포  (14) 2023.02.03
[인공지능수학] 표준점수  (18) 2023.01.27