SAS - Análise Bland Altman

A análise de Bland-Altman é um processo para verificar a extensão da concordância ou discordância entre dois métodos projetados para medir os mesmos parâmetros. Uma alta correlação entre os métodos indica que uma amostra boa o suficiente foi escolhida na análise de dados. No SAS, criamos um gráfico de Bland-Altman calculando a média, o limite superior e o limite inferior dos valores das variáveis. Em seguida, usamos PROC SGPLOT para criar o gráfico de Bland-Altman.

Sintaxe

A sintaxe básica para aplicar PROC SGPLOT no SAS é -

PROC SGPLOT DATA = dataset;
SCATTER X = variable Y = Variable;
REFLINE value;

A seguir está a descrição dos parâmetros usados ​​-

  • Dataset é o nome do conjunto de dados.

  • SCATTER declaração cerates o gráfico de dispersão do valor fornecido na forma de X e Y.

  • REFLINE cria uma linha de referência horizontal ou vertical.

Exemplo

No exemplo a seguir, pegamos o resultado de dois experimentos gerados por dois métodos denominados novo e antigo. Calculamos as diferenças nos valores das variáveis ​​e também a média das variáveis ​​da mesma observação. Também calculamos os valores de desvio padrão a serem usados ​​nos limites superior e inferior do cálculo.

O resultado mostra um gráfico de Bland-Altman como um gráfico de dispersão.

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 ;

Quando o código acima é executado, obtemos o seguinte resultado -

Modelo aprimorado

Em um modelo aprimorado do programa acima, obtemos um ajuste de curva de nível de confiança de 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 ;

Quando o código acima é executado, obtemos o seguinte resultado -