인공지능을 위한 통계학 기초

데이터 중심 지표- 평균(산술평균, 기하평균), 중앙값, 최빈값

최 수빈 2025. 2. 2. 15:42

 

데이터 중심 지표는 데이터셋의 전반적인 특성을 요약하고, 데이터의 패턴을 이해하는 데 사용됨

 

평균(Mean)

 

데이터의 중심 경향을 나타내는 대표적 지표

일반적으로 데이터의 대표값으로 사용됨

 

산술평균(Arithmetic Mean)

 

모든 값을 더한 후 값의 개수로 나눈 값

가장 일반적인 평균의 개념

 

x̄ = (x₁ + x₂ + ... + xₙ) / n

 

  • 계산이 간단하고 직관적
  • 데이터 전체를 고려하여 대표값을 제시
  • 극단값(이상치, outlier)에 민감

사용 예 : 학생들의 평균 점수, 평균소득, 평균 온도 등

 

 

기하평균(Geomertic Mean)

 

모든 값을 곱한 후 값의 개수만큼 제곱근을 취한 값

주로 비율이나 변화율이 포함된 데이터에서 사용

 

G = ⁿ√(x₁ ∙ x₂ ∙ ... ∙ xₙ)

 

  • 극단값의 영향을 줄일 수 있음
  • 비율, 성장률 등 로그 변환이 필요한 데이터에서 유용
  • 값이 0 이하인 경우 계산이 어려움

사용 예: 투자 수익률의 평균, 인구 증가율, 복리 계산 등

 

 

평균의 활용

 

  • 데이터의 중심 경향성 측성
    데이터의 전반적인 경향을 파악하는 데 사용
  • 데이터 정규화
    머신러닝에서 Z-score 정규화 또는 표준화를 수행
  • 시계열 데이터에서 이동 평균(moving average)을 사용하여 추세를 분석
  • 머신러닝의 특성(feature) 스케일링
  • 딥러닝의 배치 정규화 (Batch Normalization)장점: 극단값의 영향을 줄일 수 있음
  •  

 

중앙값(Median)

 

데이터를 크기 순으로 나열했을 때 가운데 위치한 값

이상치의 영향을 덜 받기 때문에 데이터 분포가 비대칭적일 때 유용

 

  • 데이터의 모든 값을 고려하지 않음
  • 데이터의 개수가 홀수일 때
    1, 2, 3, 4, 5 → Median = 3
  • 데이터의 개수가 짝수일 때
    1, 2, 3, 4, 5, 6 → Median = 3, 4

 

중앙값의 활용

 

  • 비대칭 분포의 중심 경향성 측정
    이상치가 많은 경우 평균보다 유용
  • 이상치에 강건한(robust) 분석
    예 : 소득 불평등, 주택 가격 분석 등 사회경제적 지표 분석

 

 

최빈값(Mode)

 

데이터에서 가장 자주 나타나는 값

주로 범주형 데이터에서 사용

 

  • 질적 데이터(범주형 데이터)에서도 사용 가능
  • 여러 개의 최빈값이 존재할 수 있음
    → 다봉 분포(multimodal distribution)

사용 예 : 가장 많이 팔린 상품, 가장 흔한 혈액형, 가장 많이 발생한 질병 등

 

최빈값의 활용

 

  • 범주형 데이터의 대표값 분석
    고객 선호도 분석에서 최빈값을 사용하여 가장 인기 있는 제품을 파악
  • 다봉 분포(multimodal distribution)의 특성 파악
    데이터에 여러개의 대표값이 존재하는 경우 유용
  • 텍스트 데이터에서 가장 빈번한 단어 분석
    자연어 처리에서 빈도 분석
  •  

 

Python 코드 예제

import numpy as np
from scipy.stats import mode

data = [12, 15, 15, 18, 22, 25, 28, 30]

#산술평균
print("산술평균:", np.mean(data))

#기하평균
print("기하평균:", np.prod(data) ** (1 / len(data)) #np.geometric_mean(data) 사용 가능

#중앙값
print("중앙값:", np.median(data))

#최빈값
print("최빈값:", mode(data, keepdims=True)[0][0])
#print("최빈값:", mode(data, keepdims=True).mode[0])
#print("최빈값:", max(set(data), key=data.count))

"""
최빈값 첫번째 코드 : mode(data, keepdims=True)[0][0]은 SciPy의 반환값(최빈값과 개수)을 인덱싱해서 가져옴
최빈값 두번째 코드 : mode(data, keepdims=True).mode[0]은 .mode 속성에서 가져옴

둘 다 같은 array([15])에서 첫 번째 값을 가져오기 때문에 결과가 동일
"""

"""
산술평균: 20.625
기하평균: 19.674775277183244
중앙값: 20.0
최빈값: 15
"""

 


 

평균, 중앙값, 최빈값은 데이터의 중심 경향을 파악하는 지표이며, 각각의 특성과 활용 목적이 다름

데이터의 특성에 따라 적절한 지표를 선택하여 분석하는 것이 중요

 

 

 

 

'인공지능을 위한 통계학 기초' 카테고리의 다른 글

데이터 산포도  (1) 2025.02.10
데이터 종류의 이해  (0) 2025.01.19
통계학과 데이터 분석  (1) 2025.01.15