-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path[번역]아웃라이어
55 lines (26 loc) · 4.5 KB
/
[번역]아웃라이어
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
[번역] 모든 데이터 사이언티스트가 알아야 할 아웃라이어/이상치 감지 방법 5가지
이상치를 감지하는 것은 모든 비즈니스에서 중요합니다. 이 글에서는 이상치를 찾아내는 5가지 방법에 대해 이야기해보겠습니다.
이상치 혹은 아웃라이어란 무엇인가?
통계학에서 아웃라이어는 해당 모집단에 속하지 않는 데이터 포인트를 의미합니다. 다른 값들에 비해 동 떨어진 값을 가지는 정상적이지 않은 관측치를 뜻하죠. 중심이 명확한 다른 데이터들에 비해 멀리 떨어진 관측치를 우리는 Anomaly 혹은 Outlier라고 합니다.
예를 들어, 아래 리스트에서 우리는 쉽게 아웃라이어를 발견할 수 있습니다:
[20,24,22,19,29,18,4300,30,18]
관측치가 몇 개의 숫자로만 구성되어 있고 1차원이라면, 아웃라이어를 찾는 일은 쉬울 수 있습니다. 하지만, 관측치가 수천개를 넘어가거나 다차원이라면, 아웃라이어를 감지하는 일에 좀 더 똑똑한 접근 방법이 필요할 겁니다. 이글에서는 이 부분을 다뤄보려고 합니다.
우리는 왜 Anomalies를 걱정할까?
(문장이 이상해)아웃라이어 혹은 이상치를 감지하는 것은 데이터 마이닝(data mining)에서 핵심 문제 중 하나입니다. 데이터가 점점 낳이 쌓이고 증가하게 되고, IoT 기기가 보급되면서 이상치를 살펴보는 사례와 접근 방식을 다시 고민해보게 되었습니다.
이제 우리는 심장박동을 몇 분 주기로 측정하는 스마트 워치나 손목 밴드를 착용하기도 합니다. 심장박동 데이터의 이상치 감지는 심장병을 예방하는 데 도움이 될 수도 있습니다. 교통량 패턴에서 이상치는 사고를 예방하는 데 도움이 될 수도 있을 것입니다. 또는 네트워크 인프라나 서버간 트래픽에서 병목현상을 찾아내는 데 사용될 수도 있을 것입니다. 따라서 이상치 감지를 기반으로 만들어질 수 있는 활용 사례와 솔루션은 끝없이 다양합니다.
이상치를 감지해야 하는 또 다른 이유는 머신러닝 모델에 넣을 데이터를 준비하는 과정에서, 아웃라이어를 감지하고 미리 제거하거나, 애초에 그 값이 데이터에 왜 들어갔는지 분석하는 것이 정말 중요하기 때문입니다.
자, 그럼 이제 가장 간단한 방법부터 시작해서 이상치를 감지하는 데 가장 많이 사용되는 5가지 방법을 살펴보겠습니다.
방법 1 - 표준 편차:
통계에서, 데이터의 분포가 정규 분포를 따른다면, 데이터의 68%는 평균으로부터 표준편차 1단위 만큼 떨어진 영역 안에 들어갈 것이고, 95%는 평균으로부터 2 표준편차만큼 떨어진 구간 안에, 99.7%는 3표준편차 안에 들어갈 것입니다.
[r그림]
따라서 표준편차 3단위보다 평균으로부터 멀리 떨어진 곳에 데이터가 있다면, 이 값은 아웃라이어라고 의심해볼 수 있습니다.
코드를 살펴봅시다.
[코드]
이 코드의 아웃풋은 80보다 크고 -40보다 작은 값들입니다. 제가 인풋으로 넣은 데이터가 1차원이라는 점에 주의합시다. 이젠 다차원 데이터에 적용할 수 있는 보다 발전된 방법을 살펴봅시다.
[방법2: 박스 플랏]
박스 플랏은 수치형 데이터를 분위수를 기준으로 시각화하는 방법입니다. 매우 간단하지만 효과적인 아웃라이어 시각화 기법입니다. 아래 수염과 위 수염을 데이터 분포의 boundaries라고 생각하면 됩니다. 여길 넘어가는 모든 데이터는 아웃라이어로 볼 수 있습니다. 다음은 박스 플랏을 그리는 코드입니다.
[코드]
위 코드를 실행하면 아래와 같은 박스 플랏이 그려질 것입니다. 보시는바와 같이 75 이상 -35 이하는 아웃라이어로 볼 수 있습니다. 1번 방법의 결과와 매우 유사합니다.
박스플롯 파헤쳐보기
IQR이라는 개념은 박스플랏을 그리기 위해 사용됩니다. IQR은 통계학에서 나오는 개념으로, 데이터를 분위수 기준으로 나누어 통계적 분산도와 가변성을 측정하는 데 사용됩니다.
간단히 말하면, 어떤 데이터건, 데이터를 기반으로 4개 구간을 나누고 그 구간을 기준으로 데이터를 살펴보는 방법입니다. 분위수는 데이터를 3개 지점, 4개 구간으로 나누눕니다.