다변량 이상치와 거리
변수 간 관계를 고려해 이례적인 관측값 탐지
어떤 고객의 월평균 구매액이 50만 원이라고 가정해 보겠습니다. 이 수치만 보면 특별히 이상하다고 보기 어려울 수 있습니다. 그런데 이 고객이 구매 빈도는 매우 낮고, 한 번 구매할 때 지출하는 금액은 유난히 높다면 어떨까요? 각각의 변수만 따로 살펴볼 때는 놓칠 수 있지만, 여러 변수의 조합을 함께 보면 이례적인 관측값일 수 있습니다. 다변량 이상치(multivariate outlier)는 개별 변수의 값뿐 아니라 여러 변수 사이의 관계를 고려했을 때 다른 관측값들과 동떨어진 데이터입니다. 이를 탐지하는 대표적인 방법이 마할라노비스 거리(Mahalanobis distance)입니다.
단변량 이상치와 다변량 이상치의 차이
먼저 두 개념을 구분해 보겠습니다.
한 변수의 값이 나머지 관측값에 비해 유난히 크거나 작습니다. 예를 들어 대부분의 고객이 한 달에 1~10회 구매하는데, 한 고객만 100회 구매한 경우입니다.
개별 변수의 값은 평범해 보여도 여러 변수의 조합이 일반적인 패턴에서 벗어납니다. 예를 들어 구매 빈도와 구매액의 평소 관계를 고려했을 때 유난히 특이한 고객입니다.
그림 1의 왼쪽에서 100회 구매한 고객은 구매 횟수 하나만 봐도 바로 눈에 띕니다. 오른쪽의 빨간 점은 다릅니다. 축 옆의 눈금(각 변수의 값)을 보면 구매 빈도도, 구매액도 다른 고객들의 범위 안에 있습니다. 하지만 "빈도가 높을수록 구매액도 높다"는 전체 흐름에서 보면, 빈도는 낮은데 구매액은 높은 이례적인 조합입니다. 이처럼 다변량 이상치는 변수 간 상관관계를 고려해야 발견할 수 있는 경우가 있습니다. 따라서 변수별로 이상치 검사를 했다는 사실만으로 다변량 이상치까지 모두 확인했다고 볼 수는 없습니다.
유클리드 거리만으로는 부족할까?
일반적으로 두 점 사이의 거리를 계산할 때는 유클리드 거리를 사용합니다. 두 변수 x1, x2가 있을 때, 관측값 (x1, x2)와 기준점 (μ1, μ2) 사이의 거리는 다음과 같습니다. 기준점은 각 변수의 평균으로 설정할 수 있습니다.
하지만 유클리드 거리에는 두 가지 한계가 있습니다. 첫째, 변수 간 상관관계를 직접 반영하지 않습니다. 키와 몸무게처럼 서로 관련이 있는 변수에서는 두 변수가 함께 변하는 패턴을 고려할 필요가 있습니다. 둘째, 측정 단위가 크게 다르면 값의 범위가 큰 변수가 거리에 더 큰 영향을 줍니다.
그림 2에서 고객 P는 평균보다 10회 더 구매했고, 고객 Q는 평균보다 1만 원 더 썼습니다. 구매액을 원 단위로 넣고 유클리드 거리를 계산하면 P는 10, Q는 10,000입니다. 사소한 1만 원 차이가 10회 구매 차이보다 1,000배 멀다고 계산되는 셈입니다. 이러한 문제를 보완하는 방법이 마할라노비스 거리입니다.
마할라노비스 거리란?
마할라노비스 거리는 관측값이 다변량 자료의 중심에서 얼마나 떨어져 있는지 측정하면서, 변수별 분산과 변수 간 공분산을 함께 고려합니다.
x: 거리를 계산하려는 관측값의 변수 벡터 · μ: 기준이 되는 평균 벡터 · Σ: 변수들의 공분산행렬 · Σ−1: 공분산행렬의 역행렬 · DM²: 마할라노비스 거리의 제곱
마할라노비스 거리는 DM = √DM²로 계산합니다. 실무에서는 거리 자체보다 제곱거리 DM²를 이용해 기준값과 비교하기도 합니다. 공분산행렬의 역행렬 Σ−1로 나누는 부분이 핵심입니다. 분산이 큰 변수는 그만큼 덜 반영되어 단위 문제가 사라지고, 상관이 있는 변수는 "함께 움직이는 방향"을 따로 계산합니다. 숫자로 따라가 보겠습니다.
월 구매 빈도의 평균은 5회(표준편차 2회), 월 구매액의 평균은 30만 원(표준편차 10만 원)이고, 두 변수의 상관이 0.8이라고 가정하겠습니다. 두 고객 모두 구매 빈도가 7회로 평균보다 표준편차 1개만큼 높습니다.
- 고객 Q (7회, 40만 원): 구매액도 표준편차 1개만큼 높습니다. 표준화 점수는 (+1, +1)입니다.
- 고객 P (7회, 20만 원): 구매액은 표준편차 1개만큼 낮습니다. 표준화 점수는 (+1, −1)입니다.
표준화한 뒤의 유클리드 거리는 두 고객 모두 √2 ≈ 1.41로 같습니다. 그런데 마할라노비스 제곱거리는 Q가 (1 − 1.6 + 1) / 0.36 = 1.11, P가 (1 + 1.6 + 1) / 0.36 = 10.00입니다. Q는 "빈도가 높으면 구매액도 높다"는 관계를 그대로 따르므로 가깝고, P는 그 관계를 거스르므로 9배 멀어집니다. 쉽게 말하면, 마할라노비스 거리는 자료의 분포와 상관관계를 고려했을 때 관측값이 얼마나 이례적인지 나타내는 거리입니다.
변수 간 상관관계가 결과를 바꾸는 예시
키와 몸무게가 양의 상관관계를 가진 집단을 생각해 보겠습니다. 키가 큰 사람은 대체로 몸무게도 더 나가는 경향이 있다고 가정합니다.
- 키가 크고 몸무게도 많이 나가는 사람은 일반적인 관계를 따를 수 있습니다.
- 키는 크지만 몸무게가 매우 적은 사람은 변수별 값만으로는 판단하기 어려운 이례적인 조합일 수 있습니다.
상관관계가 있는 자료에서는 분포가 그림 4처럼 타원형으로 길게 늘어납니다. 키 182cm인 두 사람 가운데 A(79kg)는 표준화한 유클리드 거리가 2.66로 B(57kg)의 2.24보다 오히려 큽니다. 하지만 A는 타원이 길게 뻗은 방향 위에 있어 D² = 4.2에 그치고, B는 타원의 좁은 방향으로 벗어나 D² = 15.3로 99% 타원 밖에 놓입니다. 즉, 마할라노비스 거리는 단순히 중심에서 멀리 있는지만 보는 것이 아니라 자료가 주로 퍼져 있는 방향과 폭까지 고려합니다. 공분산행렬이 이런 타원 모양을 만드는 원리는 02 공분산행렬 챕터 7절에서 다뤘습니다.
마할라노비스 거리는 어떻게 계산할까?
실제 계산에서는 먼저 분석할 변수들을 선택하고, 평균 벡터와 공분산행렬을 구한 뒤 각 관측값에 대한 거리를 계산합니다. 예를 들어 X1(월 구매 빈도)와 X2(월평균 구매액)를 분석한다면 절차는 다음과 같습니다.
- 변수 선택: 분석 목적에 맞는 변수를 선정합니다.
- 평균과 공분산 계산: 각 변수의 중심과 변수 간 관계를 파악합니다.
- 거리 계산: 각 관측값의 마할라노비스 거리 또는 제곱거리를 계산합니다.
- 기준값과 비교: 거리가 큰 관측값을 후보로 표시하고 원자료를 검토합니다.
중요한 점은 거리가 크다는 사실이 곧 데이터 오류를 의미하지는 않는다는 것입니다. 해당 관측값은 실제로 드문 특성을 가진 고객일 수도 있고, 입력 오류나 측정 오류일 수도 있습니다.
어느 정도면 이상치일까?
마할라노비스 거리는 그 자체로 이상치 여부를 확정하는 값이 아닙니다. 거리가 얼마나 큰지를 판단하려면 기준이 필요합니다. 자료가 다변량 정규분포를 따르고 모집단 평균과 공분산을 알고 있다면 다음 관계를 활용할 수 있습니다.
p: 분석에 포함된 변수의 수 · χ²p: 자유도 p인 카이제곱분포
이 관계를 이용하면 유의수준에 따른 기준값을 설정할 수 있습니다. 예를 들어 유의수준 0.01을 기준으로 한다면 DM² > χ²p, 0.99를 만족하는 관측값을 이례적인 후보로 봅니다. 변수가 2개라면 기준값은 χ²2, 0.99 = 9.21입니다. 3절의 고객 P(D² = 10.00)는 이 기준을 넘습니다.
그림 6은 모의 고객 500명의 D²를 막대로, 자유도 2인 카이제곱분포를 곡선으로 겹친 것입니다. 대부분의 고객은 작은 값에 몰려 있고, 기준값 9.21을 넘은 고객은 5명입니다. 다만 실제 분석에서는 모집단의 평균과 공분산을 알지 못해 표본으로 추정하는 경우가 많습니다. 이때 표본 크기와 추정 방법에 따라 거리의 분포와 적절한 기준값이 달라질 수 있으므로, 위의 카이제곱 기준을 그대로 적용하는 것이 항상 정확한 것은 아닙니다.
또한 수백 또는 수천 개의 관측값을 동시에 검사하면 정상적인 관측값 중에서도 기준을 초과하는 사례가 생깁니다. 유의수준 0.01이라면 자료가 완벽하게 정규분포를 따르더라도 평균 1%는 기준을 넘습니다. 그림 7처럼 1,000명을 검사하면 정상 고객 약 10명, 10,000명이면 약 100명이 후보로 표시될 수 있습니다. 그림 6에서 기준을 넘은 5명도 500명의 1%와 같은 수준이므로, 모두 이례적인 고객이라고 단정할 수 없습니다.
분석 결과는 어떻게 해석할까?
다음은 설명을 위한 가상의 결과입니다.
| 관측값 | 마할라노비스 제곱거리 | 해석 |
|---|---|---|
| 고객 A | 0.8 | 기준점과 비교적 가까움 |
| 고객 B | 2.1 | 중심에서 다소 떨어져 있음 |
| 고객 C | 5.4 | 다른 관측값과 비교해 검토할 필요가 있을 수 있음 |
| 고객 D | 14.7 | 이례적인 관측값인지 추가 확인이 필요함 |
이 표에는 변수 수와 통계적 기준값이 제시되어 있지 않으므로, 숫자만 보고 고객 C나 D를 확정적인 이상치라고 판단할 수는 없습니다. 같은 D²라도 변수 수 p에 따라 기준값이 달라지기 때문입니다.
| 관측값 | D² | p = 2 (기준 9.21) | p = 4 (기준 13.28) | p = 6 (기준 16.81) |
|---|---|---|---|---|
| 고객 A | 0.8 | — | — | — |
| 고객 B | 2.1 | — | — | — |
| 고객 C | 5.4 | — | — | — |
| 고객 D | 14.7 | 초과 | 초과 | — |
그림 8처럼 변수가 2개나 4개라면 고객 D는 기준을 넘는 후보가 되지만, 변수가 6개라면 기준(16.81)에 미치지 못합니다. 변수가 많을수록 우연히 생기는 거리도 커지므로 기준값이 함께 올라가는 것입니다. 고객 C(5.4)는 어느 경우에도 기준을 넘지 않습니다.
월 구매 빈도와 월 구매액(p = 2)으로 각 고객의 마할라노비스 제곱거리를 계산하고, 유의수준 0.01의 카이제곱 기준값(χ²(2) = 9.21)과 비교하였다. 고객 D(D² = 14.7)만 기준을 넘어 다변량 이상치 후보로 분류되었으며, 고객 A~C(D² = 0.8~5.4)는 기준 미만이었다. 고객 D의 원자료를 확인하고, 포함한 경우와 제외한 경우의 주요 분석 결과를 함께 제시하였다.
실제 분석에서는 다음을 확인하는 것이 좋습니다.
- 해당 관측값이 어떤 변수 조합 때문에 큰 거리를 갖는가?
- 변수별로 봤을 때는 평범하지만 변수 간 관계 때문에 이례적인가?
- 데이터 입력이나 측정 과정에 오류가 있는가?
- 해당 관측값을 포함하거나 제외했을 때 주요 분석 결과가 달라지는가?
이 과정을 통해 단순히 이상치 후보를 찾는 데서 그치지 않고, 해당 관측값이 연구 결과에 어떤 영향을 미치는지 판단할 수 있습니다.
다변량 이상치 분석에서 주의할 점
분석 목적과 관계없는 변수를 많이 넣으면 거리의 의미가 흐려질 수 있습니다.
변수 간 상관이 지나치게 강하거나 변수 수가 표본 수에 비해 많으면 역행렬을 계산하기 어렵거나 결과가 불안정해질 수 있습니다. 변수 선택이나 강건한 추정 방법을 검토합니다.
다변량 정규분포에서 벗어난 자료에 정규분포 기반 기준값을 그대로 적용하면 이상치 판정이 부정확할 수 있습니다.
이상치가 실제로 중요한 소수 집단을 나타낼 수도 있습니다. 제거 여부는 오류 여부와 분석 목적을 바탕으로 결정합니다.
극단적인 관측값이 평균과 공분산을 왜곡하면, 오히려 이상치가 뚜렷하게 탐지되지 않을 수 있습니다.
⑤번 가림 효과(masking)는 직관과 어긋나므로 예시로 확인해 보겠습니다.
그림 9는 정상 고객 80명과 오른쪽 아래에 모인 이례적인 고객 10명(주황)입니다. 일반 평균과 공분산으로 D²를 계산하면 이 10명이 평균을 끌어당기고 공분산을 부풀려, 주황 10명 가운데 기준 9.21을 넘은 고객은 0명입니다. 이상치에 덜 흔들리도록 다수의 중심부만으로 평균과 공분산을 추정하는 강건 추정(MCD, Minimum Covariance Determinant)을 쓰면 주황 10명이 모두 기준을 넘습니다. 이상치가 여러 개 몰려 있을 가능성이 있다면 강건한 다변량 이상치 탐지 방법을 함께 고려합니다.
변수 간 관계를 고려해야 보이는 이상치가 있습니다.
- 다변량 이상치는 여러 변수의 조합을 고려했을 때 이례적인 관측값입니다.
- 마할라노비스 거리는 변수별 분산과 변수 간 공분산을 고려합니다.
- 유클리드 거리와 달리 변수 간 상관관계를 반영할 수 있습니다.
- 거리의 크기만으로 이상치를 확정하지 말고, 적절한 통계적 기준과 원자료 검토를 함께 활용해야 합니다.
- 이상치는 자동으로 삭제할 대상이 아니라 데이터 오류와 실제 특이 사례를 구분해 검토할 대상입니다.
다음은 12 다변량 분석의 진단과 해석입니다. 지금까지 살펴본 다변량 분석의 결과가 연구 목적에 맞는지, 얼마나 안정적인지, 어디까지 해석할 수 있는지 점검하는 방법을 정리합니다.
마할라노비스 거리는 공분산을 이용해 단위 차이와 변수 간 상관을 함께 고려한 거리입니다. 각 변수로는 평범해도 관계를 거스르는 관측값은 멀리 계산됩니다. 판정은 변수 수에 맞는 카이제곱 기준, 다중 검사, 가림 효과를 함께 고려하고, 후보는 삭제하기 전에 원자료로 검토합니다.