본문 바로가기
데이터 처리 방법

[Excel] 이상치 (Outlier) 확인: Tietjen-Moore test

by 어날켐 2024. 5. 6.
728x90

다수 (Multiple) 이상치 (Outlier) 확인을 위한 Tietjen-Moore test를 알아보자. 

단일 이상치를 확인하는 Grubbs' test는 다수 이상치의 확인에는 적절한 방법이 아니다. 
다수의 이상치를 확인하기 위해서 개선된 Grubbs' test가 Tietjen-Moore test이다.
Tietjen-Moore test는 동일한 조건의 데이터에서 정규 분포를 벗어난 다수의 이상치를 확인하는 방법이다.

Tietjen-Moore test는 이상치에 대한 명확한 개수가 정해져야 평가 결과가 정확해지는 단점이 있다. 
해당 방법은 다른 이상치 평가 방법에서 잠재적 이상치가 1개 이상 확인된다면,
다수의 이상치를 재검증하는 방법으로 사용하는 것이 적절하다.

Tietjen-Moore test 이전에 적합한 이상치 평가 방법으로 그래프 방법 (graphical method)가 제시되며, 
그래프 방법에는 히스토그램 (histogram)과 상자 수염 (Box-plot)의 그래프가 적합하다. 
작성된 그래프에서 데이터 분포에서 벗어난 이상치를 확인하고, 
다수의 이상치가 확인되면 Tietjen-Moore test로 검증하는 것이다.

Tietjen-Moore test 계산 방법은 아래 참고문헌을 바탕으로 작성되었다.

참고문헌 1: NIST. (2010). TIETJEN-MOORE TEST. Retrieved from https://www.itl.nist.gov/div898/software/dataplot/refman1/auxillar/tietjen.htm

이상치 평가를 위한 통계량 계산 방법은 두 가지로 구분되어 있다.

[데이터 분포에 이상치가 한쪽으로 편향되어 있는 경우]

 

[데이터 분포에 이상치가 양쪽으로 분포되어 있는 경우]


Tietjen-Moore test 통계량 계산 방법

"참고문헌 1"에 제시된 통계량은 $L_k$, $E_k$ 두 개가 설정되어 있다. 
$L_k$는 예상되는 이상치 값들이 한쪽으로 분포되어 있는 경우이고, 
$E_k$는 예상되는 이상치 값들이 양쪽으로 분포되어 있는 경우이다. 
이렇게 구분하는 이유는 임계값 (Critical Value) 기준이 이상치 분포에 따라 다르기 때문이다. 
하지만, 두 통계량의 계산 방법과 통계량 결과는 동일하다. 

통계량은 이상치를 포함하는 데이터의 분산과 이상치를 제외한 데이터의 분산의 비율이다. 
통계량 ($L_k$, $E_k$)  계산 수식은 다음과 같다. 

${L_k}~~or~~{E_k}~ = ~\dfrac{\sum\limits_{i=1}^{n-k} ({x_i}-{\overline{x}_k})^2}{\sum\limits_{i=1}^{n}({x_i-{\overline{x}}})^2}$

$n$는 전체 데이터의 개수이고, $k$는 이상치의 개수를 나타낸다. 
$\overline{x}$는 전체 데이터의 평균이고, $\overline{x}_k$ 이상치를 제외한 데이터의 평균이다.

통계량 $L_k$, $E_k$ 값은 "이상치를 제외한 데이터의 분산 / 모든 데이터의 분산"  비율 값이다.    
분산의 비율 값은 0 ~ 1 범위 값을 나타낸다. 
1에 가까울수록 각각의 분산 값에 차이가 없으므로 이상치가 포함될 가능성이 낮고, 
0에 가까울수록 각각의 분산 값에 차이가 있으므로 이상치가 포함될 가능성이 높다. 
하지만, 명확한 구분을 위해서는 임계값 (Critical Value) 값이 필요하다.


Tietjen-Moore test 임계값 (Critical Value) 적용

"참고문헌 1"은 임계값에 대한 설명이 기술되어 있고, 유의 수준에 적합한 임계값이 계산되어 있다. 
계산 방법은 정규분포를 이루는 데이터에서 테스트와 동일한 데이터의 개수의 통계량 값을 확인 후
유의수준에 따라서 임계값을 설정하였고, 참고문헌과는 약간의 차이가 있다고 설명되었다. 
하지만, 다른 데이터의 개수에 대한 자료가 없어서 참고문헌의 원문 내용을 확인하였다.

참고문헌 2: Tietjen, G. L., & Moore, R. H. (1972). Some Grubbs-type statistics for the detection of several outliers. Technometrics, 14(3), 583-597.

"참고문헌 2" 는 "참고문헌 1"의 원문 내용으로 데이터의 개수, 이상치의 개수, 유의 수준에 따른 임계값을 제공하고 있다.
유의 수준(α)은 0.1, 0.05, 0.01 적용되었고, 이상치의 개수 (k)는 1~10 범위, 데이터의 개수는 3~50 범위에서 
개별적인 통계량 $L_k$, $E_k$ 에 따라서 임계값을 확인해 주었다. 

예를 들면, 유의 수준 0.05를 기준으로 데이터가 15에서 이상치가 2개로 낮은 쪽 1개, 높은 쪽 1개 존재해서 확인한다면
임계값은 통계량 $E_k$를 기준으로 0.317 값이 확인된다. 
데이터에서 계산된 $E_k$ 값이  0.29199로 임계값 0.317 보다 낮은 것으로 확인된다면
이상치로 예상되는 2개의 데이터는 이상치가 맞다고 검증할 수 있다. 
* 임계값은 참고문헌 1과 2의 값이 약간의 차이 (0.002)를 보이고 있지만, 이상치 검증에는 큰 차이가 없다. 
값의 차이는 임계값 검증에 사용된 정규분포 데이터의 차이로 추정된다. 


Tietjen-Moore test 적용 예시

[ 예시 1 ] 

데이터: 0.00229, 0.00236, 0.00323, 0.00357, 0.00363, 0.00381, 0.00401, 0.00408

평가방법 1: Box-plot
이상치 표기는 나타나지 않고, 평균과 중앙값을 기점으로 아래 박스 부분이 증가된 것이 확인된다. 
데이터 범위가 비대칭을 이루고 있어서 낮은 값에 이상치가 존재할 것으로 추정된다. 

[예시 1 ] Box-Plot (이상치 포함)

평가방법 2: Grubbs' test
최소값 0.00229의 이상치 여부를 확인한 결과에서 이상치가 아닌 것으로 확인되었다.  

평가방법 3: Tietjen-Moore test 
최소값 0.00229을 이상치 1개로 설정한 결과에서
통계량 $L_k$ 0.609 은 임계값 0.326 보다 높게 확인되어 이상치가 아닌 것으로 검증되었다.
최소값 0.00229와 0.00236을 이상치 2개로 설정한 결과에서
통계량 $L_k$ 0.144 은 임계값 0.148 보다 낮게 확인되어 이상치로 검증되었다.
통계량 $E_k$ 임계값은 0.099로 최소값 2개를 이상치가 아닌 것으로 검증하였다.
최소값 0.00229, 0.00236, 0.00323 이상치 3개로 설정해서 검증한 결과에서
통계량 $L_k$ 0.059 은 임계값 0.064 보다 낮게 확인되어 이상치로 검증되었다.
하지만, 0.00323 값은 평균값과 편차가 다른 2개에 비해 상대적으로 낮기 때문에 이상치로 설정하는 것은 부적절하다.
Tietjen-Moore test의 정확한 검증을 위해서는 적절한 이상치 개수 설정과 상황에 맞는 임계값 적용이 필요하다.
최소값 이상치 2개를 제거하고 Box-Plot을 작성하면 다음과 같이 대칭적인 형태를 볼 수 있다.     

[예시1 ]  Box-Plot (이상치 2개 제거)

[ 예시 2 ] 

데이터: -1.400, -0.440, -0.300, -0.240, -0.220, -0.130, -0.050,
              0.060, 0.100, 0.180, 0.200, 0.390, 0.480, 0.630, 1.010

평가방법 1: Box-plot
이상치 표기는 1개 나타나고, 그 값은 -1.400으로 확인되며,
수염 (Whiskers) 부분에서 위 부분이 더 크게 증가되어 나타났다.
데이터 범위가 비대칭을 이루고 있어서 최대값 1.010 도 이상치로 예상된다.  

[예시 2 ] Box-Plot (이상치 포함)

평가방법 2: Grubbs' test
최소값 -1.400 의 이상치 여부를 확인한 결과에서 이상치로 검증되었고, 
최대값 1.010 은 이상치가 아닌 것으로 확인되었다.  

평가방법 3: Tietjen-Moore test 
최소값 -1.400 을 이상치 1개로 설정한 결과에서 이상치로 검증되었고, 
최대값 1.010 은 이상치 1개로 설정한 결과에서 이상치로 아닌 것으로 확인되었다. 
최소값, 최대값 2개를 이상치로 설정한 결과에서는 
통계량 $E_k$ 0.292 은 임계값 0.317 보다 낮게 확인되어 이상치로 검증되었다.
이상치 2개를 제거하고 Box-Plot을 작성하면 다음과 같이 대칭적인 형태를 볼 수 있다.

[예시 2 ] Box-Plot (이상치 2개 제거)

[ 예시 3 ] 

데이터: 199.31, 199.53, 200.19, 200.82, 201.92, 201.95, 202.18, 245.57

평가방법 1: Box-plot
이상치 표기는 1개 나타나고, 그 값은 245.57으로 확인되며,
큰 값의 차이를 보이고 있어서 평균값 표기 (x) 부분이 Box를 벗어났다.

[예시 3 ] Box-Plot (이상치 포함)

평가방법 2: Grubbs' test
최대값 245.57 의 이상치 여부를 확인한 결과에서 이상치로 검증되었다.

평가방법 3: Tietjen-Moore test 
최대값 245.57 의 이상치 1개로 설정한 결과에서 이상치로 검증되었고, 
최대값 245.57, 201.95를 이상치 2개로 설정한 결과에서도 이상치로 확인되었다.
최대값에서 부터 이상치 3개, 4개 설정에서도 동일한 결과를 나타내었다. 
데이터의 편차를 보면 245.57이 가장 큰 값 39.14로 계산되고, 
나머지 데이터들은 10 이하의 값으로 계산되었다. 
이상치 값이 정상적인 데이터와 값의 차이가 큰 경우
어떻게 설정해도 모두 이상치로 판별되는 상황이다.
이런 경우에는 값에 차이가 큰 이상치를 제거한 다음 
예상되는 이상치를 평가해 보면 정확한 평가에 도움이 된다. 
이 경우에도 가장 높은 값을 제거하고 그다음 예상되는 이상치를 평가했지만,
이상치로 확인된 데이터는 없었다.
이상치 1개를 제거하고 Box-Plot을 작성하면 다음과 같이 대칭적인 형태를 볼 수 있다.  

[예시 3 ] Box-Plot (이상치 1개 제거)

위에 예시로 작성된 내용은 "참고문헌 2"에 작성된 내용으로 
해당 계산 및 평가 방법에 오류가 없는지 확인하기 위해서 
다시 확인한 내용들을 작성하였다. 

앞에서 소개된 예시 결과들은 엑셀 파일로 작성해서 해당 파일을 업로드합니다. 
내용 이해하시는데 참고하시기를 바랍니다. 

내용이 다소 복잡해서 사용법에 대한 소개합니다. 
아래 그림처럼 엑셀 시트에 평가하고 싶은 데이터를 정렬해서 "sorted data"에 입력합니다. 
그다음으로 예상되는 이상치를 "potential outlier" 에서 체크를 해주시면 됩니다. 
엑셀 버전에 따라서 체크 박스가 보이지 않는 분들은 "TRUE" 로 입력하면 됩니다. 
표 옆에는 자동 계산된 내용이 나오므로 추가 설정은 필요하지 않습니다. 

엑셀 데이터 입력 및 결과 화면

* 엑셀 파일로 평가할 수 있는 데이터의 개수는 20개로 제한되어 있습니다. 

Tietjen Moore test_V1.xlsx
0.08MB

728x90