Rucrazia's Blog
Skewness(왜도)와 Kurtosis(첨도) 본문
데이터 분석에서 Skewness(왜도)와 Kurtosis(첨도)는 중요한 요소이다.
데이터의 분포가 한쪽으로 쏠린 것을 의미하는 Skewness는 positive Skewness와 Negative Skewness로 나뉜다. Positive Skewness는 오른쪽에 꼬리를 가진(왼쪽에 데이터가 많은) 형태이고, Negative Skewness는 왼쪽에 꼬리를 가진(오른쪽에 데이터가 많은) 형태이다. 일반적으로 고려 가능한 Un-Skew 수치는 +2~-2 사이이다. (George & Mallery, 2010). George, D., & Mallery, M. (2010). 즉, Skewness를 측정한 값 기준으로 -2~+2는 치우침이 없는 데이터라고 볼 수 있다.
-2 미만은 Negative Skew, +2 초과는 Positive Skew.
Skewed 데이터를 변환하는 이유는 꼬리에 있는 값을 모델에 제대로 학습시키기 위함이다. Skewed 되어있는 값을 그대로 학습시키면 꼬리 부분이 상대적으로 적고 멀어서 모델에 영향이 거의 없이 학습된다. 만약 꼬리 부분도 노이즈가 아닌 정말 유의미한 데이터이면 꼬리 부분에 해당하는 test 데이터는 예측력이 낮아진다.
변환을 해서 들어가게 되면 그만큼 데이터의 중간값(or 평균값)가 tail 하고 가까워져서 모델에 보다 크게 들어간다. 그렇게 되면 꼬리 쪽에 해당하는 test 데이터가 들어와도 예측력이 높아진다.
Skew 데이터를 변환하는 방법으론 square root, cube root, log, outlier 제거 등이 있다.
Positive skewed(right skewed) 변환방법 : square root, cube, log
Negative skewed(left skewed) 변환방법 : square, cube root, logarithmic.
(위의 log는 밑이 10인 것을 의미하고 logarithmic은 밑이 2인 것을 의미)
약간의 positve skew를 보이는 데이터를 변환한 결과를 보자.
아래는 n이 무수히 많을 때 사용하는 정규성 검정 방법인 Anderson-Darling Test를 해본 결과이다.
아래는 Q-Q Plot을 그려본 결과로 정규성 검정과 마찬가지로 정규성 있는 데이터가 아니다.
아래는 위의 데이터에 Log를 씌운 데이터 결과이다.
아래는 Anderson-Darling Test를 해본 결과로 log를 취한다고 해도 정규성 가정을 통과 하진 못했다.
그래도 QQ plot으론 log를 취하기 전보다 더 정규분포 직선과 비슷한 모습을 띄는 것을 볼 수 있다 (개인적인 추측으론 데이터 양이 많아서 정규성 검정에서 상당히 엄격하게 체크 된 것 같다. 즉, two-pairs T test에서 데이터가 매우 크면 아주 약간의 차이라도 유의확률(p=0.05)를 쉽게 만족(p<0.05)하게 되는 문제가 발생하는 원리와 비슷하다고 생각든다.)
Kurtosis(첨도)는 분포의 뾰족함이나 평평함에 관련된 것이 아니라 분포의 tail에 대한 모든 것이라고 할 수 있다.
한쪽 꼬리 부분의 극 값과 다른 쪽 꼬리의 극 값 간의 차이를 보여준다. 그렇기 때문에 아웃라이어를 찾을 때 사용된다. 첨도가 높으면(Kurtosis > 3) 아웃라이어가 많이 있다. 첨도가 낮으면(Kurtosis < 3) 극값이 정규 분포의 값보다 작기 때문에 결과에 대한 확인을 해봐야 한다.
선형 회귀에서 독립변수와 종속변수에 대한 정규성 가정은 데이터가 많으면 중심극한정리로 인해서 문제가 되지 않으나, 잔차에 대한 분포가 정규성을 만족해야 하므로 변환한다 (잔차에 대한 분포가 정규성을 안띄면 모델의 성능이 좋지 않을 가능성이 높다.).
ref.
https://codeburst.io/2-important-statistics-terms-you-need-to-know-in-data-science-skewness-and-kurtosis-388fef94eeaa
https://stats.stackexchange.com/questions/107610/what-is-the-reason-the-log-transformation-is-used-with-right-sk ewed-distribution
https://www.researchgate.net/post/Skewed_data_for_regression_analysis
'기술 - Data Science > Data Science' 카테고리의 다른 글
[통계] 선형 결합(Linear Combination) (0) | 2019.06.24 |
---|---|
[통계] 데이터 전처리 1 (0) | 2019.05.14 |
빅데이터에서의 정규성 검정 (0) | 2019.01.16 |
Random Forest (랜덤 포레스트) 간단히 알아보기 (0) | 2019.01.16 |
[Python] 데이터 수집 - 웹 크롤러 만들기 (0) | 2018.11.10 |