SAS - Analisi di Bland Altman

L'analisi di Bland-Altman è un processo per verificare il grado di accordo o disaccordo tra due metodi progettati per misurare gli stessi parametri. Un'elevata correlazione tra i metodi indica che è stato scelto un campione sufficiente nell'analisi dei dati. In SAS creiamo un grafico Bland-Altman calcolando la media, il limite superiore e il limite inferiore dei valori delle variabili. Quindi usiamo PROC SGPLOT per creare il grafico Bland-Altman.

Sintassi

La sintassi di base per applicare PROC SGPLOT in SAS è:

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

Di seguito la descrizione dei parametri utilizzati:

  • Dataset è il nome del set di dati.

  • SCATTER dichiarazione certifica il grafico a dispersione del valore fornito sotto forma di X e Y.

  • REFLINE crea una linea di riferimento orizzontale o verticale.

Esempio

Nell'esempio seguente prendiamo il risultato di due esperimenti generati da due metodi denominati nuovo e vecchio. Calcoliamo le differenze nei valori delle variabili e anche la media delle variabili della stessa osservazione. Calcoliamo anche i valori di deviazione standard da utilizzare nel limite superiore e inferiore del calcolo.

Il risultato mostra un grafico Bland-Altman come grafico a dispersione.

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 il codice sopra viene eseguito, otteniamo il seguente risultato:

Modello avanzato

In un modello migliorato del programma precedente otteniamo l'adattamento della curva del livello di confidenza al 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 il codice sopra viene eseguito, otteniamo il seguente risultato: