공부/데이터 마이닝

[데이터 마이닝] Ch11. Outlier - Basic concept

ko527ko 2024. 12. 1. 16:33

<Ch11 개요>

  • Outlier(이상치)를 알아보고, Outlier을 detection(감지)하는 방법론을 배워보자.

1. Basic concept

2. Statiscal approaches

3. Proximity-based approaches

4. Reconstruction-based approaches

5. Clustering and Classification based approaches

6. Mining contextual and collective outliers

7. Outlier detection in high-dimensional data


<동기>

  • 대부분의 transaction들은 normal 하지만, 몇몇은 매우 anormal(일반적이지 않다). 함.
  • Outlier: data의 분포(expectation)을 따르지 않는 소수의 data이다. 
  • Outlier는 소수여도 부정적인 영향을 미칠 수 있다.
  • Outlier detection: Outliers, anomalies 그리고 예상과 매우 다른 형태를 보이는 data objects를 찾는 과정
  • e.g.) 카드 부정 사용, 부정 주식 거래 등

 

<Outlier Detection vs Clustering>

  • 2개는 비슷한 방법론을 사용하지만, 목표물은 다르다. 
Clustering Outlier detection
- data set에서 majority patterns을 찾고, 그에 따라 data를 구성한다.
- Clustering analysis는 unsupervised한 방법 사용

- majority patterns에서 크게 벗어난 예외 case들을 포착하기 위해 노력함.
- detection과정에서 supervision을 사용한다. (소수의 minor pattern이라 정답이 있음)

Basic concept

 

<Outlier란?>

  • Outlier: 마치 다른 mechanism을 통해 생성된 것 마냥, 나머지 object로부터 크게 벗어난 data objects

 

<Outliers vs Noise>

Outlier Noise
- 나머지 data와 동일한 메커니즘에 의해 생성되지 않았다고 추측.
- 탐지된 outliers가 다른 메커니즘에 의해 생성되었음을 확실하게 하는 것이 중요.
e.g.) 나머지 data에 대해 다양한 가정을 세운 다음, 이상치가 가정을 크게 위반함을 입증하는 방식으로 outlier 설명
- 의도가 있는 이상치
- 측정된 variable에서 나타나는 무작위 error나 분산.
- data analysis와 outlier detection의 관심 대상에서 제외된다.
- 의도가 없는 이상치

 

 

<Outlier Detection과 Novelty detection>

  • e.g.) 소셜  미디어 웹사이트를 모니터링 할 때, 새로운 content가 들어오면, novelty detection은 새로운 topics와 trends를 파악한다. 
    - Novel topics: 초기에는 outlier처럼 나타난다.
  • Outlier Detection: 계속 minor한 것만 탐지
  • Novelty detection: 처음에는 minor한 것(outlier) 탐지하다가 → 후에 major한 것(normal) 탐지
  • 유사성: Outlier과 Novelty detection은 모델링과 탐지 방법에서 유사성을  가짐
  • 차이점: Novelty detection에서, 한 new topic이 주어졌을 때 이것이 후에 outlier로 처리되지 않도록 하고, 정상적인 model에 들어가도록 한다.

 

<Outliser의 3가지 종류>

  • Global outliers / Contextual (or conditional) outliers / Collective outliers

 

<Global Outiers>

  • Global outliers: 나머지 data set에서 크게 벗어난 것 (가장 단순한 개념)
  • 대부분 outlier detection 방법론에서는 global outliers를 찾는 것을 목표로 함.

<Global outliers 탐지하기(Detecting)>

  • 문제에서 응용분야에 맞는 편차(벗어난 정도)의 적절한 척도를 찾는 것이 중요함.
  • Global outliers를 detectiong 하는 것은 많은 응용 분야에서 중요함.
    e.g) 컴퓨터 네트워크에서의 침입 탐지

 

<Contextual Outliers>

  • Contextual Outliers: object의 특정 context(문맥)에서 크게 벗어나 있는 것.
  • e.g) "It is 86 degrees today" : Contextual Outlier가 맞다. 오늘은 겨울인데, 86도인 것은 맞지 않음.  context에 크게 벗어나있음. 
  • Contextual outlier detection 할 때, context는 문제 정의에서 명시되어야 한다.
  • data object의 attributes가 2개의 group으로 나뉨.
    - Contextual Attributes(문맥적 속성), Behavioral Attributes(행동적 속성)
 Contextual Attributes: Behavioral Attributes
-  해당 object의 context(문맥, 상황)을 정의함.
-  조건에 해당되는 것인지, 조건 제시

 e.g.) 온도 데이터를 다룬다고 하면, 문맥적 속성은 날짜와 위치에 해당(온도가 언제, 어디서 측정되었는지 outlier를 판단할 문맥을 결정)
- data object의 구체적인 특성을 나타냄, 이를 통해 outlier을 평가.
- 조건에 따른 행동
 
e.g.) 온도 데이터에서 온도, 습도, 기압에 해당(이 속성에서 outlier 골라내기)

  • data object가 context outlier인지의 여부는 contextual, behavioral attributes 모두에 의존함.

 

<Contextiual Outliers vs Global and Local Outliers>

  • Local outliers: data object의 density가 특정 지역 내에서 주변의 density와 다를 때 발생.
  • Countextual outliers: local outliers의 일반화된 형태 (local outlier의 개념을 확장한 것)
    - contextual outliers는 데이터의 특정 문맥(context) 내에서 outlier의 여부를 판단하기 때문이다.
  • 따로 Contextual attribute가 없는 Contextual outlier detection = Global outlier detection 
    - Global outlier는 데이터 전체를 context로 간주
  • Contextual outlier anlaysis는 다양한 context에서 사용자가 상황에 맞게 outlier을 탐지할 수 있는 유연성 제공 (다양한 context에서 outlier 탐지할 수 있음) 
    - e.g) 날씨 데이터에서 사용자가 특정 날짜, 위치 등을 context로 설정해 outlier 탐지
  • Context attributes가 얼마나 잘 정의 되었는가 Contextual outlier의 quality에 중요한 역할을 함.

 

<Collective Outliers>

  • Collective Outliers: data object의 부분 집합전체 data set와 비교해 큰 편차를 보이는 것
    - 1개의 data object만 보면 outlier가 아닌데, data object가 함께 모여 전체 데이터와 비교하면 비정상적인 패턴을 형성함
  • e.g.) 학생 1명이 아픈 것은 outlier로 간주되지 않을 수 있는데, 하루에 10%의 학생이 아프면 아픈 학생들의 집합은 colliective outlier가 된다.
    2명 간의 단일 주식 거래는 정상으로 간주됨. 그러나 같은 주식이 짧은 시간 동안 2명 or 소수의 당사자 간 대량으로 거래된다면 collective outlier가 됨

 

<다양한 outlier 타입의 비교>

  • data set는 여러 종류의 outlier를 가질 수 있다.
  • 하나의 data object가 여러 종류의 outlier에 속할 수 있다.
  • Global outlier detection: 가장 간단함.
  • Context outlier detection: contextual attributes와 contexts를 결정하는 데에 배경 정보가 필요함.
  • Collective outlier detection: objects 사이 관계를 모델링 하기 위한 배경 정보가 필요, 이를 통해 outlier group 찾아냄.

 

<Outlier Detection의 도전 과제(어려움)>

  • normal object(정상 객체)와 outliers(이상치)를 효과적으로 모델링하기
    - data의 정상성(normality)과 이상치(abnormality) 경계가 명확하지 않은 경우가 많음.
  • 응용 분야에 특화된 outlier detection 
    - 응용 분야에 따라 objects 간 관계가 달라짐.
  • outlier detection에서의 Noise 처리 (중요) ★
    - Noise와 Outlier의 구분이 어려움
    - Noise는 데이터 품질을 떨어뜨리고, outlier detection에 혼란을 줌
  • 해석 가능성(Interpretability)
    - 사용자는 단순히 outlier detection 뿐만 아니라, detected object가 왜 outlier인지 이해하고 싶어함