정치와 사회/통계학과 방법론

막대그래프와 도수분포표를 이용한 시각화 총정리 (히스토그램+도수분포 다각형)

첼린저스 2016. 10. 8. 10:14

저번에 블로그에 각종 척도에 관한 글을 올린적이 있었습니다. [링크]


또한 저번에는 샘플이 어떻게 분포되고 기울어졌는지, 기울기에 따라 어떤 종류(Positive skewed, negative skewed)로 구분되는지, 무슨 방법으로 집중경향성과 변산도를 측정하는지를 알아봤습니다. 


어떻게 샘플만 보고 우리는 이게 대칭으로 분포되었는지, 아니면 비대칭으로 분포되는지 알 수 있는가? 라고 묻는다면, 우리는 막대 그래프와 도수분포표, 히스토그램을 비롯한 시각화로 대칭과 비대칭을 구분할 수도 있으며, 또한 굳이 그리지 않더라도 백분위 측정을 통한 계산으로 해당 샘플이 비대칭으로 분포되어있음을 예측할수도 있습니다. 이 게시글에서는 이러한 방법을 알려드리려고 합니다. 


절대적으로 주의해야 할것은 그래프를 그릴때 반드시 축이 무엇을 뜻하는지 적어두어야 합니다. 통계 초심자들이 많이 점수 깎이는 요인중에 하나로 교수님들은 이걸 안하면 아예 틀렸다고 점수를 안 주는 사람들도 있습니다. 그러니 제발 축이 뭐인지 씁시다. 오늘은 여러분이 얻은 정보를 시각화 하는 방법을 알아보겠습니다. 


막대 그래프와 꺾은선그래프 (Nominal Scale)


막대 그래프와 꺾은선그래프, 그리고 다른 종류의 그래프들을 쉽게 만들수 있는 사이트/ 히스토그램하고는 다르다!

https://nces.ed.gov/nceskids/createagraph/


막대 그래프와 꺾은선 그래프는 척도가 반드시 명명척도여야 합니다.


설마 막대그래프를 모르는 사람은 없겠죠. 막대그래프는 저번에 쓴 글에서도 보실수 있겠지만 표본이 명명척도이거나 서열척도일때 쓰입니다. 카테고리별로 분류하는 식입니다. 막대그래프는 이렇게 항목별로 비교하는 식입니다. 





일반적인 막대 그래프의 예




복잡한 막대 그래프의 예. 보기 힘들다는 것을 볼 수 있다.


꺾은선그래프는 막대그래프가 비교대상이 늘어나면 엄청 보기 불편해지는데 비해서 한꺼번에 파악할 수 있는 장점을 가지고 있습니다. 지금 위의 꺾은선 그래프에서는 5개의 브랜드가 보기 좋게 비교되고 있습니다. 아래에 나올 도수분포다각형과 다른 점은 도수분포 다각형은 반드시 처음부터 이어져 있어야 합니다. 


도수분포표 


사회과학에서 쓰이는 도수분포표는 여러분이 6학년때 그리는 도수분포표가 아닙니다. 


우선 먼저 i를 계산해보죠. 도수분포표로서 행이 10개에서 20개 사이라면 적절합니다. 


먼저 i는 반드시 1,2,4,5,10,10의 배수가 되어야 합니다. i중에서 10개에서 20개 사이의 행을 가진 히스토그램으로 만들수 있는 수를 골라야 합니다. 

도수분포표내 적당한 구간의 범위(i)적당한 행(Interval)의 갯수 찾는 방법


이 샘플에서 최댓값은 60이고 최솟값은 1입니다. 즉 범위(range)는 60-1+1= 60입니다. (최댓값-최솟값+1)


i를 10으로 하면 60/10 = 6행 또는 7행이 나오니 안 되고

i를 5로 하면 60/5 = 12행 또는 13행이 나옵니다. 


나누는 거에 반드시 1을 더해야 합니다. 샘플이 지금은 60이기 때문에 60-64의 구간을 하나 더 설치해야해서 1행이 더 늘어났을 것이었기 때문입니다. 만약 59였다면 6행이었지만 지금 현재 샘플은 60이니 7행이 되는 것이지요. 


즉 범위(range)를 i로 나눈 값과 그 값에서 하나를 더한 값이 오직 우리가 만들 도수분포표의 행의 갯수가 될 수 있습니다.  


적당한 범위로서 5를 기준으로 나누면 12행에서 13행의 표가 되겠군요. 적당한 도수분포표는 10행에서 20행 사이이면 됩니다. 

저는 이 방법으로 인해 제가 그릴 도수분포표의 행의 갯수가 12행 또는 13행이라는 것을 알았습니다. 이걸로 인해 적당한 i의 값은 5라는 것을 알았습니다. 

더 확실히 행의 갯수를 찾는 방법

조금 더 확실히 하고 싶다면(만약 위의 방법을 썼는데 행이 9열 또는 10열로 떨어지는 애매한 환경에 있다던가..)


이 샘플에서 최소값을 포함하는 구간은 0-4일 것입니다. 

마찬가지로 최댓값을 포함하는 구간은 60-64일 것입니다. 


최댓값 구간의 최대인 64에서 0.5를 더하고

최솟값 구간의 최소인 0에서 0.5를 뺍니다.


즉 64.5+0.5/5


65+5 = 총 13개입니다. 이 계산법은 먼저 위의 방법을 한 다음에 조금 더 확실하게 할 필요가 있을 경우 쓰면 됩니다. 대부분의 도수분포표는 아래로부터 그려야 하는데 만약 12칸만 그려놓고 나중에 알고보니 13칸이면 다시 처음부터 그려야 합니다(..)


intervals

Real limits 

Apparent Limits 

 Frequency

Cumulative Frequency

Proportions

(2자리수 반올림 권장) 

Cumulative 

Proportions 

(2자리수 반올림 권장)

 13

 59.5-64.5

60-64

 1

 86

 0.011627907...

 1(=0.99999999)

 12

 54.5-59.5

55-59

 1

 85

 0.011627907...

 0.99

 11

 49.5-54.5

50-54

 2

 84

 0.023255814....

 0.98

 10

 44.5-49.5

45-49

 1

 82

 0.011627907...

 0.96

 9

 39.5-44.5

40-44

 2

 81

 0.023255814...

 0.95

 8

 34.5-39.5

35-39

 4

 79

 0.046511627...

 0.93

 7

 29.5-34.5

30-34

 6

 75

 0.0697674419...

 0.88

 6

 24.5-29.5

25-29

 10

 69

 0.1162790608...

 0.81

 5

 19.5-24.5

20-24

 17

 59

 0.1976744186....

 0.69

 4

 14.5-19.5

15-19 

 16 42 0.1860465116.. 0.49
 3 9.5-14.5

10-14

 7 26

 0.0813953488..

 0.30
 2 4.5-9.5

5-9

 7

 19

 0.0813953488.. 0.22
 1

 -0.5-4.5

0-4

 12 12 0.1395348837.. 0.14


Intervals 

Real limits : 실제 한도 (보이는 한도에서 위는 0.5를 더하고, 아래는 0.5를 뺍니다. )

Apparent Limits : 보이는 한도

Frequency: 수량

Cumulative Frequency: 누적 수량

Proportions: 전체에서 차지하는 비율

Cumulative Proportions: 누적된 전체비율


누적 수량의 경우 0.99999=1 이므로 문제 없으며, 저 경우는 운이 상당히 좋은 경우지만 대부분의 경우 2자리로 반올림하는 과정에서 오류를 동반하게 됩니다. 즉 최종 누적 수량이 아마 0.95정도거나 1이 넘는 값이 나올 수 있습니다. 이 경우 아무 문제 없으니 그냥 사실대로 쓰시면 됩니다. 


Real Limit과 Apparent Limit의 차이는 무엇인가요? 이런건 왜 있나요?



만약 도수분포표가 10을 기준으로 행이 이런식으로 분할된다면


0-9

10-19

20-29

.....



이렇게 나누어진다면 9.5는 어디에 소속되어야 할까요? 즉 이것을 위해 Real Limit이라는게 고안된겁니다. 


즉 이것의 real limit은 도수분포표에서 이런 범위로 표현됩니다. 


-0.5-9.5

9.5-19.5

19.5-29.5

...


이런식이 됩니다. 구간의 최대 한계에서 0.5를 더하고, 최소 한계에서 0.5를 뺍니다. 이것이 바로 real limit입니다. 자 이게 나와도 문제가 생기는데 9.5는 양 구간의 경계선에 위치해 있습니다.


그러나 도수분포표의 real limit칸은 이건 생략을 해놓은것에 가깝습니다


-0.5~9.4999999999....

-9.5~19.499999999....

19.5~29.499999999...


도수분포표에는 저걸 반올림 하여, 0.5~9.5구간과 9.5에서 19.5구간으로 표기해놨으나 실제적으로는 저렇게 생겼다는 것입니다. 9.5란 값이 양 구간에 걸쳐있다면, 저렇게 실제 생겨먹은 모양을 감안해야 합니다. 


히스토그램과 줄기잎도표


히스토그램을 쉽게 만들수 있는 사이트: http://www.socscistatistics.com/descriptive/histograms/

줄기잎도표를 쉽게 만들수 있는 사이트: http://www.calculatorsoup.com/calculators/statistics/stemleaf.php


히스토그램을 만들어 봅시다. 히스토그램의 x축을 나눌때는 반드시 real limit(실제 한도)가 기준이 되어야 합니다. 절때 apparent limit을 기준으로 나누지 마세요. 






히스토그램의 경우는 시각적인 효과는 좋지만, 일일히 그 수를 보여주지 않는다는 점에서 정보 파악은 어렵습니다. 그걸 위해서 고안된게 줄기잎도표입니다. 줄기잎도표를 그리는 방법은 아주 간단합니다.


10     1      3     22      26      16      23      35      53      17      32

41     3      5     24      23      27      16      20      60      48      43

52     3      1     17      20      33      18      23        8      24      15

26     4      6     30      19      22      13      22      14      21      39

28     4      3     37      15      20      11      25        9      15      21

21     2      5     34      10      23      29      28      18      17      24

16     2      6       7      12      28      20      36      16      14

18   16    57     31      34      28        4        2      19      26


바로 이렇게 자리수를 중심으로 만들 수 있다는 것입니다. 0의 자리수, 1의 자리수, 2의 자리수... 이렇게요. 



StemLeaf
01 1 2 2 2 3 3 3 3 4 4 4 5 5 6 6 7 8 9
10 0 1 2 3 4 4 5 5 5 6 6 6 6 6 7 7 7 8 8 8 9 9
20 0 0 0 1 1 1 2 2 2 3 3 3 3 4 4 4 5 6 6 6 7 8 8 8 8 9
30 1 2 3 4 4 5 6 7 9
41 3 8
52 3 7
60


저건 10을 기준으로 줄기잎도표를 그렸을 때고, 5를 기준으로 그린다면



StemLeaf
01 1 2 2 2 3 3 3 3 4 4 4
05 5 6 6 7 8 9
10 0 1 2 3 4 4
15 5 5 6 6 6 6 6 7 7 7 8 8 8 9 9
20 0 0 0 1 1 1 2 2 2 3 3 3 3 4 4 4
25 6 6 6 7 8 8 8 8 9
30 1 2 3 4 4
35 6 7 9
41 3
48
52 3
57
60
6



이런 샘플의 경우,


320 282 341 324 340 302 336 265 313 317 310 335 353 318 296 309 308 310 277 288 314 298 315 360 275 315 297 330 296 274 250 274 318 287 284 267 292 348 302 297 270 263 269 292 298 343 284 352 345 325


두자리로 나눌수도 있습니다.



StemLeaf
250
263 5 7 9
270 4 4 5 7
282 4 4 7 8
292 2 6 6 7 7 8 8
302 2 8 9
310 0 3 4 5 5 7 8 8
320 4 5
330 5 6
340 1 3 5 8
352 3
360


도수분표 다각형


도수분포 다각형은 바로 real limit의 중간값에 점을 찍고, 그 점들을 이은 것을 말합니다. 대략적인 방법은 중학교 때 배우셨으리라 생각합니다. 도수분포 다각형의 장점은 꺾은선그래프처럼 다수의 히스토그램을 겹쳐서 비교할 수 있다는 것입니다.반드시 real limit을 이용해야 합니다. 


아마 고등학교 때는 이렇게 apparent limit을 이용했을 것입니다.




그러나 심리학이나 사회학, 통계부터는 소수점으로 떨어지는 Real limit을 이용합니다.



즉 저 히스토그램의 중간 지점에 점을 찍고 그것을 선분으로 이으면 됩니다


0부터 시작하지 않는다면, 다각형이 시작하는 곳과 히스토그램이 시작하는 곳 사이에 물결 모양의 마크나 특정 표기를 해 놓아야 합니다.


시각화 하지 않고 계산하는 방법, 백분위 (Percentile)

윗쪽에서 이 도수분포표를 그렷습니다. 다시 그리기 귀찮으니 오려붙입니다.


intervals(구간)

Real limits 

Apparent Limits 

 Frequency

Cumulative Frequency

Proportions

(2자리수 반올림 권장) 

Cumulative 

Proportions 

(2자리수 반올림 권장)

 13

 59.5-64.5

60-64

 1

 86

 0.011627907...

 1(=0.99999999)

 12

 54.5-59.5

55-59

 1

 85

 0.011627907...

 0.99

 11

 49.5-54.5

50-54

 2

 84

 0.023255814....

 0.98

 10

 44.5-49.5

45-49

 1

 82

 0.011627907...

 0.96

 9

 39.5-44.5

40-44

 2

 81

 0.023255814...

 0.95

 8

 34.5-39.5

35-39

 4

 79

 0.046511627...

 0.93

 7

 29.5-34.5

30-34

 6

 75

 0.0697674419...

 0.88

 6

 24.5-29.5

25-29

 10

 69

 0.1162790608...

 0.81

 5

 19.5-24.5

20-24

 17

 59

 0.1976744186....

 0.69

 4

 14.5-19.5

15-19 

 16 42 0.1860465116.. 0.49
 3 9.5-14.5

10-14

 7 26

 0.0813953488..

 0.30
 2 4.5-9.5

5-9

 7

 19

 0.0813953488.. 0.22
 1

 -0.5-4.5

0-4

 12 12 0.1395348837.. 0.14


문제가 이렇게 나옵니다 "70번째 백분위의 값은 얼마인가." 


그럼 저기 proportion을 이용하면됩니다. 0.70이 어디있죠? 바로 다섯째 구간과 여섯번째 구간 사이에 위치하여 있습니다. 


간단한 공식입니다. 알고싶은 백분위의 윗구간(24.5-29.5) 와 아랫구간(19.5-24.5)의 proportion을 이용합니다. 당연히 소수점은 제거합니다. 



즉 (70-69)/(81-69) = 1/12 84%입니다.. 

이 말을 해석하자면 70번째의 백분위 아래에 84%의 데이터가 존재한다는 것입니다. 


이 도수분포표가 다루는 곳은 0에서64까지의 구간(range)입니다. 이 0에서 64까지의 구간을 100개로 나눈다고 생각해봅시다. 그럼 0에서 64까지의 구간이 100개로 나누어졌고 그 100개로 나눈 것 중에서 70번째 지점에 줄을 긋는다고 생각해 보죠. 그 줄 아래에 84%의 데이터가 존재한다는 말입니다. 


이것은 데이터가 어느 곳으로 기울어졌는지 알 수 있는 방법입니다. 즉 그리지 않아도 줄 몇개(n번째 백분위)를 그려보고, 줄 사이의 구간의 데이터가 얼마나 존재하는지를 알아내서 이 샘플이 대칭으로 분포하는지 비대칭으로 분포하는지 알수 있다는 것입니다.