본문 바로가기

Contact English

【통계학】 1강. 통계의 기초

 

1강. 통계의 기초

 

추천글 : 【통계학】 통계학 목차


1. 통계의 기초 [본문]

2. 일상적 통계 용어 [본문]

3. 데이터의 정의 [본문]

4. 데이터의 시각화 [본문]


a. 분위수 대 분위수 플롯(Q-Q plot)


 

1. 통계의 기초 [목차]

 확률과 통계

① 확률 : 가능성을 수학적으로 이론화한 학문

② 통계 : 자료를 수집, 분석, 해석 또는 표현하는 학문

○ (주석) 확률과 통계는 유사하지만 명백히 다름

③ 기술 통계(descriptive statistics) : 데이터를 요약해 설명하는 통계 기법

④ 추론 통계(inferential statistics) : 숫자의 요약을 넘어서 어떤 값이 발생할 확률까지 계산하는 통계 기법

확률의 의미

① 빈도학파(frequentist)

○ 확률은 물체의 본질적인 속성이라고 주장

○ 예 : 동전은 앞, 뒤가 각각 1/2의 확률을 가지는 물체임

② 베이지안 학파(Bayesianist)

○ 확률은 인간의 믿음에 불과하다고 주장

○ 예 : 동전의 앞, 뒤 빈도수를 조사한다고 해서 각각의 빈도가 정말로 1/2임을 입증할 수는 없음

⑶ (참고) 통계학의 추세

① 고전 통계학의 주요 이슈 : 분포를 찾는 것, 검정력을 높이는 것

② 현대 통계학의 주요 이슈 : 빅데이터, 머신러닝

 

 

2. 일상적 통계 용어 [목차]

⑴ 평균(average, mean)

⑵ 최빈수(mode)

⑶ 중앙값(median)

① 순서상 가운데에 있는 값 : 확률분포에서 중앙값을 기준으로 양쪽의 넓이가 같아야 함

② 평균보다 분포의 변화에 덜 민감함

 

평균(왼쪽)과 중앙값(오른쪽)
출처 : 서울대학교 통계학개론 및 실습

Figure. 1. 평균(왼쪽)과 중앙값(오른쪽)]

 

○ 중앙값 오른쪽 부분만 분포를 변화시킨다고 상상하면 중앙값은 덜 변할 것임을 예측할 수 있음

○ (주석) 의외로 많은 사람들이 모르는 사항

 

 

3. 데이터의 정의 [목차]

데이터, 정보, 지식

① 데이터(data) : 주어진 자료

② 정보(information) : 데이터의 이름

③ 지식(knowledge) : 정보와 정보의 관계

⑵ 데이터셋의 타입

릴레이션 

트리 

네트워크 

⑶ 속성(attribute)의 타입

종류 1. 연속형 자료 : 양적자료(quantitative data)

1-1. 비율 척도(비 척도, ratio scale) : 1순위 척도 

○ 절대영점 + 같은 간격 + 순위 + 범주

○ 척도 간 비율 개념이 성립할 수 있음

○ 절대 영점이 존재 : 음수 개념이 없음

○ 예 : 절대온도

1-2. 구간 척도(간격 척도, 등간 척도, interval scale) : 2순위 척도

○ 같은 간격 + 순위 + 범주

○ 척도 간 비율 개념이 성립할 수 없음

○ 절대 영점이 없음 : 음수 개념이 있음

○ 예 : 섭씨온도, 화씨온도

종류 2. 범주형 자료 : 질적자료(qualitative data)

2-1. 순위 척도(ordinal scale) 

○ 순위 + 범주

○ 간격이 서로 같다고 할 수 없음 : 수량화 불가능, 평균 불가능

○ 예 : 3학년 2명과 1학년 2명을 평균 2학년 2명이라고 할 수 없음

○ 예 : 이진 척도(binary scale)를 순위 척도 하위에 두기도 하고 별도로 분류하기도 함

2-2. 명목 척도(nominal scale, categorical scale)

○ 범주 : 각 자료를 구분하는 이름과 같음

○ 예 : 성별, 혈액형

⑷ 속성의 내용(attribute semantics)

spatial : quantitative

② temporal : quantitative

③ sequential : ordinal

④ diverging : quantitative

⑤ cyclic : categorical, ordinal, quantitative

⑥ hierarchical : categorical 

 

 

4. 데이터의 시각화 [목차]

분석의 분류

빈도 분석 : 한 개의 범주형 변수에 대한 분포의 특성을 파악하는 분석

교차 분석 : 두 개 이상의 범주형 변수에 대한 결합 분포의 특성을 파악하는 분석. 독립성과 관련성을 분석 가능

⑵ 자료형에 따른 유리한 표현양식 : 상단에 놓일수록 더 유리한 자료형 

① quantitative variable

 position

length

 angle

 slope

 area

 volume

 density

 color saturation

 color hue : 색맹을 위한 컬러 디자인에 신경 써야 함 (ref)

 texture

 connection

containment

shape

② ordinal variable 

position

density

color saturation

color hue

texture 

connection

containment

length

angle

slope

area

volume

shape

③ nominal variable

 position

color hue

texture

connection

containment

density

color saturation

shape

length

angle

slope

area

volume 

 종류 1. 2차원 정보의 표현

 bar chart : categorical / ordinal (1D) + quantitative (1D)

○ categorical / oridnal variable이 x축에 있는 경우 : labeling을 길게 쓸 수 있다는 장점

categorical / oridnal variable이 y축에 있는 경우 : variable의 개수를 쉽게 늘릴 수 있다는 장점

 line chart : ordinal / quantitative (1D) + quantitative (1D)

 scatter plot : quantitative (1D) + quantitative (1D)

④ slope chart : quantitative (1D) + quantitative (1D). scatter plot의 대안

⑤ histogram 

 pie chart 

⑦ box plot 

⑧ 줄기와 잎 그림

⑨ heatmap 

종류 2. 3차원 정보의 표현

 matrix : categorical / ordinal (1D) + categorical / ordinal (1D) + quantitative (1D, 색깔) (+ quantitative (1D, 점의 크기))

② extended barchart : stacked bar chart, grouped bar chart, waterfall chart, Gantt chart 등

③ extended line chart : area chart (≒ stacked line chart) 등

④ extended scatter plot : bubble chart (점의 크기도 변수) 등

 symbol map : spatial (2D) + quantitative (1D)

⑥ funnel chart 

종류 3. 다차원 정보의 표현

① faceting : 각 파라미터에 대하여 2차원 정보 또는 3차원 정보를 표현하는 것. 여러 종류의 그래프가 나옴 

Chernoff face 

③ star plot : spider plot, radar chart, cobweb chart, polar chart라고도 함

1-1. 바 그래프(bar chart)

① 정의 : 명목 척도 자료들을 표현한 그래프

② 일반적으로 막대는 서로 떨어져 있고, 가로축은 수치형이 아니어도 되며, 막대 너비는 일정하지 않을 수도 있음 

③ (참고) R 프로그래밍

 

plot(c(1, 2, 3), c(4, 5, 6), main = "BASIC PLOT")

 

 (참고) 파이썬 프로그래밍 (Bokeh)  

 

Bokeh Plot

 

Figure. 2. 바 그래프

 

from bokeh.plotting import figure, output_file, show

output_file("stacked_bar.html")
graph = figure(width = 400, height = 400, title = "Bokeh Vertical Bar Graph", 
               tooltips=[("x", "$x"), ("y", "$y")] )
x = [1, 2, 3, 4, 5]
top = [1, 2, 3, 4, 5]
width = 0.5
graph.vbar(x, top = top, width = width)
show(graph)

 

바 그래프를 대체할 차트

○ circular bar chart (= race track plot)

○ radial bar chart 

○ treemap

○ waffle chart

○ interactive bar chart

○ pie chart

○ radar chart

○ bubble chart

○ circle packing

1-2. 선 그래프(line chart) 

(참고) 파이썬 프로그래밍 (Bokeh)  

 

Bokeh Plot

 

Figure. 3. 선 그래프

 

from bokeh.plotting import figure, output_file, show

output_file("line_chart.html")
p = figure(width=400, height=400, title = "Line Chart", 
           tooltips=[("x", "$x"), ("y", "$y")])
p.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], line_width=2)
show(p)

 

1-3. 분산 그래프(산점도, scatter plot)

① 정의

② scatter plot with marginal histogram

(참고) 파이썬 프로그래밍 (Bokeh)  

 

Bokeh Plot

 

Figure. 4. 분산 그래프

 

from bokeh.plotting import figure, output_file, show

output_file("scatter_plot.html")
p = figure(width=400, height=400, title = "Scatter Plot",
           tooltips=[("x", "$x"), ("y", "$y")])
p.circle([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], size=20, color="navy", alpha=0.5)
show(p)

 

1-4. 히스토그램(histogram)

① 정의 : 비율 척도, 구간 척도의 연속형 자료에 구간을 정한 뒤 그래프로 표현한 것. 직사각형 형태로 시각화

② 일반적으로 막대 너비는 일정하며, 가로축은 수치형 데이터이고, 막대는 서로 붙어 있음 

③ 3D 히스토그램

④ (참고) R 프로그래밍

 

hist(c(1, 2, 2, 3, 3, 3), col = "light yellow")

 

 ⑽ 1-5. 원 그래프(pie chart)

① 정의 : 퍼센트로 표현된 비율 척도의 연속/불연속형 자료를 원형 그래프로 표현한 것

② (참고) R 프로그래밍

 

pie(c(1, 2, 2, 3, 3, 3), label = c("a", "b", "c", "d", "e", "f"), main = "PIE CHART")

 

원 그래프를 대체할 차트

○ dumbbell chart (= barbell chart)

○ bubble chart

○ circle packing

○ interactive pie chart

○ interactive donut chart

○ tree map

○ waffle chart

○ bar chart

○ stacked bar chart

1-6. 박스 그래프(box chart, whisker plot)

① 분위수(quantile)

분위수 함수 : 누적분포함수의 역함수

○ 정의역 :{x | 0 ≤ x ≤ 1}

○ 치역 : 관심 있는 집단의 통계량

○ 구간의 개수에 따라 100분위수(percent), 4분위수(quartile) 등이 존재

② 아래부터 하한값, 1st quartile, median, 3rd quartile, 상한값을 표현

○ 평균을 별도로 표기할 수도 있고, 아닐 수도 있음

③ 기타 구성요소

○ 제1 사분위(Q1) : 자료들의 하위 25%의 위치

○ 제2 사분위(Q2) : 자료들의 50%의 위치. 중위수(median). 두꺼운 막대로 가시성을 높여서 표현

○ 제3 사분위(Q3) : 자료들의 하위 75%의 위치

○ IQR(interquartile range) : 제1 사분위와 제3 사분위의 간격

○ 하위 경계(lower fence) : 제1 사분위에서 1.5 IQR을 뺀 위치

○ 상위 경계(upper fence) : 제3 사분위에서 IQR의 1.5배 위치

○ 최솟값(minimum) : 하위 경계 내의 관측치의 최솟값

○ 최댓값(maximum) : 상위 경계 내의 관측치의 최댓값

○ 수염(whiskers) : Q1, Q3로부터 IQR의 1.5배 내에 있는 가장 멀리 떨어진 데이터까지 이어진 선

○ 이상값(outlier) : 수염보다 바깥쪽에 데이터가 존재하는 경우 

④ (참고) R 프로그래밍

 

boxplot(c(1, 2, 2, 3, 3, 3))

 

⑤ 예시

 

박스 그래프 예 : 답은 ①
출처 : 2013 MEET/DEET 자연과학 II (의학계열)

 

Figure. 5. 박스 그래프 예 : 답은 ①]

 

1-7. 바이올린 플롯(violin plot) : x축은 각 실험군이고, 각 실험군 별 확률밀도함수를 90°로 돌려 y축에 나타낸 것 

⒀ 1-8. 줄기와 잎 그림 

 

줄기와 잎 그림
출처 : 2010 MEET/DEET 자연과학 II (의학계열)

 

Figure. 6. 줄기와 잎 그림]

 

① 줄기는 십의 자리의 수를 나타냄. 잎은 일의 자리의 수를 나타냄

② 괄호 안의 숫자는 해당 줄기의 도수 

1-9. 분위수 대 분위수 플롯 

2-1. 누적 막대 그래프(stacked bar chart)

 (참고) 파이썬 프로그래밍 (Bokeh)  

 

Bokeh Plot

 

Figure. 7. 누적 막대 그래프

 

from bokeh.plotting import figure, output_file, show

output_file("hbar_stack.html")
p = figure(width=400, height=400, title = "Horizontal Stacked Bar Chart",
           tooltips=[("x", "$x"), ("y", "$y")])
source = ColumnDataSource(data=dict(
    y=[1, 2, 3, 4, 5],
    x1=[1, 2, 4, 3, 4],
    x2=[1, 4, 2, 2, 3],
))
p.hbar_stack(['x1', 'x2'], y='y', height=0.8, color=("grey", "lightgrey"), source=source)
show(p)

 

 2-2. 면적 그래프(area chart) 

 (참고) 파이썬 프로그래밍 (Bokeh

 

Bokeh Plot

 

Figure. 8. 면적 그래프

 

import numpy as np

from bokeh.models import ColumnDataSource
from bokeh.plotting import figure, output_file, show

output_file("varea_stack.html")

source = ColumnDataSource(data=dict(
    x=[1, 2, 3, 4, 5],
    y1=[1, 2, 4, 3, 4],
    y2=[1, 4, 2, 2, 3],
))

p = figure(width=400, height=400, title = "Area Chart",
           tooltips=[("x", "$x"), ("y", "$y")])
p.varea_stack(['y1', 'y2'], x='x', color=("grey", "lightgrey"), source=source)
show(p)

 

2-3. 심볼 맵(symbol map) 

 (참고) 파이썬 프로그래밍 (Bokeh

 

Bokeh Plot

 

Figure. 9. 심볼 맵

 

import numpy as np

from bokeh.io import output_file, show
from bokeh.plotting import figure
from bokeh.transform import linear_cmap
from bokeh.util.hex import hexbin

output_file("hex_tile.html")

n = 50000
x = np.random.standard_normal(n)
y = np.random.standard_normal(n)
bins = hexbin(x, y, 0.1)

p = figure(width=400, height=400, title = "Symbol Map", 
           match_aspect=True, background_fill_color='#440154',
           tooltips=[("x", "$x"), ("y", "$y")])
p.grid.visible = False

p.hex_tile(q="q", r="r", size=0.1, line_color=None, source=bins,
           fill_color=linear_cmap('counts', 'Viridis256', 0, max(bins.counts)))
show(p)

 

 2-4. 코로플레스 지도

① 등치지역도라고도 함

② 어떤 데이터 수치에 따라 지정한 색상 스케일로 영역을 색칠해서 표현함

③ 영역별 데이터를 표현하는 가장 보편적인 방법

 2-5. 카토그램

① 변량비례도라고도 함

② 지도의 형태를 왜곡시켜 데이터 지각의 왜곡을 방지하도록 보정 

2-6. 모자이크 플롯(Mosaic plot)

① 2차원 또는 3차원 교차표의 시각화 기법으로 범주형 다변량 데이터를 표현하는데 많이 사용되는 그래프

② 전체 사각형 도형으로 나누고, 그 다음 다시 각 도형을 행 내 열의 빈도에 해당하는 직사각 도형으로 나누어 표현

 

입력: 2019.09.11 15:15

수정: 2022.03.13 18:21