본문 바로가기
python

[통계학] 1. 산포도 (분산, 표준편차, 사분위)

by jinsuc28 2022. 5. 11.

※ 인공지능 회귀분석 강의 통계와 확률을 바탕으로 정리하였습니다.

산포도

대표값(보통 평균)을 중심으로 자료들이 흩어져 있는 정도

하나의 수치로 표현됨

따라서 수치가 낮을 수록 평균에서 분포가 밀집

수치가 높을 수록 평균에서 분포가 퍼짐을 나타냄

ex) 분산, 표준편차, 사분위

 

편차

각 데이터가 평균으로부터 어느 정도 떨어져 있는지를 나타내는 지표

ex) 전체 학생 국어 성적 평균 50일때 본인은 100맞았다면

편차는 100-50으로 50이 된다.

 

편차 값들의 합과 평균은 0이다.

따라서 편차 평균으로는 산포도를 계산할 수 없다.(그래서 분산 나옴)

 

분산

편차의 제곱을 합산하여 평균을 계산한 값

# pandas

df_score.var()
df_socre.var(ddof=0)

ddof는 자유도를 의미하며 numpy분산과 같기 위해서는 ddof=0으로 입력해주어야 한다.(표본분산)
ddof defalut는 불편분산으로 되어있다. 꼭,0으로 입력해주자


# numpy

np.var(df_score)

 

표준편차

분산이 제곱으로 표현되기 때문에 이해하기 어려움

ex) 45**2 직관적으로 이해하기 어려운 숫자임

따라서 제곱근을 씌워 원래 데이터와 동일한 단위를 쓰도록 만들어진 산포도의 지표이다.

# pandas
df_score.std(ddof=0)

# numpy 두가지 방법
np.sqrt(np.var(df_score))
np.std(df_score)

범위(range)

데이터의 최대값과 최소값만으로 산포도를 표현하는 방법

ex) (최대값-최소값)

차이가 크면 산포도가 크고, 작으면 산포도가 작다는 것을 의미

 

범위와 사분위 범위

사분위 범위(interquartile range)

데이터의 하위 25%(Q1:제1사분위수),50%(Q2:제2사분위수),75%(Q3:제3사분위수)에 위치하는 값으로 표현된 범위

Q3-Q1를 사분위 범위 IQR로 정의

 

사분위 범위의 특징

중앙값으로 정의되는 산포도 지표

Q2는 중앙값과 같은 값이다

# pandas
df_score.quantile(q=0.75) - df_score.quantile(q=0.25)

# numpy
np.percentile(df_score, 75) - np.percentile(df_score,25)

 

대표값, 산포도 한번에 구하기

df_score.describe()