본문 바로가기
공부/Machine Learning

[Machine Learning] Skewness(왜도) & Kurtorsis(첨도)

by 수제햄버거 2020. 10. 29.
728x90
반응형

 

Data Analysis에서 쓰이는 여러 Feature 들 중에 Skewness(왜도) 와 Kurtosis(첨도)에 대해서 알아 보겠습니다.

 

우선 Skewness 와 Kurtosis는 데이터의 분포 모양에 대한 정보를 가지고 있습니다. 그렇기 때문에 두 가지 Feature을 한번에 보는 것이 더욱 효과적일 것 입니다.

 

이 글에선 Skewness와 Kurtosis에 대해 다음과 같은 항목에 맞추어 설명하고자 합니다.

1. Definition & Fomula

2. What can I know about Data?

 

 

[Skewness , 왜도]

1. Definition & Formula

 

위의 수식으로 Skewness를 정의됩니다. 다만, Package를 이용하여 코드에서 구현할 때는 그 식이 다를 수 있으니 사용하는 Package의 Document를 확인하는 것이 바람직합니다.

간단히 말하면 Skewness는 Data Distribution의 대칭성에 대해 판단 할 수 있는 지표입니다. 추후에 이러한 지표들로 실제 Data속에서 어떻게 이용되는지에 대해서 알아보겠습니다.

 

*Advanced Topics in Statistical Process Control(Dr. DonalD Wheeler) 에서 정의된 수식입니다.

* 오른쪽 수식에서 summation의 지수를 주의해야합니다. 3제곱승입니다.

* n: sample size / X_i: i th X value / X^bar : average / s : sample standard deviation

 

2. What can I know about Data?

앞서 Skewness는 Data Distribution의 대칭성에 대해 판단 할 수 있다고 말하였습니다. 하지만 판단하기 위해서는 기준이라는게 필요합니다.

우리는 완전히 대칭(Symmetrical Distribution)의 Skewness Value(이하 S) 을 0으로 잡습니다. 이후 0을 기준으로 S>0인 경우를 Positive , S<0인 경우를 Negative라고 부릅니다. 다음의 그림을 보면 조금 더 이해가 쉬우실 겁 니다.

 

*mode = 빈도수가 가장 높은 Value

 

Skewness의 값은 앞서 본 수식에서 알 수 있듯이 무한대의 Max Value와 Min Value을 가집니다. 하지만 일반적으로 절대값이 2를 넘지 않습니다.

때문에 다음과 같이 S값의 따라 더욱 자세하게 분포에 대해 알 수 있습니다.

|S|<0.5

 

Figure 1: Fairly Skewness = 0

 

Fairly Symmetrical 한 형태라고 부르며 대부분의 값이 평균 근처에서 분포 합니다. 평균은 데이터에 이상치가 있을 경우 크게 영향을 받는데 이러한 경우에는 데이터에 큰 이상치가 존재하지 않는다고 생각할 수 있습니다.

0.5<|S|<1

Figure 2: Dataset with Positive Skewness
Figure 3: Dataset with Negative Skewness

Moderately Skewed 라고 부르며 대부분의 값이 평균보다 살짝 떨어진 곳에 분포 합니다. 평균 근처에 데이터값이 많다고 생각할 수 있는 모양이지만 그 값에 따라서 한쪽으로 조금 치우쳐있다는 것을 알 수 있습니다.

* Figure 2 의 skewness 는 0.514, Figure 3 의 skewness 는 -0.514 입니다.

 

|S|>1

 Figure 4 : Highly Positive skewed Dataset
 Figure 5 : Highly Negative skewed Dataset

Highly skewed 라고 부르며 대부분의 데이터 값이 평균보다 훨씬 떨어진 곳에 분포합니다. 이는 데이터가 몰려서 분포되어있는 곳과 멀리 떨어진 곳에 이상치로 볼 수 있는 데이터가 다수 포함되어있다는 것을 알 수 있습니다.

*Figure 4는 1.572 Figure 5 는 -1.679 의 skewness 를 가집니다.

 

[Kurtosis , 첨도]

 

1. Define & Formula

Kurtosis는 위의 수식과 같이 정의됩니다. 다만 Skewness와 같이 Package에서는 다른 수식을 이용하여 계산하니 확인하는 것이 바람직합니다. Kurtosis를 통해서 우리는 데이터의 첨점의 위치를 알 수 있습니다.(정규분포를 기준으로 하였을때 보다 위에 존재하는지 혹은 아래에 존재하는지)

 

*[책] Principles and practice of structural equation modeling (RB Kline, v7) 52885회 인용 에서 정의를 가져왔습니다.

* 오른쪽 수식에서 summation의 지수를 주의해야합니다. 4제곱승입니다.

* 변수들은 Skewness 수식의 변수와 동일합니다.

 

2. What can I know about Data?

Kurtosis는 분포의 양 끝 꼬리(tail) 로 결정되는 Feature입니다. 다만 꼬리의 위치와 첨점의 위치가 항상 같은 의미를 가지기 때문에 데이터 분포의 뾰족한 정도로 생각해도 무방합니다. 다만 Kurtosis가 가지고 있는 데이터 속의 의미는 Outlier을 찾아내는 것에 있습니다. 판단을 위해서는 기준이 필요합니다. Kurtosis의 경우 정규분포(Gaussian distribution) = 0 을 기준으로 합니다. 0을 기준으로 K(kurtosis value) <0 인 경우, K>0인 경우를 생각 해 볼 수 있습니다.

Figure 6 Kurtosis Example

* Figure 6에서 S_ku 는 K를 의미합니다.

* Define & Fomula 수식을 기준으로 삼는 경우에는 기준값=3 이 됩니다. 이는 앞서 말씀드린 책에서의 정의입니다. 다만 보통의 경우 -3을 해주어서 0으로 맞춰서 사용합니다. 정확한 이유는 모르겠으나 0을 기준으로 생각하는 것이 더 편하기 때문이라고 생각합니다.

* K=3을 기준으로 햇을때 (아마 0을 기준으로해도 용어에는 변함이 없겠지만,) K=3 인경우를 Mesokurtic , K>3 인 경우를 leptokurtic ,K<3인 경우를 platykurtic 이라는 용어로 말합니다. 통계학에서 쓰이는 용어인 듯 합니다만 용어가 헷갈리고 혼란을 줄 수 있다고 판단하여 추후 글에서 쓰지 않겠습니다.

 

Kurtosis는 수식에서 알 수 있듯이 무한대의 Min, Max Value를 가지게 됩니다. 다음은 예시를 통해서 앞서 말씀드린 두 가지 1) kurtosis를 통한 데이터의 첨도(뾰족)를 알아보는 것 2) Outlier을 알아내는 것 에 대해서 살펴보겠습니다.

 

Kurtosis를 통한 데이터의 첨도를 알아 보는 것

 

Case를 나누어 살펴보겠습니다. K=0 인경우는 정규분포를 따르는 형태이므로 생략한 후 Corner Case들에 대해서 살펴보도록 하겠습니다.

Figure 8 Positive Kurtosis Example
Figure 9 Negative Kurtosis Example

Figure 8의 경우 1.86 , Figure 9의 경우 -1.21의 K값을 가지게 됩니다. K값만으로도 데이터분포의 모양을 예측할 수 잇습니다.Kurtosis를 검색했을때 Light tail, Heavy tail에 관한 이야기들이 많이 나옵니다. 위의 예시와 같이 극단적인 예를 들어 생각해보면 light tail의 경우에 95를 찾기 위해 학습을 시켯을 경우 모든 데이터가 동일하기 때문에 학습이 어려움이 존재하게 됩니다. Heavy tail의 경우 가운데에 집중적으로 분포되어있는 데이터의 경우로 적합하게 학습이 될 것이고, 그 범위를 벗어나는 데이터에 대해선 어려움이 존재할 것 입니다.

 

Kurtosis를 통해 Outlier을 알아내는것

*Package의 수식이아닌 Define&Formula 의 공식을 사용하여 계산하였습니다. 때문에 기준은 3이 됩니다.

 

다음과 같은 데이터 가 있다고 생각해봅시다.

Dataset = [0, 3, 4, 1, 2, 3, 0, 2, 1, 3, 2, 0, 2, 2, 3, 2, 5, 2, 3, 1]

 

이러한 데이터에 대해서 K값을 계산해보면 각각의 Z-value는 다음과 같이 나오게 되고,

[6.51, 0.30, 5.33, 0.45, 0.00, 0.30, 6.51, 0.00, 0.45, 0.30, 0.00, 6.51, 0.00, 0.00, 0.30, 0.00, 27.90, 0.00, 0.30, 0.45]

이 값들의 평균은 2.78 가 됩니다.

 

그렇다면 원래의 데이터셋에 outlier을 넣은 다음 계산해보면 어떻게 될까요?

 

Dataset = [0, 3, 4, 1, 2, 3, 0, 2, 1, 3, 2, 0, 2, 2, 3, 2, 5, 2, 3, 1,999]

 

이라고 한다면 Z-value는

[0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00,0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 360.98]

이 되고, 이 값들의 평균은 18.05가 됩니다.

 

이처럼 outlier을 알아 낼 수 있게 됩니다.

 

 

사용시의 주의사항 (Caution)

- Skewness와 kurtosis는 함께 보는 것이 좋다고 생각합니다.

- Sample Size와 관련된 이슈가 있습니다. 충분한 Sample Size가 보장되지 않은 경우에는 신뢰도를 얻을 수 없습니다.

- Data의 유형에 따라서 그 의미가 다르게 해석 될 수 있으니 해당 Data의 유형이나 목적을 먼저 생각하신 뒤에 쓰시는게 좋다고 생각합니다.

 

Summary

- Skewness 는 데이터가 평균을 기준으로

1) 어느방향으로 쏠려있는지

2) 얼마나 쏠려있는지 알 수 있다.

- Kurtosis 는 데이터의 tail을 이용하여 생성되지만 첨도를 알 수 있다

1) Data분포의 첨도를 알 수 있다.

2) Outlier의 유무를 알 수 있다.

- Skewness와 Kurtosis를 사용할 때는 충분한 (>50) Sample Size가 보장 될 때 사용해야 한다.

 

 

 

[Reference]

http://blog.daum.net/dongyu48/12361858

kingstar840.tistory.com/5

rucrazia.tistory.com/65

blog.naver.com/PostView.nhn?blogId=chochila&logNo=40144022678

blog.naver.com/PostView.nhn?blogId=istech7&logNo=50154573592

codeburst.io/2-important-statistics-terms-you-need-to-know-in-data-science-skewness-and-kurtosis-388fef94eeaa

blog.naver.com/sjg02122/221624532087

 

[Machine Learning] Skewness(왜도) & Kurtorsis(첨도)

Data Analysis에서 쓰이는 여러 Feature 들 중에 Skewness(왜도) 와 Kurtosis(첨도)에 대해서 알아 보...

blog.naver.com

 

Skew and Kurtosis: 2 Important Statistics terms you need to know in Data Science

If you don’t know some of the other frequently used terms in data science. Then click here.

codeburst.io

 

왜도(skewness), 첨도(kurtosis), 변동계수(coefficient of variation)

연속적인 수치로 관측되거나 측정된 자료들은 자료가 가지고 있는 특성에 따라 다양한 분포를 가지게 됩니...

blog.naver.com

 

기타 척도 [왜도, 첨도] :: 통계학

하나의 분포가 있다고 하자 그 분포는 표준정규분포(Standard Normal Distribution)이라고 하자. 그렇다...

blog.naver.com

 

Skewness(왜도)와 Kurtosis(첨도)

데이터 분석에서 Skewness(왜도)와 Kurtosis(첨도)는 중요한 요소이다.  데이터의 분포가 한쪽으로 쏠린 것을 의미하는 Skewness는 positive Skewness와 Negative Skewness로 나뉜다. Positive Skewness는 오른쪽..

rucrazia.tistory.com

 

첨도 왜도 기준 의 의미 그래프 계산

- 첨도 왜도 기준 일단, 왜도와 첨도는 정규분포와 밀접한 관계를 가지고 있습니다. 책마다 기준은 다르지만, 일반적으로 왜도의 기준은 0, 첨도의 기준은 1 입니다. 통계분석 Q & A 수업시간에 기

kingstar840.tistory.com

 

왜도(skewness) 첨도(kurtosis)

1. 왜도(skewness) 자료의 분포모양이 평균을 중심으로부터 한 쪽으로 치우쳐져 있는 경향을 나타내는 척도. 확률분포곡선에서 비대칭의 정도를 나타내는 측도. : a=0 정규분포 : a>0 좌측으로 치우

blog.daum.net

 

반응형