Outliers에 대한 내 블로그 시리즈에 다시 오신 것을 환영합니다. 에 첫 번째 에피소드 , 이상 값을 정의하고 시각적으로 식별하는 방법을 살펴 보았습니다. 에 두 번째 에피소드 , 우리는 분위수 (Box & Whisker 플롯을 통해)를 사용하여 한 차원에서 특이 치를 식별하는 데 도움을주었습니다.
이 에피소드에서는 Mahalanobis 거리를 사용하여 다차원에서 특이 치를 식별하는 방법을 살펴 봅니다. 또한 T에 대해 간략히 살펴 봅니다. 2 , 이는 Mahalanobis 거리의 단순한 확장입니다.
다차원 이상치
그림 1은 그림 중 하나를 재현 한 것입니다. 에피소드 1 그리고 명확한 특이 치 (빨간색 사각형으로 표시됨)가있는 1,000 개의 데이터 포인트의 2 차원 플롯을 보여줍니다.
그림 1 : 2 차원의 1,000 개의 데이터 포인트, 빨간색으로 표시된 이상 값
그림 1의 산점도를 사용하면 특이 치가 일 변량 히스토그램 분포에서 분명하지 않은 경우에도 2 차원에서 시각적으로 특이 치를 쉽게 확인할 수 있습니다. 따라서 상자 및 수염 (분위수) 기술은 에피소드 2 다차원 데이터를 분석 할 때 항상 신뢰할 수있는 것은 아닙니다. 이상 값을 시각적으로 식별합니다 (예 : 에피소드 1 ) 치수가 증가함에 따라 어려워집니다. 그렇다면 이러한 다차원 이상 값을 더 안정적으로 탐지하려면 어떻게해야합니까?
Mahalanobis 거리
Mahalanobis 거리 (D 미디엄 )는 다차원 이상 값을 식별하는 수치 적 방법을 제공합니다. 창시자 인 인도 통계 학자 Prasanta Chandra Mahalanobis (1893-1972)의 이름을 따서 명명되었습니다. Dr. Mahalanobis에 대한 자세한 정보는 이 Wikipedia 기사 .
기원 후 미디엄 그림 1에 표시된 데이터 세트의 플롯은 다음과 같습니다.
그림 2 : 그림 1의 1,000 개 데이터 포인트에 대한 Mahalanobis Distance 플롯
그림 2는 D에 대한 행 순서의 모든 데이터 포인트를 보여줍니다. 미디엄 Y 축에서. D의 가치 미디엄 각 포인트에 대해 모든 데이터 포인트의 중심에서 각 포인트의 표준화 된 "거리"를 나타냅니다. 빨간색 데이터 포인트는 나머지 포인트에서 명확하게 두드러 지므로 이상치로 추가 조사가 필요합니다.
그렇다면이 계산은 어떻게 작동합니까?
일반적인 방법
1,000 개의 점으로 구성된 2 차원 분포가 있다고 가정 해 보겠습니다. 각 차원에서 999 개의 점은 평균이 0이고 표준 편차가 1.0 인 정규 분포 모집단에서 추출됩니다. 그런 다음 샘플의 마지막 점으로 특이점을 추가했습니다. XY 산점도를 만들면 다음과 같은 결과를 얻을 수 있습니다.
그림 3 : 하나의 특이 치 (빨간색)가 표시된 1,000 개의 상관되지 않은 데이터 포인트의 산점도
그림 3의 빨간색 관심 지점을 확인합니다. 각 차원에서 1,000 점 표본의 평균과 표준 편차를 쉽게 계산할 수 있으며, 피타고라스 정리를 사용하여 빨간색 점에서 점 중심까지의 유클리드 거리를 계산할 수 있습니다. 다차원의 경우 :

실제로 그림 4와 같이 중심으로부터 동일한 거리를 나타내는 중심 중심에 원을 그릴 수 있습니다.
그림 4 : 중심에서 등거리에있는 원이 중첩 된 1,000 개의 상관되지 않은 데이터 포인트의 산점도
그림 4에서 원은 점의 중심까지 1, 2, 3, 4 단위 (가장 작은 단위부터 가장 큰 단위까지)의 거리를 나타냅니다. 여기에서 빨간색 점이 점의 중심에서 가장 먼 지점임을 알 수 있습니다. 거리는 "d"로 표시됩니다.
이것은 유사한 척도 분포가있는 경우 (즉, 표준 편차가 동일 함) 잘 작동합니다.하지만 그림 5와 같이 다른 척도가 있다면 어떨까요?
그림 5 : 각 차원에서 평균과 표준 편차가 다른 1,000 개의 상관되지 않은 데이터 포인트의 산점도.
여기에 두 가지 문제가 있습니다. 첫째, X3 차원에있는 점의 평균은 0이 아닙니다. 모든 데이터 포인트에서 평균을 빼는 것만으로도 간단하게 수정할 수 있습니다.
두 번째 문제는 X3 차원의 표준 편차가 X1 차원보다 훨씬 크다는 것입니다. 이것은 우리가 차이를 보상 할 수없는 한 거리 계산의 문제를 렌더링합니다. 이것은 또한 쉽게 수행됩니다. 0에서 평균 이동을 수정 한 후 각 차원을 표준 편차로 나눕니다. 이는 표준 편차의 불일치를 정규화합니다. 이 거리를 평가하는 다차원 방정식은 다음과 같습니다.

여기서 m과 s는 각 차원의 평균과 표준 편차를 나타냅니다. 이러한 계산을 수행하고 표준화 된 데이터를 다시 작성하면 다음과 같은 그림이 표시됩니다.
그림 6 : 각 차원의 평균 및 표준 편차를 수정하기 위해 변환 한 후 그림 5의 데이터
이제 0이 아닌 평균과 같지 않은 표준 편차에 대해 데이터를 조정하는 방법이 있습니다. 이것은 각 차원의 데이터가 서로 독립적 인 경우 (즉, 상관 관계가없는 경우) 잘 작동합니다. 그러나 그림 1에 표시된 것과 같은 상관 관계가있는 경우 어떻게해야합니까?
이를 수행하는 한 가지 방법은 주요 구성 요소를 사용하여 데이터의 추세에 맞는 새 축을 설정 한 다음 위에서 설명한 작업을 수행하는 것입니다. 그러나 이것은 많은 클릭이 필요합니다. (이 작동 방식에 관심이있는 경우 부록 A를 참조하십시오.)
다행히 Mahalanobis 박사는이 거리를 계산하는 쉽고 우아한 방법을 제공합니다!
거리 계산을위한 Mahalanobis 방정식
D를 계산하기위한 Mahalanobis 박사의 우아한 방정식 미디엄 is :
어디:

i의 N 차원 값으로 구성된 벡터입니다. 일 개별 관측 데이터 포인트.
N = 관심있는 차원 (또는 열) 수.
T는 조옮김 작업을 나타냅니다.

관심있는 N 차원 (또는 열) 각각의 평균에 대한 벡터입니다.
에스 -1 모든 데이터 포인트에 대한 NxN 공분산 행렬의 역입니다 (JMP의 다변량 플랫폼에서 사용 가능).
위의 방정식에 적절한 값을 연결하면 D 미디엄 나는에서 일 데이터 세트에있는 모든 점의 중심을 가리 킵니다. 이 계산이 어떻게 작동하는지에 관심이 있다면 부록 B에서 작은 샘플 문제를 살펴보십시오.
JMP의 Mahalanobis 플롯
디 미디엄 그 자체로는 우리에게 거의 소용이 없습니다. 다른 데이터 포인트와 비교할 때만 의미가 있습니다. JMP의 Mahalanobis 플롯은 이러한 결과를 보여줍니다.
Analysis / Multivariate Methods / Multivariate로 이동하여 열을 선택한 다음 빨간색 드롭 다운에서 Outlier Analysis / Mahalanobis Distance를 선택하여 Mahalanobis 플롯을 생성 할 수 있습니다. 그림 1의 예제 데이터 세트의 경우 다음을 제공합니다.
그림 7 : 1,000 개의 데이터 포인트 샘플에 대한 Mahalanobis 거리 (그림 2 반복)
여기에서 데이터 테이블의 행 1에있는 데이터 포인트가 가장 큰 거리 (D 미디엄 )는 10 개 데이터 포인트 모두의 중심에서 가장 멀다는 것을 나타냅니다. 파란색 선은 D를 믿는지 여부에 대한 95 % 신뢰 상한 (UCL)을 나타냅니다. 미디엄 0과 크게 다릅니다. 빨간색 점은 분명히 UCL 위에 있으므로 이상치로 추가 조사가 필요합니다.
그러나 특히 작은 데이터 세트의 경우 이상 값이 항상 탐지하기 쉬운 것은 아닙니다. 부록 B의 예에서는 작은 데이터 세트 (3 차원의 데이터 포인트 10 개)에 대한 샘플 계산을 보여줍니다. 이 데이터 세트는 D 미디엄 아래와 같이 플롯 :
그림 8 : 부록 B의 10 개 데이터 포인트 샘플에 대한 Mahalanobis 거리
D 미디엄 플롯에서 포인트 1을 특이 치로 식별했습니다. 그러나 우리는 또한 D 미디엄 행 1은 D와 크게 다르지 않습니다. 미디엄 7 열! 왜 이런거야? 그 질문에 대한 답을 얻으려면 다음 에피소드를 기다려야합니다!
T에 대한 간단한 메모 2
JMP 또한 T에 대한 옵션을 제공합니다 2 분석 / 다변량 방법 / 다변량, 특이 치 분석에서 계산. 티 2 단순히 D의 제곱입니다. 미디엄 . 어떤 사람들은 이것을 사용하여 이상 값과 대량의 데이터를 더 시각적으로 구분하기를 원하지만 T 2 실제로 D와 동일한 정보를 포함합니다. 미디엄 .
다음 에피소드
다음 에피소드에서는 이상 값을 보는 또 다른 방법이며 위 예제 데이터 세트의 이상 값을 돋보이게 만드는 잭나이프 거리에 대해 다룰 것입니다.
이 시리즈의 모든 게시물보기 이상치 이해 .
부록 A : 주성분을 사용하여 이상 값 식별
그림 1의 축을 회전하여 다음과 같이 데이터 추세와 일치하도록하는 방법이 있다면 좋을 것입니다.
그림 9 : 2 차원 데이터 세트에 대한 축의 개념적 회전
그런 다음 앞서 설명한 기술을 사용하여 데이터를 표준화하여 이상 값을 탐지 할 수 있습니다.
이를 수행하는 한 가지 방법은 PCA (주성분 분석)입니다. PCA는 데이터에 가장 잘 맞는 직교 (상호 수직) 축 세트를 찾습니다. 데이터 세트에 원래 차원 (열)이있는만큼 주성분을 가질 수 있습니다. JMP에서 PCA는 분석 / 다변량 방법 / 주성분 분석 또는 분석 / 다변량 방법 / 다변량 아래의 두 위치에서 찾을 수 있습니다. 빨간색 드롭 다운은 주성분을 데이터 테이블에 다시 저장하는 옵션도 제공합니다. 이 작업을 마치면 방법을 사용하여 위에서 설명한 평균 및 표준 편차를 수정하여 중심으로부터의 거리를 결정할 수 있습니다.
부록 B : D 미디엄 예제 데이터 세트에 대한 계산
3 개의 열과 10 개의 행이있는 샘플 데이터 세트가 있다고 가정 해 보겠습니다.
그림 10 : DM 예제 계산에 사용되는 작은 샘플 데이터 세트
JMP에서는이 세 열에 대해 분석 / 다변량 방법 / 다변량을 실행하여 다음 산점도 행렬을 생성 할 수 있습니다.
그림 11 : 예제 데이터에 대한 산점도 행렬
그림 11에서 X1-X3 또는 X2-X3 플롯에서는 명확하지 않지만 X1-X2 차원에서 비교할 때 행 1 데이터 (빨간색으로 강조 표시됨)가 특이 치로 나타나는 것을 볼 수 있습니다.
첫 번째 점에 대한 Mahalanobis 거리를 계산하려고합니다. 따라서 위의 D에서 벡터와 행렬을 채우십시오. 미디엄 방정식, 우리는 관심 지점에서 시작합니다.

각 열의 수단은 여러 가지 방법으로 찾을 수 있습니다. Cols / Column Viewer를 사용한 다음 요약 표시 :
그림 12 : 3 차원 10 포인트 데이터 세트의 요약 통계
따라서 평균 벡터는 다음과 같습니다.

다음으로 분석 / 다변량 방법 아래에있는 공분산 행렬이 필요합니다. 빨간색 드롭 다운 삼각형에서 공분산 행렬을 선택합니다.
그림 13 : 3 차원 10 점 데이터 세트의 공분산 행렬
또한 공분산 행렬 S의 역이 필요합니다. -1 . JMP는 메뉴 시스템에서 정보를 제공하지 않지만 다음과 같이 사용자 정의 스크립트에서 쉽게 얻을 수 있습니다.
그림 14 : 역행렬을 찾기위한 JMP JSL 스크립트
결과는 다음과 같습니다.
에스 -1 =

그런 다음 플러그를 꽂고 행렬 방정식을 해결합니다.





Mahalanobis 거리 (D 미디엄 )는 예제 데이터 세트의 행 1에 표시된 데이터의 경우 2.814입니다.
그림 15 : 예제 데이터 세트에 대한 Mahalanobis 플롯 (그림 8 반복)