본문 바로가기
데이터분석/확률과 통계

분산, 표준편차, 변동(CV)계수

by Jaeseok_Shim 2020. 1. 1.
분산, 표준편차는 데이터의 산포(흩어짐)를 확인하는 통계량이며,
변동계수(CV지수, 변이계수)는 평균이나 단위가 다른 두 개 이상 자료를 비교할 때 쓰입니다.

 

1. 분산, 표준편차

 

분산과 표준편차는 데이터가 얼마나 흩어져있는지 추정하는 통계량입니다. 분산과 표준편차를 구하기 위해서는 먼저 편차를 구해야합니다.

 

편차(d)는 관측값(Xi)에서 평균값(X)을 뺀 수입니다.

 

$$편차(d_i) = 관측값(X_{i}) - 평균값(\overline{X})$$

 

분산은 이 편차제곱의 평균값입니다. 편차를 제곱하면 통계량이 커지고 마이너스 값이 없어집니다.

 

$$분산(S^2) = \frac{1}{n} \sum(d_i)^2$$

 

표준편차는 분산에 루트를 씌워구합니다.  분산은 값이 상당히 커질 수 있으므로 표준편차를 많이 사용합니다.

 

$$표준편차(S) = \sqrt{분산(S^2)}$$

 

파이썬으로 평균, 표준편차, 분산은 Numpy를 이용하여 쉽게 구할 수 있습니다.

import numpy as np

list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print('평균:', np.mean(list))
print('표준편차:', np.var(list))
print('분산:', np.std(list))

 

평균: 5.5
표준편차: 8.25
분산: 2.8722813232690143

 

2. 변동 계수(CV, Coefficient of Variation, 변동 지수)

 

변동계수(CV)는 표준편차를 평균으로 나눈 것이며, 두 그룹에서 가지고 있는 데이터의 흩어진 정도를 비교하는 경우에 사용합니다.

 

$$변동계수(CV) = 표준편차(S) / 평균(\overline{X})$$

 

예를들면, 학생 A, B의 3년간 성적데이터가 있는데 A학생의 성적 변동계수는 0.2 이고 B학생의 성적 변동계수는 0.8이라고 하면 A학생의 성적 변동은 작은데 반해, B학생의 변동 폭은 크다는 의미입니다.

 

따라서 변동계수가 작은 그룹의 데이터가 더 안정적이라고 볼 수 있습니다.

 

또한 변동계수는 데이터 크기와 관계없이 비교가 가능합니다. 예를 들어, 달러와 원화의 기준(데이터 크기)은 다릅니다. 1달러에 1,200원이면 원화가 1,200배 크다는 것이며, 값이 크면 변동폭도 더 클 것입니다. 변동계수는 이와 같이 데이터 크기가 서로 다른 경우에도 비교가 가능합니다.

 

파이썬으로 변동계수는 아래와 같이 구할 수 있습니다.

import numpy as np

list_a = [1, 2, 3, 4, 5]
list_b = [0, 2, 4, 8, 16]

cv1 = np.std(list_a)/np.mean(list_a)
cv2 = np.std(list_b)/np.mean(list_b)

print('list_a의 CV계수 : {}'.format(np.round(cv1, 3))) # list_a의 CV계수 : 0.471
print('list_b의 CV계수 : {}'.format(np.round(cv2, 3))) # list_b의 CV계수 : 0.943

 

list_a의 CV계수 : 0.471
list_b의 CV계수 : 0.943

댓글