본문 바로가기
프로그래밍/Python

파이썬(Python) statistics 모듈을 이용한 통계량 계산하기

by 부자 꽁냥이 2023. 3. 25.

파이썬(Python)에서 statistics 모듈을 사용하면 여러 가지 통계량을 계산할 수 있다. 이번 포스팅에서는 statistics 모듈을 이용하여 어떤 것들을 할 수 있는지 알아보자.


   statistics 모듈

statistics 모듈은 파이썬 버전이 변함에 따라서 새로운 기능이 추가되었다. 이 포스팅은 파이썬 버전 3.11.2를 기준으로 작성한 것이다.

1) 통계량 계산하기

아래 코드는 statistics 모듈을 이용하여 계산할 수 있는 통계량들이다. statistics가 제공하는 더 자세한 통계량들을 알고 싶다면 statistics 개발 문서를 참고하기 바란다.

 

import statistics as st

a = [1,2,4,5,5,6]
b = [3,6,6,8,9,10]

print()
print('통계량')
print('평균', st.mean(a))
print('조화 평균', st.harmonic_mean(a))
print('기하 평균', st.geometric_mean(a))

print()
print('중앙값', st.median(a))
print('작은 중앙값', st.median_low(a))
print('큰 중앙값', st.median_high(a))
print('그룹 중앙값', st.median_grouped(a)) 
print('데이터의 3등분점', st.quantiles(a, n=3))
print()
print('최빈값', st.mode(a))
print('표본 분산', st.variance(a)) ## 분모를 len(a)-1로 설정
print('표본 표준 편차', st.stdev(a)) ## 표본 분산의 양의 제곱근
print('모분산', st.pvariance(a)) ## 분모를 len(a)로 설정
print('모표준편차', st.pstdev(a)) ## 모분산의 양의 제곱근
print()
print('상관 계수', st.correlation(a, b))
print('공분산', st.covariance(a, b))

 

 


2) 단순 선형 회귀

statistics 모형을 이용하여 단순 선형 회귀(설명 변수, 반응 변수가 하나인 회귀) 모형을 추정할 수 있다. 

 

slope, intercept = st.linear_regression(a, b) ## 기울기와 절편 추정
print('3에서의 추정값', slope*3+intercept)

 


3) 정규분포 확률 변수

NormalDist 객체를 이용하면 정규분포와 관련된 여러가지 일을 할 수 있다.

 

norm_rv = st.NormalDist(mu=0, sigma=1) ## 평균이 0이고 표준편차가 1인 정규분포
print('5개 정규난수', norm_rv.samples(5, seed=100))
print('0에서의 확률밀도함수값', norm_rv.pdf(0))
print('0에서의 누적분포함수값', norm_rv.cdf(0))
print('왼쪽 꼬리 넓이 0.05를 만족하는 x값', norm_rv.inv_cdf(0.05))

 


댓글


맨 위로