Анализ Бланда-Альтмана — это процесс проверки степени согласия или несогласия между двумя методами, предназначенными для измерения одних и тех же параметров. Высокая корреляция между методами указывает на то, что при анализе данных была выбрана достаточно хорошая выборка. В SAS мы создаем график Бланда-Альтмана, вычисляя среднее, верхний и нижний пределы значений переменных. Затем мы используем PROC SGPLOT для создания сюжета Бланда-Альтмана.
Синтаксис
Основной синтаксис применения PROC SGPLOT в SAS —
PROC SGPLOT DATA = dataset; SCATTER X = variable Y = Variable; REFLINE value;
Ниже приведено описание используемых параметров:
-
Набор данных — это имя набора данных.
-
Оператор SCATTER создает график графика рассеяния значения, представленного в форме X и Y.
-
REFLINE создает горизонтальную или вертикальную контрольную линию.
Набор данных — это имя набора данных.
Оператор SCATTER создает график графика рассеяния значения, представленного в форме X и Y.
REFLINE создает горизонтальную или вертикальную контрольную линию.
пример
В приведенном ниже примере мы берем результат двух экспериментов, сгенерированных двумя методами, названными new и old. Мы рассчитываем различия в значениях переменных, а также среднее значение переменных одного и того же наблюдения. Мы также рассчитываем значения стандартного отклонения, которые будут использоваться в верхней и нижней границе расчета.
Результат показывает график Бланда-Альтмана как график рассеяния.
data mydata; input new old; datalines; 31 45 27 12 11 37 36 25 14 8 27 15 3 11 62 42 38 35 20 9 35 54 62 67 48 25 77 64 45 53 32 42 16 19 15 27 22 9 8 38 24 16 59 25 ; data diffs ; set mydata ; /* calculate the difference */ diff = new-old ; /* calculate the average */ mean = (new+old)/2 ; run ; proc print data = diffs; run; proc sql noprint ; select mean(diff)-2*std(diff), mean(diff)+2*std(diff) into :lower, :upper from diffs ; quit; proc sgplot data = diffs ; scatter x = mean y = diff; refline 0 &upper &lower / LABEL = ("zero bias line" "95% upper limit" "95% lower limit"); TITLE 'Bland-Altman Plot'; footnote 'Accurate prediction with 10% homogeneous error'; run ; quit ;
Когда приведенный выше код выполняется, мы получаем следующий результат —
Улучшенная модель
В расширенной модели вышеуказанной программы мы получаем подгонку кривой уровня достоверности 95%.
proc sgplot data = diffs ; reg x = new y = diff/clm clmtransparency = .5; needle x = new y = diff/baseline = 0; refline 0 / LABEL = ('No diff line'); TITLE 'Enhanced Bland-Altman Plot'; footnote 'Accurate prediction with 10% homogeneous error'; run ; quit ;
Когда приведенный выше код выполняется, мы получаем следующий результат —