---
title: "Statistical Methods for Assessing Agreement Between Two Methods of Clinical Measurement"
title_ru: "Бланд-Альтман: Статистические методы оценки согласия двух методов измерения (Lancet 1986)"
authors: [Bland, Altman]
year: 1986
venue: "The Lancet"
venue_tier: "A*"
doi: "10.1016/S0140-6736(86)90837-8"
tags: [statistics, bland_altman, agreement, measurement, bias, limits_of_agreement, validation]
relevance_to_smartrep: 5
direction: "🅲"
---

# Bland-Altman: Золотой стандарт валидационной статистики

## TL;DR (≤3 предложения)

Bland & Altman предложили метод сравнения двух методов измерения через "limits of agreement": mean difference (bias) ± 1.96·SD difference — вместо некорректно используемой корреляции. Метод визуализируется через Bland-Altman plot: ось X = среднее двух методов, ось Y = разность. Для SmartRep: Bland-Altman — обязательный статистический инструмент в валидационном протоколе SmartRep vs Vicon/OpenCap.

## Проблема

Корреляция (Pearson r) некорректна для сравнения методов измерения: два метода могут иметь высокую корреляцию, но систематически расходиться на 10°. Нужен метод, показывающий величину и направление расхождения.

## Гипотеза / вклад

- **Limits of Agreement:** $\bar{d} \pm 1.96 \cdot s_d$ — если попадает в клинически приемлемый интервал, методы согласны.
- **Bland-Altman plot:** графическое отображение agreement — мощный диагностический инструмент.
- **Bias:** $\bar{d} = \frac{1}{n} \sum_i (y_i - x_i)$ — систематическая ошибка.
- **Proportional bias:** расхождение зависит от magnitude → log transformation.

## Метод

**Bland-Altman plot:**
- Ось X: $\bar{m}_i = \frac{x_i + y_i}{2}$ (mean of two methods)
- Ось Y: $d_i = y_i - x_i$ (difference)

**Limits of agreement:**
$$[\bar{d} - 1.96 s_d, \quad \bar{d} + 1.96 s_d]$$

где $\bar{d} = \frac{1}{n}\sum d_i$, $s_d = \sqrt{\frac{1}{n-1}\sum(d_i - \bar{d})^2}$.

**Интерпретация:** если 95% разностей попадают в клинически приемлемый интервал (например, ±5° для суставных углов), методы согласны.

**Altman & Bland 1999 extension:** confidence intervals для limits of agreement:
$$\text{CI}_{upper/lower} = [\bar{d} \pm 1.96 s_d] \pm t_{0.025, n-1} \cdot \sqrt{\frac{3 s_d^2}{n}}$$

### Пример для суставных углов

| Параметр | Значение | Интерпретация |
|---|---|---|
| Bias $\bar{d}$ | +1.2° | SmartRep в среднем на 1.2° больше Vicon |
| Limits of agreement | [-3.1°, +5.5°] | 95% разностей в этом диапазоне |
| Клин. порог | ±5° | LoA внутри → методы согласны |

## Датасеты

Оригинальная статья: сравнение измерений давления двумя методами (n=85).

## Релевантность SmartRep

- **Обязательный метод 🅲:** Bland-Altman plot — стандарт отчётности в биомеханических валидационных исследованиях. Наша validation paper: SmartRep joint angles vs OpenCap/Vicon через B-A plot для каждого сустава.
- **Bias detection:** если SmartRep систематически занижает угол колена → bias correction возможна.
- **Limits of agreement как критерий:** LoA внутри ±5° для нижних конечностей = критерий принятия для нашей системы.
- **Publication requirement:** рецензенты J. Biomechanics требуют B-A plots — без них статья не пройдёт.
- **Proportional bias check:** проверить, не зависит ли ошибка SmartRep от величины угла (большие углы → большая ошибка?).

## Gap для нас

B-A метод разработан для непрерывных измерений одного типа. **Применение для SmartRep:** B-A на per-joint, per-phase, per-exercise уровнях. Reporting: separate B-A plot для каждого из 5 суставов × 5 упражнений = 25 графиков в supplementary. Summary: overall RMSE + max bias + LoA в таблице.

## Код

```python
import numpy as np
import matplotlib.pyplot as plt

def bland_altman_plot(method1, method2, *args, **kwargs):
    mean = np.mean([method1, method2], axis=0)
    diff = method1 - method2
    md = np.mean(diff)
    sd = np.std(diff, axis=0)
    plt.scatter(mean, diff, *args, **kwargs)
    plt.axhline(md, color='gray', linestyle='--')
    plt.axhline(md + 1.96*sd, color='gray', linestyle='--')
    plt.axhline(md - 1.96*sd, color='gray', linestyle='--')
    return md, sd
```

## Цитата (BibTeX)

```bibtex
@article{bland1986statistical,
  title={Statistical methods for assessing agreement between two methods of clinical measurement},
  author={Bland, J Martin and Altman, Douglas G},
  journal={The Lancet},
  volume={327},
  number={8476},
  pages={307--310},
  year={1986}
}

@article{altman1999measuring,
  title={Measuring agreement in method comparison studies},
  author={Altman, Douglas G and Bland, J Martin},
  journal={Statistical methods in medical research},
  volume={8},
  number={2},
  pages={135--160},
  year={1999}
}
```
