Studying data
[이상치 탐색] 1. 통계값을 이용한 Outlier Detection 본문
통계(기초통계량)값을 이용한 이상치 탐색
Skewed Distribution에서의 이상치 탐색
• 1.5 IQR 기준
±1.5*IQR 값을 기준으로 판별. \((Q1 - 1.5*IQR) < X < (Q3 + 1.5*IQR)\) 범위 밖에 있는 값들을 이상치로 판별
• 3 IQR 기준
±3*IQR 값을 기준으로 판별. \((Q1 - 3*IQR) < X < (Q3 + 3*IQR)\) 범위 밖에 있는 값들을 이상치로 판별
Normal Distribution(정규분포)에서의 이상치 탐색
• 정규 분포에서 97.5% 이상, 2.5% 이하에 포함되는 값을 이상치로 판별
• ESD(Extreme Studentized Deviation) or Z-score
데이터가 정규분포를 이루는 경우 표준편차(\(\sigma\))를 이용해 이상치를 탐색할 수 있다. ESD, 또는 Z-score 방법에서는 평균±3\(\sigma\) 범위를 벗어나는 값들을 이상치로 판별한다. 즉, 데이터의 중앙 99.7%에 해당하지 않는 값들이 이상치이다.
위부터 순서대로 1\(\sigma\), 2\(\sigma\), 3\(\sigma\)를 사용했을 때로, 파란색 범위를 벗어나는 데이터는 이상치로 간주된다.
- 데이터의 68%는 ±1\(\sigma\) 사이에 있다.
- 데이터의 95%는 ±2\(\sigma\) 사이에 있다.
- 데이터의 99.7%는 ±3\(\sigma\) 사이에 있다.
Z-score는 Standard-score라고도 하는데 데이터의 평균 및 표준편차를 사용하여 중심 경향 및 분산을 측정하는 방식이다. 즉, Z-score는 데이터가 평균으로부터 얼마의 표준편차만큼 벗어나 있는지를 의미한다. Z-score를 통해 데이터 값이 평균보다 큰지 작은지를 확인할 수 있고, 평균 포인트에서 얼마나 떨어져 있는지를 이해할 수 있다.
평균±3\(\sigma\) 범위를 벗어나는 값들을 이상치로 보는 것은 Z-score의 절대값(\(\left\vert z \right\vert\))이 3 초과인 데이터를 이상치로 보는 것과 같은 의미이다.
이 방법은 평균과 표준편차 자체가 이상치에 크게 영향을 받고, 작은 데이터셋의 경우 이상치를 탐색해내기 어렵다는 한계가 있다. 따라서 대안으로 IQR 방법을 사용할 수 있다.
For Other Distributions
• 백분위수(percentile)에 기반한 방법 사용
• 99백분위수*2 값보다 큰 값들을 이상치로 판별
• 99백분위수 값보다 크거나, 1백분위수 값보다 작은 경우 이상치로 판별
이외에도 방법이 매우 다양하므로 데이터에 따라 결정한다. 데이터가 정규분포일 때 쓰이는 방법의 경우, skewed 데이터를 정규분포에 가깝게 만드는 적절한 변환(Transformation)을 한 후 이상치를 탐색해야 한다. Skewed data를 변환하는 방법에 대해서는 아래를 참고.
(skewed data 처리 포스트 링크 추가하기)
Reference
1. [데이터 전처리] 결측치, 이상치, 잡음 처리, 데이터 변환
2. 데이터 전처리 이상치 탐색 및 처리하기 변수변환 방법
3. Outlier(이상치/이상값/특이값/특이치 등) 탐지 방법(detection method) : 1. IQR 방식 with 파이썬
4. Outlier(이상치/이상값/특이값/특이치 등) 탐지 방법(detection method) : 2. Z-score 방식 with 파이썬
5. [Python] 이상치(Outlier) 탐색을 위한 IQR(Interquartile Range)
6. [Python Data Analysis] 10. DataFrame 이상치/결측치 데이터 전처리
7. 파이썬으로 데이터 전처리 하기 / 결측치, 중복 데이터, 이상치, 정규화, 원-핫 인코딩, 구간화
9. 데이터 이상치(Outlier)의 기준은 무엇일까?
10. Outlier Detection & Removal | How to Detect & Remove Outliers (Updates 2023)
12. Outlier
13. [Kaggle] Outlier Detection Techniques: Simplified
14. Outlier detection methods!
'Data Science' 카테고리의 다른 글
[이상치 탐색] 2. ML을 통한 Outlier Detection - (3) Extended Isolation Forest (EIF) (0) | 2023.05.10 |
---|---|
[이상치 탐색] 2. ML을 통한 Outlier Detection - (2) Isolation Forest (with scikit-learn) (0) | 2023.05.04 |
클러스터링 평가지표 - 실루엣 계수 (0) | 2023.05.02 |
[이상치 탐색] 2. ML을 통한 Outlier Detection - (1) DBSCAN (with scikit-learn) (0) | 2023.04.29 |
이상치를 무작정 제거하면 안되는 이유 | Why You Shouldn’t Just Delete Outliers (0) | 2023.04.06 |