Skip to Content
StaticsBland-Altman

Bland-Altman

1. Bland-Altman 플롯이란?

만약 동일한 변수를(예: 혈압, 체온, 혹은 어떤 기기의 측정값 등) 두 가지 다른 측정 방법으로 측정한다면, 다음과 같은 쌍(pair) 데이터를 얻게 됩니다:

(X1,Y1),(X2,Y2),,(Xn,Yn).(X_1, Y_1), (X_2, Y_2), \ldots, (X_n, Y_n).
  • XiX_i = 측정 방법 1에 의한 측정값
  • YiY_i = 측정 방법 2에 의한 측정값
  • i=1,2,,ni = 1, 2, \ldots, n Bland-Altman 방법은 이렇게 짝지어진 측정값 간의 차이(즉, 두 값이 얼마나 다른지)에 주목하며, 그 차이가 측정값의 크기(수준)에 따라 달라지는지를 살펴봅니다. 일반적인 형태는 다음과 같습니다:
  1. 두 측정값의 평균(Mean):
Mi=Xi+Yi2M_i = \frac{X_i + Y_i}{2}
  1. 두 측정값의 차이(Difference):
Di=XiYiD_i = X_i - Y_i

자료에 따라서 YiXiY_i - X_i 형태로 정의하기도 합니다. 중요한 것은 일관성을 유지하는 것이며, 어느 방법의 측정값을 빼는지 명확히 정의해야 합니다.

  1. 플롯 구성:
  • x축: (두 측정값의 평균) : MiM_i
  • y축: (두 측정값의 차이) : DiD_i 결과적으로, 그래프의 각 점은 두 방법이 그 측정 수준에서 얼마나 멀리 떨어져 있는지를 보여줍니다.

2. 단순 상관계수 대신 왜 Bland-Altman 플롯을 사용하는가?

  • 상관계수(예: Pearson의 r)는 두 측정 방법이 선형적으로 어떻게 관련``되어 있는지를 말해주지만, 실제로 두 방법이 ``얼마나 일치``하는지 여부는 알려주지 않습니다. 예를 들어, 두 방법이 매우 높은 상관을 보이더라도, 한 방법이 다른 방법보다 일관되게 더 높게(또는 낮게) 측정하는 경우도 있습니다.
  • 반면, Bland-Altman 플롯은 평균적인 차이(편향, bias)를 직접 보여주고, 측정값이 큰 구간이나 작은 구간에서 그 차이가 달라지는지를 명확히 시각화해 줍니다.

3. Bland-Altman 플롯 구성하기

두 측정값 집합 n{(Xi,Yi)}i=1nn\{(X_i, Y_i)\}_{i=1}^n이 있다고 가정합시다.

  1. 평균과 차이 계산:
Mi=Xi+Yi2,Di=XiYiM_i = \frac{X_i + Y_i}{2}, \quad D_i = X_i - Y_i
  1. 산포도 그리기:
  • x축(수평축) : MiM_i
  • y축(수직축) : DiD_i
  1. 참조선(Reference lines) 추가:
  • 평균 차이(mean difference): D‾\overline{D} 이는 모든 DiD_i의 평균값으로, 두 방법 간 *전반적인 편향(bias)*을 의미합니다.
D=1ni=1nDi\overline{D} = \frac{1}{n} \sum_{i=1}^n D_i
  • 동의한계(Limits of Agreement, LoA): 보통 D‾±1.96×SD(D)\overline{D} \pm 1.96 \times \mathrm{SD}(D) 형태로 나타내며, 이는 차이값들이 정규 분포를 따른다고 가정할 때 약 95%의 차이가 포함되는 구간입니다.
    • 상한(Upper limit of agreement):
D+1.96×SD(D)\overline{D} + 1.96 \times \mathrm{SD}(D)
  • 하한(Lower limit of agreement):
D1.96×SD(D)\overline{D} - 1.96 \times \mathrm{SD}(D)

이 구간(LoA)은 대략 95%의 차이가 이 범위 내에 있을 것임을 의미합니다. 범위가 좁을수록 두 방법의 일치도가 높고, 범위가 넓을수록 일치도가 낮습니다.


4. 해석

  1. 평균 차이(편향, bias): D\overline{D}가 0에 가깝다면, 큰 체계적 편향이 없음을 시사합니다(한쪽 방법이 일관되게 더 높지도, 더 낮지도 않음). D\overline{D}가 양수라면 평균적으로 방법 1이 방법 2보다 크게 측정한다는 뜻이고, 음수라면 그 반대를 의미합니다.
  2. 동의한계(LoA): D±1.96×SD(D)\overline{D} \pm 1.96 \times \mathrm{SD}(D) 범위가 좁을수록 두 방법 간 일치도가 높습니다. 만약 임상적 또는 실제 적용 측면에서 어떤 특정 범위 이내로 차이가 허용되어야 한다면, 이 LoA가 그 범위를 초과하는지 여부를 확인할 수 있습니다.
  3. 범위 전반의 추세(Trend):
  • 평균값이 커질수록 차이가 함께 커진다면, 이는 측정 수준이 높아질 때 두 방법 간 차이가 점점 커지는 비례적 편향(proportional bias)을 시사합니다.
  • 점들이 무작위로 흩어져 있고 뚜렷한 패턴이 없다면, 전 범위에서 두 방법의 일치도는 비교적 균일합니다.
  1. 이상값(Outliers): 동의한계 바깥에 크게 벗어나는 점들이 있다면, 특별한 경우나 측정 오류가 있었을 수 있습니다.

5. 예시 (개념적 이해)

  • 10명의 환자에 대해 혈압을 두 기기(방법 A와 방법 B)로 측정했다고 합시다. 각 쌍에 대해 평균과 차이를 계산합니다.
  • Bland-Altman 플롯에서 평균 차이가 +5 mmHg, 95% 동의한계가 -2 mmHg ~ +12 mmHg라고 나온다면, 방법 A가 평균적으로 방법 B보다 5 mmHg 정도 더 높게 측정한다는 의미이며, 측정값의 차이는 95% 확률로 -2 mmHg에서 +12 mmHg 사이에 분포합니다. 임상적으로 ±5 mmHg 이내의 차이라면 수용 가능하다고 판단했을 때, 이 범위가 실제 95% 동의한계와 어떻게 비교되는지를 보고, 두 방법이 충분히 교환 가능(interchangeable)한지 판단할 수 있습니다.

6. 실무 적용 팁

  • 정규성 가정(Normality assumption) 확인: LoA 계산 방식(±1.96×SD±1.96×SD)(±1.96×SD\pm 1.96 \times \mathrm{SD})은 차이가 대략 정규 분포를 이룬다고 가정합니다. 만약 데이터가 정규 분포를 따르지 않는다면, 비모수적(non-parametric) 방법을 사용하거나, 데이터 변환(예: 로그 변환)을 고려해야 합니다.
  • 비례적 편향(proportional bias) 확인: DiD_iMiM_i에 대해 플롯했을 때 증가 추세나 특정 형태가 보인다면, 회귀(Regression) 접근법이나 비율(로그) 변환을 고려해볼 수 있습니다.
  • 표본 크기(Sample size): 데이터가 많을수록 평균 차이와 동의한계를 더 안정적으로 추정할 수 있습니다. 데이터가 매우 적다면 추정값의 신뢰도가 낮아집니다.
  • 반복 측정(Repeatability): Bland-Altman 방법은 동일한 방법으로 반복 측정된 값들 간의 변동(방법 자체의 반복성)을 평가하는 데도 활용할 수 있습니다.

7. 간단한 코드 예시

Python 코드

import numpy as np import matplotlib.pyplot as plt # 예시 데이터 x = np.array([10, 12, 13, 15, 18, 22, 25]) y = np.array([11, 11, 14, 14, 20, 23, 26]) # 평균과 차이 계산 M = (x + y) / 2.0 D = x - y # 평균 차이와 표준편차 mean_diff = np.mean(D) sd_diff = np.std(D, ddof=1) # 표본 표준편차를 위해 ddof=1 loa_upper = mean_diff + 1.96 * sd_diff loa_lower = mean_diff - 1.96 * sd_diff # 플롯 plt.scatter(M, D) plt.axhline(mean_diff, color='blue', linestyle='-') plt.axhline(loa_upper, color='red', linestyle='--') plt.axhline(loa_lower, color='red', linestyle='--') plt.title('Bland-Altman Plot') plt.xlabel('Mean of Methods (M)') plt.ylabel('Difference of Methods (D)') plt.show()

8. 핵심 요점 (Key Takeaways)

  • Bland-Altman 플롯은 두 측정 방법 간의 편향(bias)편향(bias)동의범위(rangeofagreement)동의 범위(range of agreement)를 시각적으로 평가하는 방법입니다.
  • 측정값의 범위 전반에 걸쳐 차이가 일정한지, 혹은 특정 범위에서 달라지는지를 확인할 수 있습니다.
  • 단순 상관계수(correlation)만으로는 드러나지 않는, 일치도(agreement)를 평가하는 데 더 유용합니다.

결론적으로, Bland-Altman 플롯은 두 가지 측정 방법을 비교할 때 필수적인 도구입니다. 측정값의 평균 대비 차이를 그래프로 나타냄으로써, 체계적 편향의 유무를 평가하고, 측정값의 크기에 따라 일치도가 달라지는지, 그리고 전반적인 차이가 어느 정도인지 명확히 확인할 수 있습니다.