- 추론(inference) : 제한된 데이터로 주어진 실험 결과를 더 큰 과정 또는 모집단에 적용하려는 의도를 반영한다.

1. A/B 검정

- 두 처리 방법, 제품, 혹은 절차 중 어느 쪽이 다른 쪽보다 더 우월하다는 것을 입증하기 위해 실험군을 두 그룹으로 나누어 진행하는 실험이다.

용어 의미
처리(treatment) 어떤 대상에 주어지는 특별한 환경이나 조건
처리군(treatment group) 특정 처리에 노출된 대상들의 집단
대조군(control group) 어떤 처리도 하지 않은 대상들의 집단
랜덤화(randomization0 처리를 적용할 대상을 임의로 결정하는 과정
대상(subject) 처리를 적용할 개체 대상
검정통계량(test statistic) 처리 효과를 측정하기 위한 지표

- 대조군의 경우, 관심 처리를 뺀 나머지는 처리 그룹과 동일한 조건이 적용되기 때문에 대조군은 설정은 필수적이다.

2. 가설검정

- 가설검정(hypothesis test)은 유의성 검정(significance test)라고도 불리며, 그 목적은 관찰된 효과가 우연에 의한 것인지 여부를 알아내는 것이다.

용어 의미
귀무가설(null hypothesis) 우연 때문이라는 가설
대립가설(alternative hypothesis) 귀무가설과의 대조(증명하고자 하는 가설)
일원검정(one-way test) 한 방향으로만 우연히 일어날 확률을 계산하는 가설검정
이원검정(two-way test) 양방향으로 우연히 일어날 확률을 계산하는 가설검정

1) 귀무가설

- 그룹 간의 차이는 우연에 의한 결과라는 것을 기본 가정으로 설정하고 이를 귀무가설이라고 부른다. 결국, 귀무가설이 틀렸다는 것을 입증해서, A 그룹과 B 그룹 간의 차이가 우연이 아니라는 것을 보여주는 것이 목적이다.

 

2) 대립가설

- 귀무가설과 대립 가설이 모든 가능성을 설명할 수 있어야 한다.

 

귀무가설 : 그룹 A와 그룹 B의 평균에는 차이가 없다.

대립가설 : 그룹 A와 그룹 B의 평균은 다르다(더 크거나 작을 수 있다).

-> 모든 가능성을 설명할 수 있기 때문에 올바른 가설 검정이다.

 

귀무가설 : A < B

대립가설 : A > B

-> A=B라는 가능성을 설명할 수 없기 때문에 올바르지 않은 가설설정이다.

 

3) 일원 가설검정

- 우연에 의한 극단적인 결과에 대해 한 방향만을 고려하여 p 값을 계산한다.

 

4) 이원 가설검정

- 우연에 의한 극단적인 결과가 양쪽에서 나타날 p 값을 계산한다.

3. 재표본추출

- 재표본추출이란 랜덤한 변동성을 알아보자는 일반적인 목표를 가지고, 관찰된 데이터의 값에서 표본을 반복적으로 추출하는 것을 의미한다. 부트스트랩과 순열검정이라는 두 가지 주요 유형이 있다.

- 부트스트랩은 추정의 신뢰성을 평가하는 데 사용되며, 순열검정은 일반적으로 두 개 이상의 그룹과 관련된 가설을 검증하는 데 사용한다.

용어 의미
순열검정(permutation test) 두 개 이상의 표본을 함께 결합하여 관측값들을 무작위로(또는 전부를) 재표본으로 추출하는 과정을 말한다.
복원/비복원(with or without replacement) 표본을 추출할 때, 이미 한번 뽑은 데이터를 다음번 추출을 위해 다시 제자리에 돌려 놓거나/다음 추출에서 제외하는 표집 방법

1) 순열검정

- 순서를 바꾼다(permute)라는 의미의 영어 표현은 말 그대로 어떤 값들의 집합에서 값들의 순서를 변경한다는 의미가 있다.

perm_fun <- function(x, n1, n2)
{
	n <- n1 + n2 # 여러 그룹의 데이터를 하나의 그룹으로 합친다.
	idx_b <- sample(1:n, n1) # 기존의 그룹과 동일한 크기로 표본을 비복원 추출한다.
    idx_a <- setdiff(1:n, idx_b) # 기존의 그룹과 동일한 크기로 표본을 비복원 추출한다.
    mean_diff <- mean(x[idx_b]) - mean(x[idx_a])
    return(mean_diff)
}

위의 랜덤 셔플링 절차를 임의순열검정(random permutation test) 또는 임의화검정(randomization test)이라고 부르며 이 외에도 전체순열검정(exhaustive permutation test)와 부트스트랩 순열검정(bootstrap permutation test)가 있다.

 

전체순열검정

- 데이터를 무작위로 섞고 나누는 대신 실제로 나눌 수 있는 모든 가능한 조합을 찾는다. 그렇기 때문에 샘플이 작을 경우에만 실용적이다.( 셔플링을 반복할수록, 임의순열검정의 결과는 전체순열검정의 결과와 거의 유사하게 근접한다.)

 

부트스트랩 순열검정

- 샘플링 과정을 복원 추출로 수행한다. 이러한 경우 모집단에서 개체를 선택할 때 임의성을 보장하며, 개체가 처리 그룹에 할당될 때에도 임의성을 보장한다.

 

* 순열검정은 랜덤한 변이가 어떤 역할을 하는지 알아보기 위해 사용되는 휴리스틱한 절차이다.

* 리샘플링의 장점 중 하나는 추론에서 '모두에게 맞는' 접근 방식이라고 말할 수 있다는 점이다.

4. 통계적 유의성과 p 값

- 통계적 유의성이란, 실험이나 연구 결과가 우연히 일어난 것인지 아니면 우연히 일어날 수 없는 극단적인 것인지를 판단하는 방법이다.

용어 의미
p 값(p-value) 귀무가설을 구체화한 기회 모델이 주어졌을 때, 관측된 결과와 같이 특이하거나 극단적인 결과를 얻을 확률
알파(alpha) 실제 결과가 통계적으로 의미 있는 것으로 간주되기 위해, 우연에 의한 기회 결과가 능가해야 하는 '비정상적인' 가능성의 임계 확률
제1종 오류(type I error) 우연에 의한 효과가 실제 효과라고 잘못 결론 내리는 것
제2종 오류Itype II error) 실제 효과를 우연에 의한 효과라고 잘못 결론 내리는 것

1) p 값

- 우리가 p 값을 통해 전달하고자 하는 것 : 결과가 우연에서 비롯될 확률.

- 실제 p 값이 나타내는 것 : 랜덤 모델이 주어졌을 때, 그 결과가 관찰된 결과보다 더 극단적일 확률.

 

2) 오류

- 1종 오류 : 어떤 효과가 우연히 발생한 것인데, 그것이 사실이라고 잘못 판단하는 경우

- 2종 오류 : 어떤 효과가 실제로 있는 것인데, 그것이 우연히 발생한 것이라고 잘못 판단하는 경우

 

* 유의성 검정의 기본 기능은 어쩌다 우연히 일어난 일에 속지 않도록 하는 것이다. 따라서 보통은 1종 오류를 최소화하도록 가설을 설계한다.


< 참고자료 >
1. Peter Brucs & Andrew Brucs (2018), 데이터 과학을 위한 통계. 한빛미디어. 이용준 옮김.

※ 통계학에서의 여러가지 분포(2)은 분포의 종류에 대해서 간단히 설명하며 추후 보완한 자료를 업로드 예정입니다. 따라서, 통계학의 관점의 깊은 수준까지는 다루지 않을 예정입니다.

2. 7. 긴 꼬리 분포 - 보충설명 필요

- 역사적으로 통계에서의 정규분포의 중요성에도 불구하고, 그리고 그 이름에 담긴 '정상적'이라는 의미와는 달리, 데이터는 일반적으로 정규분포를 따르지 않는다.

용어 의미
꼬리(tail) 적은 수의 극단값이 주로 존재하는, 도수분포의 길고 좁은 부분
왜도(skewmess) 분포의 한쪽 꼬리가 반대쪽 다른 꼬리보다 긴 정도

2. 8. 스튜던트의 t 분포

- t 분포(t-distribution)는 정규분포와 생김새가 비슷하지만, 꼬리 부분이 약간 더 두껍고 길다.

그림 1. t 분포의 활률 밀도 함수

- t 분포의 정확도는 표본에 대한 통계량의 분포가 정규분포를 따른다는 조건을 필요로 한다. 원래 모집단이 정규분포를 따르지 않을 때조차도, 표본 통계량은 보통 정규분포를 따르는 것으로 나타났다(t 분포가 널리 적용되는 이유). 이러한 현상을 중심극한정리라고 부른다.

2. 9. 이항분포

용어 의미
시행(trial) 독립된 결과를 가져오는 하나의 사건
성공(success) 시행에 대한 관심의 결과
이항식(binomial) 두 가지 결과를 갖는다.
이항시행(binomial trial) 두 가지 결과를 가져오는 시행
이항분포(binomial distribution) $x$번 시행에서 성공한 횟수에 대한 분포

R에서 dbionom과 pbinom 함수를 사용한다.

dbinom(x=2, n=5, p=0.1)

  • dbinom(x=2, n=5, p=0.1) : n=5인 시행에서 각 시행의 성공 확률이 p=0.1일 떼 정확히 x=2인 성공이 나올 확률을 의미한다.

  • pbinom(x=2, n=5, p=0.1) : n=5인 시행에서 각 시행의 성공 확률이 p=0.1일 떼 정확히 x=2 또는 그 이하로 성공할 확률을 의미한다.

※ 시행 횟수가 충분할 경우(특히 $p$가 0.50에 가까울 때) 이항분포는 사실상 정규분포와 구별이 어렵다.

2. 10. 푸아송 분포와 그 외 관련 분포들

용어 의미
람다(lambda) 단위 시간이나 단위 면적당 사건이 발생하는 비율
푸아송 분포(Poisson distribution) 표집된 단위 시간 혹은 단위 공간에서 발생한 사건의 도수분포
지수 분포(exponential distribution) 한 사건에서 그다음 사건까지의 시간이나 거리에 대한 도수분포
베이불 분포(Weibull distribution) 사건 발생률이 시간에 따라 변화하는, 지수분포의 일반화된 버전

2. 10. 1. 푸아송 분포

- 시간 단위 또는 공간 단위로 표본들을 수집할 때, 그 사건들의 분포를 알려준다.

- $\lambda$ : 푸아송 분포의 핵심 파라미터로 어떤 일정 시간/공간 구간 안에서 발생한 평균 사건 수를 의미한다. 분산 역시 $\lambda$이다.

- rpois(100, lambda=2) : $\lambda=2$인 푸아송 분포에서 100개의 난수를 생성한다.

2. 10. 2. 지수분포

- 푸아송 분포에 사용된 것과 동일한 변수 $\lambda$를 사용하여 사건과 사건 간의 시간 분포를 모델링할 수 있다.

- rexp(n = 100, rate = .2) : 주기별 평균 사건 수가 0.2인 지수분포에서 100개의 난수를 생성한다.

 

※ 푸아송이나 지수분포에 대한 핵심은 $\lambda$가 해당 기간 동안 일정하게 유지된다는 가정이다. 대체적으로 만족하지 않는 경우가 많지만, 시간 주기 또는 공간을, 일정 기간 충분히 동일하도록 영역을 잘 나눈다면, 해당 기간 내의 분석 및 시뮬레이션이 가능하다.

2. 10. 4. 베이불 분포

- 베이불 분포는 지수분포를 확장한 것으로, 형상(shape) 파라미터 $\beta$로 지정된 대로 발생률이 달라질 수 있다. $\beta>1$일 경우, 발생률은 시간이 지남에 따라 증가하며, $\beta<1$ 이면 감소한다. 베이불 분포는 사건 발생률 대신 고장 시간 분석에 사용되기 때문에 두번째 인수는 구간당 사건 발생률 보다는 특성 수명으로 표현된다. 기호로 그리스 문자 $\eta$(에타)를 사용한다. 척도(scale) 변수라고도 한다.

-rweibull(100, 1.5, 5000) : 1.5의 형상 파라미터와 5,000의 특성 수명을 갖는 베이불 분포에서 100개의 난수(수명)를 생성한다.


※ 여기서는 간단히 분포의 종류에 대해서만 알아보고 각 각의 분포에 대해서는 추후에 따로 다뤄보도록 하겠다.

<참고자료>
1. Peter Brucs & Andrew Brucs (2018), 데이터 과학을 위한 통계. 한빛미디어. 이용준 옮김.
2. Student's t-distribution, Wikipedia(t-distribution 그래프)

※ 통계학에서의 여러가지 분포(1)은 분포의 종류에 대해서 간단히 설명하며 추후 보완한 자료를 업로드 예정입니다. 따라서, 통계학의 관점의 깊은 수준까지는 다루지 않을 예정입니다.

2. 3. 통계학에서의 표본분포

- 통계학에서 표본분포라는 용어는 하나의 동일한 모집단에서 얻은 여러 샘플에 대한 표본통계량의 분포를 나타낸다. 고전 통계의 대부분은 표본을 가지고 모집단을 추론하는 것과 관련있다.

용어 의미
표본통계량(sample statistic) 더 큰 모집단에서 추출된 표본 데이터들로부터 얻은 측정 지표
데이터 분포(data distribution) 어떤 데이터 집합에서의 각 개별 값의 도수분포
표본분포(sampling distribution) 여러 표본들 혹은 재표본들로부터 얻은 표본통계량의 도수분포
중심극한정리(central limit theorem) 표본크기가 커질수록 표본분포가 정규분포를 따르는 경향
표준오차(standard error) 여러 표본들로부터 얻은 표본통계량의 변량
(개별 데이터 값들의 변량을 뜻하는 표준편차와 혼동하지 말 것)

2. 3. 1. 중심극한정리

- 모집단이 정규분포가 아니더라도, 표본크기가 충분하고 데이터가 정규성을 크게 이탈하지 않는 경우, 여러 표본에서 추출한 평균은 종 모양의 정규곡선을 따른다.

2. 3. 2. 표준오차

- 통계에 대한 표본분포와 변동성을 한마디로 말해주는 단일 측정 지표이다. 표준오차는 표본 값들의 표준편차 $s$와 표본크기 $n$을 기반으로 한 통계량을 이용하여 추정할 수 있다.

$SE=\frac{s}{\sqrt{n}}$

-> 표준오차와 표본크기 사이의 관계를 때로는 n 제곱근의 법칙(square-root of n rule)이라고 한다. 즉 표준오차를 2배로 줄이려면 표본 크기를 4배 증가시켜야 한다.

2. 5. 신뢰구간

용어 의미
신뢰수준(confidence level) 같은 모집단으로부터 같은 방식으로 얻은, 관심 통계량을 포함할 것으로 에상되는, 신뢰구간의 백분율
구간끝점(interval endpoint) 신뢰구간의 최상위, 최하위 끝점

< 부트스트랩 신뢰구간 구하는 법 >

  1. 데이터에서 복원추출 방식으로 크기 n인 표본을 뽑는다(재표본추출).

  2. 재표본추출한 표본에 대해 원하는 통계량을 기록한다.

  3. 1~2단계를 $R$번 반복한다.

  4. $x%$ 신뢰구간을 구하기 위해, $R$개의 재표본 결과로부터 분포의 양쪽 끝에서 $[(100-x)/2]%$만큼 잘라낸다.

  5. 절단한 점들은 $x%$ 부트스트랩 신뢰구간의 양 끝점이다.

- 신뢰수준이 높을수록 구간이 더 넓어진다. 또한, 표본이 작을수록 구간이 넓어진다(즉, 불확실성이 더 커진다.)

2. 6. 정규분포

- 표본통계량 분포가 보통 어떤 일정한 모양이 있다는 사실은 이 분포를 근사화하는 수학 공식을 개발하는 데 강력한 도구가 되었다.

용어 의미
오차(error) 데이터 포인트와 예측값 혹은 평균 사이의 차이
표준화(정규화)하다.(standardize) 평균을 빼고 표준편차로 나눈다.
z 점수(z-score) 개별 데이터 포인트를 정규화한 결과
표준정규분포(standard normal distribution) 평균=0, 표준편차=1인 정규분포
QQ 그림(QQ-plot) 표본분포가 정규분포에 얼마나 가까운지를 보여주는 그림

※ 실제로 전형적인 데이터 과학 프로젝트에서 사용되는 대부분의 변수들, 실제 대부분의 원시 데이터는 전체적으로 정규분포를 따르지 않는다.

2. 6. 1. 표준정규분포와 QQ그림

- 정규분포를 표준정규분포로 변환하는 과정을 정규화(normalization) 또는 표준화(standardization)라고 한다. 이렇게 변환한 값을 z 점수라고 하며, 정규분포를 z 분포라고도 한다.

$Z=\frac{X-\mu}{\sigma}$

- QQ 그림은 표본이 정규분포에 얼마나 가까운지를 시각적으로 판별하는 데 사용된다. QQ 그림은 z 점수를 오름차순으로 정렬하고 각 값의 z 점수를 y축에 표시한다.


※ 통계학에서의 여러가지 분포(1)은 분포의 종류에 대해서 간단히 설명하며 추후 보완한 자료를 업로드 예정입니다. 따라서, 통계학의 관점의 깊은 수준까지는 다루지 않을 예정입니다.

<참고자료>
1. Peter Brucs & Andrew Brucs (2018), 데이터 과학을 위한 통계. 한빛미디어. 이용준 옮김.

미지의 분포를 따를 것으로 추정되는 모집단에서 표본 데이터와 그 경험을 통해 얻은 분포를 얻어내는 것이 표본추출이다. 빅데이터 시대가 되면서 데이터의 질과 적합성을 일정 수준 이상으로 담보할 수도 없으면서 데이터 크기만 늘어나는 것이 오늘날 상황이다. 이런 상황에서, 오히려 다양한 데이터를 효과적으로 다루고 데이터 편향을 최소화하기 위한 방법으로 표본추출의 필요성이 더 커지고 있다.

 

  • 전통적인 통계학 : 강력에 가정에 기초한 이론을 통해 모집단을 밝혀내는 데 초점을 맞춘다.

  • 현대 통계학 : 가정이 더 이상 필요하지 않은 표본에 대한 연구에 초점을 맞춘다.

2. 1. 랜덤표본추출과 표본 편향

용어 의미
표본(sample) 더 큰 데이터 집합으로부터 얻은 부분집합
모집단(population) 어떤 데이터 집합을 구성하는 전체 대상 혹은 전체 집합
N(n) 모집단(표본)의 크기
랜덤표본추출(random sampling) 무작위로 표본을 추출하는 것
층화표본추출(stratified sampling) 모집단을 층으로 나눈 뒤, 각 층에서 무작위로 표본을 추출하는 것
단숨랜덤표본(simple random sample) 모집단 층화 없이 랜덤표본추출로 얻은 표본
표본편향(sample bias) 모집단을 잘못 대표하는 표본
  • 복원추출(with replacement) : 추출 후, 다음번에도 중복 추출이 가능하도록 해당 샘플을 다시 모집단에 포함시킨다.

  • 비복원추출(without replacement) : 추출 후, 한번 뽑힌 원소는 추후 추출에 사용하지 않는다.

- 원래 대표되도록 의도된 모집단으로부터 추출되지 않고 유의미한 비임의 방식으로 표본이 추출되면서 표본 편향이 발생했다. 여기서 비임의(nonrandom)는 아무리 랜덤표본이라고 해도, 어떤 표본도 모집단을 정확하게 대표할 수 없다는 것을 의미한다.

층화표본추출

- 모집단을 여러 층으로 나누고 각 층에서 무작위로 샘플을 추출한다. 이러한 과정에서 각 층에 데이터 불균형이 발생할 수 있다. 이런 경우 가중치를 주는 표본추출을 통해, 계층마다 동일한 표본크기를 얻을 수 있다.

2. 2. 선택 편향

- 데이터를 의식적이든 무의식적이든 선택적으로 고르는 관행을 의미한다.

용어 의미
편향(bias) 계통적 오차
데이터 스누핑(data snooping) 뭔가 흥미로운 것을 찾아 광범위하게 데이터를 살피는 것
방대한 검색 효과
(vast search effect)
중복 데이터 모델링이나 너무 많은 예측변수를 고려하는 모델링에서 비롯되는 편향 혹은 비재현성

- 가설을 구체적으로 명시하고 랜덤표본추출 원칙에 따라 데이터를 수집하면 편향을 피할 수 있다.

- 큰 데이터 집합을 가지고 반복적으로 다른 모델을 만들고 다른 질문을 하다 보면, 언젠가 흥미로운 것을 발견하기 마련이다. 성능을 검증하기 위해 하나 이상의 홀드아웃(holdout) 세트를 이용하면 이를 방지할 수 있다. 또한 엘더는 데이터 마이닝 모델에서 제시하는 예측들을 검증하기 위해, 목푯값 섞기(본질적으로는 순열 검정)라는 것을 추천했다.

평균으로의 회귀(regression to the mean)

- 주어진 어떤 변수를 연속적으로 측정했을 때 나타나는 현상이다. 예외적인 경우가 관찰되면 그다음에는 중간 정도의 경우가 관찰되는 경향이 있다. 따라서 예외 경우를 너무 특별히 생각하고 의미를 부여하는 것은 선택 편향으로 이어질 수 있다.

2. 4. 부트스트랩

- 통계량이나 모델 파라미터(모수)의 표본 분포를 추정하는 쉽고 효과적인 방법은, 현재 있는 표본에서 추가적으로 표본을 복원추출하고 각 표본에 대한 통계량과 모델을 다시 계산하는 것이다. 이러한 절차를 부트스트랩(bootstrap)이라 하며, 데이터나 표본 통계량이 정규분포를 따라야 한다는 꼭 필요하지 않다.

용어 의미
부트스트랩 표본(bootstrap sample) 관측 데이터 집합으로부터 얻은 복원추출 표본
재표본추출(resampling) 관측 데이터로부터 반복해서 표본추출하는 과정. 부트스트랩과 순열(셔플링) 과정을 포함한다.

- 부트스트랩을 통해서 뽑을 때마다 각 원소가 뽑힐 확률은 그대로 유지하면서 무한한 크기의 모집단을 만들어낼 수 있다. 부트스트랩 반복 횟수가 많을수록 표준오차나 신뢰구간에 대한 추정이 더 정확해진다.

 

※ 부트스트랩은 표본크기가 작은 것을 보완하기 위한 것이 아니다. 모집단에서 추가적으로 표본을 뽑는다고 할 때, 그 표본이 얼마나 원래 표본과 비슷할지를 알려줄 뿐이다. -> 추가적인 학습이 필요하다.

2. 4. 1. 재표본추출 대 부트스트래핑

- 재표본추출은 부트스트랩과 더불어 여러 표본이 결합되어 비복원추출을 수행할 수 있는 순열 과정을 포함한다.

 

※ 부트스트랩에 대한 추가적인 게시글을 통해서 깊이 있는 학습이 필요하다.

<참고자료>
1. Peter Brucs & Andrew Brucs (2018), 데이터 과학을 위한 통계. 한빛미디어. 이용준 옮김.

1. 8. 두 개 이상의 변수 탐색하기

- 다루는 변수의 개수에 따라서 하나일 때 일변량 분석(univariate analysis), 상관분석과 같이 두 변수를 취급할 때 이변량 분석(bivariate analysis) 그리고 셋 이상의 변수를 다루는 다변량 분석(multivariate anaylsis)이 있다.

용어 의미
분할표(contingency table) 두 가지 이상의 범주형 변수의 빈도수를 기록한 표
육각형 구간(hexagonal binning) 두 변수를 육각형 모양의 구간으로 나눈 그림
등고 도표(contour plot) 두 변수의 밀도를 등고선으로 표시한 도표
바이올린 도표(violin plot) 상자그림과 비슷하지만 밀도추정을 함께 보여준다.

- 일변량분석과 이변량 분석은 요약 통계를 계산하고 시각화하는 것을 기본으로 한다. 이변량 분석과 다변량 분석의 형태는 데이터가 수치형인지 범주형인지, 데이터의 특성에 따라 달라진다.

1. 8. 1. 육각형 구간과 등고선(수치형 변수 대 수치형 변수를 시각화)

- 산점도는 데이터의 개수가 상대적으로 적을 때는 유용하다. 하지만 데이터의 개수가 많을 때는 사용하기 어려움이 있다. 이를 해결하기 위해서 육각형 구간 그림을 사용한다. 데이터를 점으로 표시하는 대신 기록값들을 육각형 모양의 구간들로 나누고 각 구간에 포함된 기록값의 개수에 따라 색깔을 표시한다. R의 ggplot2 패키지를 사용해서 쉽게 그릴 수 있다.

그림 1. 육각형 구간 그림

- 등고도표는  두 수치형 변수 사이의 관계를 시각화하기 위해 산점도 위에 등고선을 사용한다. 등고선 위의 점들은 밀도가 같다. '꼭대기'쪽으로 갈수록 밀도는 높아진다. R에서 ggplot2의 geom_density2d 함수를 사용해서 그릴 수 있다.

그림 2. 등고 도표

이 외에도 두 수치형 변수의 관계를 나타내는 다른 도표로 히트맵(heat map) 등이 있다.

1. 8. 2. 범주형 변수 대 범주형 변수

- 범주표는 빈도수를 기록한 표를 뜻하는데 두 범주형 변수를 요약하는 데 효과적인 방법이다. R에서 descr 패키지에서 CrossTable 함수를 활용해 분할표를 만들 수 있다.

 

Grade Fully paid Currnet Late Charged off Total
A 20715
0.277
52058
0.695
494
0.0007
1588
0.021
74855
0.161
B 31782
0.232
97601
0.713
2149
0.016
5384
0.039
136916
0.294
C 23773
0.190
02444
0.738
2895
0.023
6163
0.049
125275
0.269
D 14036
0.183
55287
0.719
2421
0.031
5131
0.067
76875
0.165
E 6089
0.170
25344
0.709
2898
0.081
2898
0.081
35752
0.077
F 2376
0.180
8675
0.656
1556
0.118
1556
0.118
13228
0.028
G 655
0.197
2042
0.615
419
0.126
419
0.126
4422
0.007
Total 99426 333451 10207 23139 466223

표 1. 분할표

1. 8. 3. 범주형 변수 대 수치형 변수

- 상자그림은 범주형 변수에 따라 분류된 수치형 변수의 분포를 시각화하여 비교하는 간단한 방법이다. 바이올린 도표는 상자그림을 보완한 형태로, y축을 따라 밀도 추정 결과를 동시에 시각화한다. 바이올린 도표의 장점은 상자그림에서는 보이지 않는 데이터의 분포를 볼 수 있다는 점이다. R에서 ggplot2의 geom_violin 함수를 이용해 만들 수 있다.

그람 3. 바이올린 도표

1. 8. 4. 다변수 시각화하기

- 조건화(conditioning)라는 개념을 통해 두 변수 비교용 도표(산점도, 육각형 구간, 상자그림 등)를 더 여러 변수를 비교하는 용도로 확정하여 활용할 수도 있다. R에서 ggplot2의 facets라는 조건화 변수 개념을 이용한다.

- 그래픽스 시스템에서 조건화 변수라는 개념은 벨 연구소의 연구원들에 의해 개발된 트렐리스 그래픽스에서 처음 도입되었다. 이후 lattice, ggplot2와 같은 R 패키지, 그리고 Seaborn, Bokeh 같은 파이썬 패키지 등 다양한 최신 그래픽스 시스템에 영향을 주었다. 또한 조건화 변수는 태블로(Tableau)나 스폿파이어(Spotfire) 같은 비즈니스 지능형 플랫폼에서도 없어서는 안 될 중요한 요소가 되었다.


EDA의 핵심은 바로, 데이터를 다루는 모든 프로젝트에서 가장 우선적이며 가장 중요한 과정이 데이터를 들여다보는 것에 있다는 것이다. 데이터를 요약하고 시각화하는 것을 통해, 프로젝트에 대한 가치있는 통찰과 이해를 얻게 된다.
EDA은 모든 데이터 과학 프로젝트의 초석이 되어야 한다.

 

※ R에서 ggplot2을 비롯한 시각화 패키지를 조사하고 추후 다른 글을 통해서 소개할 수 있도록 한다. 이 외에서 파이썬, 태블로, 스폿파이어에 대해서 학습할 기회를 가진다. 

<참고자료>
1. Peter Brucs & Andrew Brucs (2018), 데이터 과학을 위한 통계. 한빛미디어. 이용준 옮김.
2. Hexagonal Binning, Datavizproject(https://datavizproject.com/data-type/hexagonal-binning/)
3. Contour Plot, Datavizproject(https://datavizproject.com/data-type/contour-plot/#)
4. Violin Plot, Datavizproject(https://datavizproject.com/data-type/violin-plot/)

1. 7. 상관관계

  • 양의 상관관계 : X가 큰 값을 가지면 Y도 큰 값을 갖고 X가 작은 값을 가지면 Y도 작은 값을 갖는 경우, 변수 X와 Y는 서로 양의 상관관계를 갖는다고 말한다.

  • 음의 상관관계 : X가 큰 값을 갖는데 Y는 작은 값을 갖고 반대의 경우도 마찬가지라면, 이 변수들은 서로 음의 상관관계를 갖는다고 한다.

용어 의미
상관계수(correlation coefficient) 수치적 변수들 간에 어떤 관계가 있는지를 나타내기 위해 사용되는 측정량
(-1에서 +1까지의 범위)
상관행렬(correlation matrix) 행과 열이 변수들을 의미하는 표를 말하며, 각 셀은 그 행과 열에 해당하는 변수들 간의 상관관계를 의미한다.
산점도(scatterplot) x축과 y축이 서로 다른 두 개의 변수를 나타내는 도표

- 상관계수(피어슨 상관계수라고도 한다)는 두 변수 사이의 상관관계를 항상 같은 척도에 놓고 추정하는 상관관계보다 더욱 수치화된 방법이다. 피어슨 상관계수를 계산하기 위해서, 변수 1과 변수 2 각각의 평균으로부터의 편차들을 서로 곱한 값들의 평균을 각 변수의 표준편차의 곱으로 나눠준다.

 

$r=\frac{\sum_{i=1}^{N}(x_i-\bar{x})(y_i-\bar{y})}{(N-1)s_xs_y}$

 

상관계수는 항상 +1(완전한 양의 상관관계)와 -1(완전한 음의 상관관계) 사이에 존재한다. 만약 변수들이 선형적인 관계를 갖지 않을 경우, 상관계수는 유용한 측정 지표가 아니다.

 

  T CTL FTR VZ LVLT
T 1.000 0.475 0.328 0.678 0.279
CTL 0.475 1.000 0.420 0.417 0.287
FTR 0.328 0.420 1.000 0.287 0.260
VZ 0.678 0.417 0.287 1.000 0.242
LVLT 0.279 0.287 0.260 0.242 1.000

 

상관행렬에서 행렬의 대각 원소들은 모두 1(자기 자신과 상관관계는 1이다)이라는 것, 그리고 대각 원소 아래쪽은 위쪽과 같은 값을 갖는 대각 행렬이라는 점을 기억하자. R에서는 corrplot 패키지를 사용하면 쉽게 그릴 수 있다. corrplot 패키지는 다른 글에서 상세하게 다뤄볼 예정이다.

1. 7. 1. 산점도

- 두 변수 사이의 관계를 시각화하는 가장 기본적인 방법이다. x, y축은 각각의 변수들의 의미하고 그래프의 각 점은 하나의 레코드를 의미한다. 아래의 산점도의 경우에는 두 변수는 음의 상관성을 보인다.

그림 1. 산점도

※ 피어슨 상관계수를 포함한 여러 상관계수와 R의 corrplot 패키지와 산점도를 그리는 plot 명령어에 대한 학습이 필요하다.

 

<참고자료>
1. Peter Brucs & Andrew Brucs (2018), 데이터 과학을 위한 통계. 한빛미디어. 이용준 옮김.
2. Scatter plot, Wikipedia(https://en.wikipedia.org/wiki/Scatter_plot)

탐색적 데이터 분석(EDA : exploratory data analysis)

- 기존의 통계학에서는 추론, 즉 적은 표본을 가지고 더 큰 모집단에 대한 결론을 도출하기 위한 일련의 복잡한 과정에 관해 다루었다. 1962년 존 투키는 "데이터 분석의 미래"라는 논문을 통해 통계적 추론을 하나의 구성 요소로보는 데이터 분석(data analysis)이라는 새로운 과학적 학문을 제안했다. 이후 탐색적 데이터 분석이라는 분야는 1997년 존 투키의 "탐색적 데이터 분석"을 통해 정립되었다.

- 탐색적 데이터 분석은 데이터의 주요 특성을 요약하기 위해 데이터를 분석하는 접근법이며, 주로 시각적인 방법을 사용한다. 예시로는 박스 플롯, 히스토그램 등이 있다.

 

1. 5. 데이터 분포 탐색하기

용어 의미
상자그림(box plot) 투키가 데이터의 분포를 시각화하기 위한 간단한 방법으로 소개한 그림
도수분포표(frequency table) 어떤 구간에 해당하는 수치 데이터 값들의 빈도를 나타내는 기록
히스토그램(histogram) x축은 구간들을, y축은 빈도수를 나타내는 도수 테이블의 그림
밀도 그림(density plot) 히스토그램을 부드러운 곡선으로 나타낸 그림. 커널밀도추정을 주로 사용한다.

1. 5. 1. 백분위수와 상자그림

- 상자그림(box plot)은 백분위수를 이용해 데이터의 분산을 시각화하는 방법이다.

그림 1. 상자그림

용어 의미
최솟값(Minimum) 이상치를 제외하고 가장 작은 값. 상자를 기준으로 수염 아래의 끝에 있는 수평선.
최댓값(Maximum) 이상치를 제외하고 가장 큰 값. 상자를 기준으로 수염 위의 끝에 있는 수평선.
이상치(outlier) 그림에서 수염 외부에 점으로 존재한다.
수염(whisker) 상자를 기준으로 위아래로 점선으로 나타난 부분.
1분위수($Q_1$/25백분위수) 상자그림에서 상자의 아래쪽을 의미한다.
2분위수($Q_2$/50백분위수)
중간값(Median)
상자그림에서 상자 안에 있는 굵은 선으로 표시한다.
3분위수($Q_3$/75백분위수) 상자그림에서 상자의 위쪽을 의미한다.
IQR $IQR=Q_3-Q_1$

1. 5. 2. 도수분포표와 히스토그램

- 도수분포표는 변수의 범위를 동일한 크기의 구간으로 나눈 다음, 각 구간마다 몇개의 변수 값이 존재하는지를 보여주기 위해 사용된다.

- 히스토그램은 바로 이 도수분포표를 시각화하는 방법이다. R에서 hist 함수로 나타낸다.

hist(x, …)
# S3 method for default
hist(x, breaks = "Sturges",
     freq = NULL, probability = !freq,
     include.lowest = TRUE, right = TRUE,
     density = NULL, angle = 45, col = NULL, border = NULL,
     main = paste("Histogram of" , xname),
     xlim = range(breaks), ylim = NULL,
     xlab = xname, ylab,
     axes = TRUE, plot = TRUE, labels = FALSE,
     nclass = NULL, warn.unused = TRUE, …)

그림 2. 히스토그램

  • 그래프에 빈 구간들이 있을 수 있다.

  • 구간은 동일한 크기를 갖는다.

  • 구간의 수(혹은 구간의 크기)는 사용자가 결정할 수 있다.

  • 빈 구간이 있지 않은 이상, 막대 사이는 공간 없이 서로 붙어 있다.

통계학에서 말하는 모멘트

- 통계학에서 위치와 변이는 각각 분포의 일차 및 이차 적률(혹은 모멘트)이라고 한다. 삼차, 사차 모멘트는 각각 왜도(skewness), 첨도(kutosis)라고 부른다. 왜도는 데이터가 큰 값이나 작은 값 쪽으로 얼마나 비스듬히 쏠려 있는지를 나타내고, 첨도는 데어티가 극단값을 갖는 경향성을 나타낸다. EDA에서는 모멘트 값들을 직접 구하기보다는 상자그림이나 히스토그램과 같이 시각화해서 직접 확인한다.

1. 5. 3. 밀도 추정

- 밀도 그림은 데이터의 분포를 연속된 선으로 보여준다. 다시 말해서 좀 더 부드러운 히스토그램이라고 생각해볼 수 있다. 커널밀도추정을 통해 데이터로부터 직접 계산한다. R의 density 함수로 나타낸다.

density(x, …)
# S3 method for default
density(x, bw = "nrd0", adjust = 1,
        kernel = c("gaussian", "epanechnikov", "rectangular",
                   "triangular", "biweight",
                   "cosine", "optcosine"),
        weights = NULL, window = kernel, width,
        give.Rkern = FALSE,
        n = 512, from, to, cut = 3, na.rm = FALSE, …)

그림 3. 밀도 추정

EDA에서 상자그림과 히스토그램을 제외한 다양한 방법과 밀도추정 부분에서 커널밀도추정 방법에 대한 심도있는 추가적인 학습이 필요하다.


1. 6. 이진 데이터와 범주 데이터 탐색하기

용어 의미
최빈값(mode) 데이터에서 가장 자주 등장하는 범주 혹은 값
기댓값(expected value) 범주에 해당하는 어떤 수치가 있을 때, 범주의 출현 확률에 따른 평균
막대도표(bar chart) 각 범주의 빈도수 혹은 비율을 막대로 나타낸 그림
파이그림(pie chart) 각 범주의 빈도수 혹은  비율을 원의 부채꼴 모양으로 나타낸 그림

막대도표는 어떤 범주형 자료를 보여줄 때 주로 사용되며 가장 흔한 시각화 방법이다. R에서 barplot 함수로 나타낸다.

barplot(height, …)
# S3 method for default
barplot(height, width = 1, space = NULL,
        names.arg = NULL, legend.text = NULL, beside = FALSE,
        horiz = FALSE, density = NULL, angle = 45,
        col = NULL, border = par("fg"),
        main = NULL, sub = NULL, xlab = NULL, ylab = NULL,
        xlim = NULL, ylim = NULL, xpd = TRUE, log = "",
        axes = TRUE, axisnames = TRUE,
        cex.axis = par("cex.axis"), cex.names = par("cex.axis"),
        inside = TRUE, plot = TRUE, axis.lty = 0, offset = 0,
        add = FALSE, ann = !add && par("ann"), args.legend = NULL, …)

# S3 method for formula
barplot(formula, data, subset, na.action,
        horiz = FALSE, xlab = NULL, ylab = NULL, …)

막대도표와 히스토그램은 매우 유사하다. 다만 막대도표의 x축은 각 요인변수(factored variable)의 서로 다른 범주들을 나타내는 반면, 히스토그램의 x축은 수치적으로 나타낼 수 있는 하나의 변수의 값을 의미한다. 또한 히스토그램에서 막대들은 일반적으로 서로 붙어 있고, 중간에 틈이 있다는 것은 그 부분에 해당하는 값들이 존재하지 않는다는 것을 의미하지만 막대도표에서 막대들은 서로 떨어져있다.

1. 6. 1. 최빈값

- 데이터에서 가장 자주 등장하는 값 혹은 값들. 범주형 데이터를 분석하는데 간단히 사용된다. 하지만 수치데이터에는 잘 사용하지 않는다.

1. 6. 2. 기댓값

공간 $S$를 갖는 이산형 확률변수 $X$의 pmf가 $f(x)$이고 총합

$\sum_{x\in{S}}^{}u(x)f(x)$

가 존재하면, 그 합을 $u(X)$의 수학적 기댓값(mathematical expectation) 또는 기댓값(expected value)이라 하고 $E[u(X)]$로 표기한다. 즉,

$E[u(X)]=\sum_{x\in{S}}^{}u(x)f(x)$.

 

간단히 말하면 기댓값은 가중평균과 같은 꼴이다.

 

※ 범주 데이터와 기댓값에 대한 추가적인 학습이 필요하다.

<참고자료>
1. Peter Brucs & Andrew Brucs (2018), 데이터 과학을 위한 통계. 한빛미디어. 이용준 옮김.
2. Exploratory data analysis, Wikipedia(en.wikipedia.org/wiki/Exploratory_data_analysis)
3. Box plot, Wikipedia(en.wikipedia.org/wiki/Box_plot)
4. Histogram, Wikipedia(en.wikipedia.org/wiki/Histogram)
5. Density estimation, Wikipedia(en.wikipedia.org/wiki/Density_estimation)
6. R 코드 정보, R Documentation(www.rdocumentation.org/)
7. Hogg & Tanis & Zimmerman (2016), 수리 통계학. 자유아카데미. 백장선 & 송영숙 옮김.

1. 3. 위치 추정

- 데이터를 살펴보는 가장 기초적인 단계는 각 Feature(변수)의 '대푯값(typical value')을 구하는 것이다. 이는 곧 대부분의 값이 어디쯤에 위치하는지(중심 경향성)를 나타내는 추정 값이다.

 

용어 의미
평균(Mean) 모든 값의 총합을 갯수로 나눈 값
가중 평균(Weighted Mean) 가중치를 곱한 값의 총합을 가중치의 총합으로 나눈 값
중간값(Median) 데이터에서 가장 가운데 위치한 값
가중 중간값(Weigthed Median) 데이터를 정렬한 후, 각 가중치 값을 위에서부터 더할 때, 총합의 중간이 위치하는 데이터 값
절사 평균(Trimmed Mean) 정해진 갯수의 극단값을 제외한 나머지 값들의 평균
로버스트하다(Robust) 극단값들에 민감하지 않다는 것을 의미한다.
특잇값(Outlier) 대부분의 값과 매우 다른 데이터 값(=이상치)

평균

- 가장 기본적인 위치 추정 방법으로 모든 값의 총합을 값의 개수로 나눈 값이다. 따라서 특잇값(이상치)의 영향을 많이 받는다.

평균$ =\overline{x}=\frac{\sum_i^nx_{i}}{n}$

절사 평균

- 값들을 크기 순으로 정렬한 후, 양끝에서 일정 개수의 값들을 삭제한 뒤 남은 값들을 가지고 구한 평균을 말한다. 따라서 극단값을 제거함으로써 특잇값(이상치)의 영향 줄이기 위해서 많이 사용된다.

절사 평균$ =\overline{x}=\frac{\sum_{i=p+1}^{n-p}x_{(i)}}{n-2p}$

여기서 p는 가장 크고 작은 값들의 쌍을 의미한다. 즉, p=1인 경우 가장 작은 값 $x_{(1)}$과 가장 큰 값 $x_{(n)}$을 제거했다는 것을 의미한다.

가중 평균 

- 각 데이터 값 $x_{i}$에 가중치 $w_{i}$를 곱한 값들의 총합을 다시 가중치의 총합으로 나누는 방법이다.

가중평균$ =\overline{x_w}=\frac{\sum_{i=1}^{n}w_{i}x_{i}}{\sum_{i}^{n}w_{i}}$

  • 어떤 값들이 본래 다른 값들에 비해 큰 변화량을 가질 때, 이러한 관측값에 대해 더 작은 가중치를 줄 수 있다.
  • 데이터를 수집할 때, 서로 다른 대조군에 대해서 항상 똑같은 수가 얻어지지 않는다. 이를 보정하기 위해서, 데이터가 부족한 소수 그룹에 대해 더 높은 가중치를 적용한다.

중간값

- 데이터를 일렬로 정렬했을 때, 한가운데 위치하는 값. 데이터의 개수가 짝수라면 가운데에 있는 두 값의 평균으로 한다. 따라서 특잇값(극단값)들의 영향을 받지 않으므로 로버스트한 위치 추정 방법이라고 알려져 있다.

특잇값

- 어떤 데이터 집합에서 다른 값들과 매우 멀리 떨어져 있는 값들을 말한다.

 

 

가장 기본적인 위치 추정 방법은 평균이다. 하지만 극단값(이상치)에 영향을 많이 받는 방법이다.

따라서 상황에 맞춰 좀 더 로버스트한 방법인 중간값과 절사평균을 활용한다.


1. 4. 변이 추정

- 변이(variability)는 데이터 값이 얼마나 밀집해 있는지 혹은 퍼져있는지를 나타내는 산포도(dispersion)를 나타낸다. 변이를 측정하고, 이를 줄이고, 실제 변이와 랜덤을 구분하고, 실제 변이의 다양한 요인들을 알아보고, 변이가 있는 상황에서 결정을 내리는 등, 통계의 핵심에 이 변이가 있다.

용어 의미
편차(deviation) 관측값과 위치 추정값사이의 차이(=오차, 잔차)
분산(variance) 평균과의 편차를 제곱한 값들의 합을$n-1$로 나눈 값. $n$은 데이터의 갯수
표준편차(standard deviation) 분산의 제곱근
평균절대편차
(mean absolute deviation)
평균과의 편차의 절댓값의 평균
중간값의 중위절대편차
(median absolute deviation from the median)
중간값과의 편차의 절댓값의 중간값
범위(range) 데이터의 최댓값과 최솟값의 차이
순서통계량(order statistics) 최소에서 최대까지 정렬된 데이터 값에 따른 계량형
백분위수(percentile) 어떤 값들의 $P$퍼센트가 이 값 혹은 더 작은 값을 갖고 $(100-P)$퍼센트가 이 값 혹은 더 큰 값을 갖도록 하는 값
사분위범위(interquartile range) 75번째 백분위수(=3분위)와 25번째 백분위수(=1분위) 사이의 차이(=IQR)

 

1. 4. 1. 표준편차와 관련된 추정값들

편차

- 관측값과 위치 추정값 사이의 차이. 데이터가 중앙값을 주변으로 얼마나 퍼져 있는지 말해준다. 변이를 측정하는 한 가지 방법은 바로 편차들의 대푯값을 추정하는 것이다. 하지만 평균을 기준으로 하는 편차들의 합은 항상 0이기 때문에 편차의 평균을 구하는 것은 바람직하지 않다. 이를 보안하기 위해서 편차의 절댓값의 평균을 구하는 것이다. 이것을 평균절대편차라고 한다.

평균절대편차$ =\frac{\sum_{i=1}^{n}|x_i-\bar{x}|}{n}$

분산과 표준편차

분산은 제곱 편차의 평균이고, 표준편차는 분산의 제곱근이다. 그렇기 때문에 표준편차는 원래 데이터와 같은 척도(scale)에 있기 때문에 분산보다 훨씬 해석하기가 쉽다.

분산$ =s^2=\frac{\sum_{}^{}(x-\bar{x})^2}{n-1}$

표준편차=$s$

자유도

자유도(degrees of freedom)는 변화할 자유가 있는 논리적으로 독립적인 값들의 최댓값을 의미한다. 간단한 예시를 통해서 자유도 개념의 이해를 돕는다.

  • 양의 정수 5개로 구성된 데이터 표본이 존재한다.

  • 표본에 포함된 숫자 중 4개의 데이터는 {3, 8, 5, 4}이며 전체 데이터 표본의 평균은 6이다.

  • 따라서 다섯 번째 숫자는 10이라는 것을 알 수 있으며, 10 이외의 다를 숫자는 아니다.

  • 그렇기 때문에 이 데이터 표본의 자유도는 4이다.

- 만약 분산 수식에 $n$을 분모로 사용한다면, 모집단의 분산과 표준편차의 참값을 과소평가하게 된다. 이를 편향(biased) 추정이라고 부른다. 하지만 만약 $n$ 대신 $n-1$로 나눈다면, 분산은 비편향(unbiased) 추정이 된다.

 

분산, 표준편차, 평균절대편차 모두 특잇값과 극단값에 로버스트하지 않다. 분산과 표준편차는 제곱 편차를 사용하기 때문에, 특히 특잇값에 민감하다. 로버스트한 변위 추정값으로는 중간값으로부터의 중위절대편차(MAD)가 있다. 중간값의 특징을 따라 MAD는 극단값의 영향을 받지 않는다. 절사 평균과 유사하게 절사 표준편차를 계산하는 것 역시 가능하다.

 

중위표준편차=중간값$(|x_1-m|,|x_2-m|,\cdot\cdot\cdot,|x_n-m|)$

 

<참고자료>
1. Peter Brucs & Andrew Brucs (2018), 데이터 과학을 위한 통계. 한빛미디어. 이용준 옮김.
2. Akhilesh Ganti, "Degrees of Freedom", Investopedia, 2019(www.investopedia.com/terms/d/degrees-of-freedom.asp)

+ Recent posts