[python/파이썬] 산포도로서 평균편차계수
데이터의 대푯값은 데이터를 하나의 특정수로 표현할 수 있다는 점에서 유용합니다.
다만 대푯값만으로 데이터를 접근하기에는 부족합니다.
예를 들어 데이터가 평균 주위에 몰려있는 경우라면,
평균을 대푯값으로 정하여 데이터를 파악할 수 있습니다.
그러나 데이터 평균 주위에는 데이터가 없고,
단순히 최댓값과 최솟값 주위에 데이터가 몰려있고,
이 값들을 단순 평균하여 나온 평균은 그 데이터를 대표한다고 보기 어렵습니다.
그래서 산포도를 활용합니다.
산포도란 개별 관측값들이 대푯값으로부터 흩어진 정도를 보여주며,
대푯값만으로는 부족한 데이터를 보다 잘 이해할 수 있도록 돕습니다.
산포도에는 범위, 사분위범위, 평균편차, 사분편차, 분산, 표준편차 등이 있습니다.
산포도를 통해 서로 다른 데이터들을 비교하는 경우,
단위나 기준이 다르면 비교하기 어렵습니다.
이때 상대적인 산포도인 사분위편차계수, 평균편차계수, 변동계수 등을 활용합니다.
상대적 산포도는 모두 중앙값이나 평균으로 나누어 계수를 구하며,
이를 통해 단위나 기준을 상쇄하므로, 비교가 용이합니다.
평균편차계수(CMD ; Coefficient of Mean Deviation)
평균편차계수는 평균편차를 산술평균으로 나누어 구합니다.
편차는 각각의 데이터에서 평균을 뺀 것을 뜻합니다.
이 편차들을 모두 더하면 합이 0이 되므로, 산포도를 파악하는데 도움이 되지 않습니다.
그래서 평균편차는 각각의 편차에 절댓값을 모두 더한 후 평균을 내어 구합니다.
각각의 편차들을 deviation에 담기 위해 deviation = [ ]을 만듭니다.
for문을 통해 데이터를 하나씩 가져오고, 평균을 빼서 편차를 구합니다.
절댓값을 취한 후 구해진 편차들을 하나씩 deviation에 담기 위해 append 함수를 활용합니다.
최종적으로 deviation에 대한 평균을 구하면, 평균편차를 구할 수 있습니다.
산술평균은 모든 값을 더한 후 총 개수로 나누어서 구합니다.
numpy의 mean을 활용하여 구할 수 있습니다.
평균편차계수는 평균편차를 산술평균으로 나누어 구하므로, 다음과 같습니다.
평균편차계수는 두 개 이상의 데이터들의 상대적인 산포도를 비교하기 위해 사용합니다.
이를 위해 위의 data와 평균이 동일한 데이터를 생성한 후,
평균편차계수를 구하면 다음과 같습니다.
data에 비해 산포도가 적은 data2의 평균편차계수를 비교하면,
data의 평균편차계수는 0.4이며, data2의 사분위편차계수는 0.12이므로,
data2의 산포도 정도를 수치로서 명확하게 비교할 수 있습니다.