본문 바로가기
Statistics (통계)

[통계] 산술평균, 기하평균 with python

by muha0-0 2025. 8. 31.

평균 (Average, Mean)의 개념
평균은 주어진 자료에서 양의 '대표값' 혹은 '중앙'의 값을 찾는 개념이다. 우리가 가장 일반적으로 사용하는 평균은 '산술평균'으로 전체 데이터의 합을 데이터의 수로 나눈 값이다. 하지만 자료의 성격 (증가하고 있나? 고르게 분포해 있나? 등) 에 따라 사용할 수 있는 평균 계산방법이 다르다. 그 때 마다 산술평균, 기하평균, 그리고 조화평균을 사용해 데이터의 대표값을 정하면 된다. 
 
 
산술평균 (The Arithmetic Mean) 
자료의 합산을 자료의 수로 나눈 값을 의미하고 보통  ¯x 혹은  μ 로 표시된다. 
파이썬에서 계산할 때는 NumPy 라이브러리에서 mean() 함수를 사용하면 된다 

# First, let's import all the needed libraries.
import numpy as np
import pandas as pd
import scipy.stats as stat

 
 
기하평균 (Geometric Mean)
기하평균은 인플레이션, 경제성장률, 투자 수익률, 인구변화율 같이 데이터가 특정 기간안의 비율, 배수, 혹은 성장하는 모습을 띌 때, 즉 어떤 것의 증가나 감소 비율의 평균을 측정할 때 사용하면 왜곡 없이 계산할 수 있다. 기하평균은 대상 숫자들을 전부 곱하여 대상 숫자의 제곱근을 취해서 계산할 수 있다. 예를 들어 벌꿀의 평균 수가 5년동안 14 %, 26 %, 16 %, -38 %, -6 %로 변화해왔고, 첫 년도에 벌꿀의 숫자가 5,000마리였다면, 우리는 벌꿀개체수의 평균 증가, 감소 값을 어떻게 구할 수 있을까? 
 
일단 벌꿀의 수를 정의한다.

bees = np.array([14, 26, 16, -38, -6])  # rate of change in %

 
안타깝게도, 기하평균은 파이썬 기본 라이브러리에 탑재되어있지 않다. 그래서 scipy 라이브러리에서 gmean() 함수를 데려와야한다. 

round(stat.gmean(bees_growth_rel), 3)

 
 
출처: https://www.geo.fu-berlin.de/en/v/soga-py/Basics-of-statistics/Descriptive-Statistics/Measures-of-Central-Tendency/The-Mean/index.html