Python 기초 통계

Python으로 하는 기초 통계 분석법


수강중

4. 변산성 측정치 (분산, 표준편차, 범위, 사분위간 범위)

동영상이 없는 텍스트 강의 자료입니다.
  • 변산성(variability): 자료가 흩어져 있는 정도, 혹은 개체에 따라 변할 수 있는 정도
  • 중심경향치가 자료가 무엇을 중심으로 모여있는가(혹은 흩어져 있는가)를 나타내는 것이라면,
  • 변산성 측정치는, 그 모여있는 정도(혹은 흩어져 있는 정도)를 의미함

실습을 위한 준비:

import numpy
x = [1, 1, 2, 3, 3, 3, 4, 5, 5, 7]

범위(range)

  • 자료가 갖는 최대값과 최소값 사이의 거리, 즉 자료가 얼마나 퍼져있는가를 나타냄
  • 범위 = 최댓값 - 최솟값

최솟값:

numpy.min(x)
1

최댓값:

numpy.max(x)
7

범위:

numpy.max(x) - numpy.min(x)
6

분산

  • 평균에서 데이터가 벗어난 정도를 수치화한 값
  • 각각의 데이터에서 평균값을 빼고, 그것을 제곱하여 평균을 구함

  • 분산이 크면 : 데이터가 평균에서 많이 벗어나 있다

  • 분산이 작으면 : 데이터가 평균 주변에 모여 있다
numpy.var(x)
3.2399999999999998

표준편차

  • 평균에서 데이터가 벗어난 정도를 수치화한 값
numpy.std(x)
1.8

표준편차는 분산의 양의 제곱근.

아래와 같이 계산하면 numpy.std한 것과 같음.

numpy.sqrt(numpy.var(x))
1.8

numpy.sqrt로 제곱근을 구할 수 있음. $\sqrt 4 = 2$.

numpy.sqrt(4)
2.0

사분위간 범위

  • 사분위간 범위(IQR, InterQuartile Range)는 제3사분위수에서 제1사분위수 간의 범위
  • 사분위수란 전체 데이터를 작은 값부터 큰 값까지 순서대로 나열한 후 4등분 하였을 때, 각 지점에 해당하는 값

    • 제1사분위수(Q1): 25% 지점
    • 제2사분위수(Q2): 50% 지점 = 중간값
    • 제3사분위수(Q3): 75%
  • 제1사분위수와 제3사분위수 사이의 구간에는 항상 전체 데이터의 50%가 포함 됨

  • 사분위는 임의로 정하는 기준이므로 필요에 따라 십분위 등으로 변경가능

제1사분위수:

numpy.quantile(x, .25)
2.25

제2사분위수(50% 지점) = 중간값:

numpy.quantile(x, .5)
3.0
numpy.median(x)
3.0

제3사분위수(75% 지점)

numpy.quantile(x, .75)
4.75

사분위간 범위(Q3 - Q1):

numpy.quantile(x, .75) - numpy.quantile(x, .25)
2.5

변산성 측정치를 이용한 이상점 진단

  • 대부분의 자료는 중심경향치 주변에 몰려있음
  • 변산성 측정치를 기준으로 벗어난 정도를 파악할 수 있음
    • 평균에서 벗어난 정도를 판단할 때는 표준편차를 사용
      • 평균에서 표준편차의 n배 떨어져 있으면 "n 표준편차"와 같이 표현
    • 중간값에서 벗어난 정도를 판단할 때는 IQR을 사용
  • 중심경향치에서 크게 벗어났다면 이상점으로 의심할 수 있음