[python] 표준편차, IQR, 중간 절대 편차

파이썬을 활용하여 표준편차(Standard Deviation), IQR(interquartile range, 사분범위), 중간 절대 편차(Median Absolute Deviation)를 구하는 방법을 정리합니다. 계산은 알고리즘 구현을 하지 않고 기존 라이브러리를 활용하여 진행합니다. 샘플 데이터는 아래와 같습니다.


아래는 샘플코드입니다.


import pandas as pd
import statsmodels.api as sm

# CSV 파일에서 데이터 변환 (컬럼명 포함)
state = pd.read_csv('./statistics/state.csv')
print(state)

# 표준편차
std = state['Population'].std()
print('Standard Deviation : ' + str(std))

# IQR : Interquartile Range, 4분위 범위 (25~75%)
IQR = state['Population'].quantile(0.75) - state['Population'].quantile(0.25)
print('IQR : ' + str(IQR))

# 중간 절대 편차(Median Absolute Deviation)
MAD = sm.robust.scale.mad(state['Population'])
print('Median Absolute Deviation : ' + str(MAD))


아래는 실행결과입니다.


         State  Population  Murder Rate Abbreviation
0      Alabama     4779736          5.7           AL
1       Alaska      710231          5.6           AK
2      Arizona     6392017          4.7           AZ
3     Arkansas     2915918          5.6           AR
4   California    37253956          4.4           CA
5     Colorado     5029196          2.8           CO
6  Connecticut     3574097          2.4           CT
7     Delaware      897934          5.8           DE
Standard Deviation : 12105745.29585633
IQR : 2958479.25
Median Absolute Deviation : 2576836.044572552



앞서 다루었던 평균값, 중앙값 등은 데이터가 어디에 위치(location)해 있는지 알려주는 지표로 사용되는 반면, 오늘 다룬 편차, IQR 등은 해당 위치를 기준으로 데이터가 얼마나 분산되어 있는지 알려주는 지표라고 합니다.


끝.

댓글

이 블로그의 인기 게시물

3선 결선식 센서의 타입 PNP, NPN

[PLC] PLC 아날로그 입출력 기본

공압 속도 제어: 미터인 vs 미터아웃

[농사] 무농약 상추 재배부터 상추차 분말 만들기: 저예산 수경재배 아이디어

[주식] 한국거래소(KRX) 데이터 API 입문 가이드

NPN, PNP 트랜지스터 차이점

[PLC] 릴레이 자기유지 (Realy Latch or Sealing)

[아두이노] 74HC595 시프트 레지스터 연동

[PLC] 래더 다이어그램과 PLC

[PLC] 래더 다이어그램 시퀀스 프로그래밍 - 래더 템플릿 및 단점 사항