SAS - การวิเคราะห์ Bland Altman

การวิเคราะห์ Bland-Altman เป็นกระบวนการตรวจสอบขอบเขตของข้อตกลงหรือความไม่ลงรอยกันระหว่างสองวิธีที่ออกแบบมาเพื่อวัดพารามิเตอร์เดียวกัน ความสัมพันธ์ที่สูงระหว่างวิธีการบ่งชี้ว่ามีการเลือกตัวอย่างที่ดีเพียงพอในการวิเคราะห์ข้อมูล ใน SAS เราสร้างแผนภาพ Bland-Altman โดยคำนวณค่าเฉลี่ยขีด จำกัด บนและขีด จำกัด ล่างของค่าตัวแปร จากนั้นเราใช้ PROC SGPLOT เพื่อสร้างพล็อต Bland-Altman

ไวยากรณ์

ไวยากรณ์พื้นฐานสำหรับการใช้ PROC SGPLOT ใน SAS คือ -

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

ต่อไปนี้เป็นคำอธิบายของพารามิเตอร์ที่ใช้ -

  • Dataset คือชื่อของชุดข้อมูล

  • SCATTER คำสั่งหยุดกราฟพล็อตการกระจายของค่าที่ให้มาในรูปแบบของ X และ Y

  • REFLINE สร้างเส้นอ้างอิงแนวนอนหรือแนวตั้ง

ตัวอย่าง

ในตัวอย่างด้านล่างเราได้ผลลัพธ์ของการทดลองสองครั้งที่สร้างขึ้นโดยสองวิธีที่ชื่อว่าใหม่และเก่า เราคำนวณความแตกต่างในค่าของตัวแปรและค่าเฉลี่ยของตัวแปรของการสังเกตเดียวกัน นอกจากนี้เรายังคำนวณค่าเบี่ยงเบนมาตรฐานที่จะใช้ในขีด จำกัด บนและล่างของการคำนวณ

ผลลัพธ์จะแสดงพล็อต Bland-Altman เป็นพล็อตกระจาย

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 ;

เมื่อดำเนินการโค้ดด้านบนเราจะได้ผลลัพธ์ดังต่อไปนี้ -