How to perform Bland Altman Analysis

Last updated on Sep 13 2022
Nitin Pawar

Table of Contents

How to perform Bland Altman Analysis

The Bland-Altman analysis is a process to verify the extent of agreement or disagreement between two methods designed to measure same parameters. A high correlation between the methods indicate that good enough sample has been chosen in data analysis. In SAS we create a Bland-Altman plot by calculating the mean, upper limit and lower limit of the variable values. We then use PROC SGPLOT to create the Bland-Altman plot.

Syntax

The basic syntax for applying PROC SGPLOT in SAS is −

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

Following is the description of the parameters used −

  • Dataset is the name of the dataset.
  • SCATTER statement cerates the scatter plot graph of the value supplied in form of X and Y.
  • REFLINE creates a horizontal or vertical reference line.

Example

In the below example we take the result of two experiments generated by two methods named new and old. We calculate the differences in the values of the variables and also the mean of the variables of the same observation. We also calculate the standard deviation values to be used in the upper and lower limit of the calculation.

The result shows a Bland-Altman plot as a scatter plot.

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 ;

When the above code is executed, we get the following result −

sas 46

Enhanced Model

In an enhanced model of the above program we get 95 percent confidence level curve fitting.

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 ;

When the above code is executed, we get the following result −

sas 47

So, this brings us to the end of blog. This Tecklearn ‘How to perform Bland Altman Analysis’ blog helps you with commonly asked questions if you are looking out for a job in SAS. If you wish to learn SAS and build a career in Data Analytics domain, then check out our interactive, SAS Training for SAS BASE Certification Training, that comes with 24*7 support to guide you throughout your learning period. Please find the link for course details:

https://www.tecklearn.com/course/sas-training-for-sas-base-certification/

SAS Training for SAS BASE Certification Training

About the Course

SAS Certification Training is intended to make you an expert in SAS programming and Analytics. You will be able to analyse and write SAS code for real problems, learn to use SAS to work with datasets, perform advanced statistical techniques to obtain optimized results with Advanced SAS programming.  In this SAS online training course, you will also learn SAS macros, Machine Learning, PROC SQL, procedure, statistical analysis and decision trees. You will also work on real-life projects and prepare for the SAS Certified Base Programmer certification exam. Upon the completion of this SAS online training, you will have enough proficiency in reading spreadsheets, databases, using SAS functions for manipulating this data and debugging it.

Why Should you take SAS Training?

  • The average salary for a Business Intelligence Developer skilled in SAS is $100k (PayScale salary data)
  • SAS, Google, Facebook, Twitter, Netflix, Accenture & other MNCs worldwide are using SAS for their Data analysis activities and advance their existing systems.
  • SAS is a Leader in 2017 Gartner Magic Quadrant for Data Science Platform.

What you will Learn in this Course?

Introduction to SAS 

  • Introduction to SAS
  • Installation of SAS
  • SAS windows
  • Working with data sets
  • Walk through of SAS windows like output, search, editor etc

SAS Enterprise Guide

  • How to read and subset the data sets
  • SET Statement
  • Infile and Infile Options
  • SAS Format -Format Vs Informat

SAS Operators and Functions

  • Using Variables
  • Defining and using KEEP and DROP statements
  • Output Statement
  • Retain Statement
  • SUM Statement

Advanced SAS Procedures

  • PROC Import
  • PROC Print
  • Data Step Vs Proc
  • Deep Dive into Proc

Customizing Datasets

  • SAS Arrays
  • Useful SAS Functions
  • PUT/INPUT Functions
  • Date/Time Functions
  • Numeric Functions
  • Character Functions

SAS Format and SAS Graphs

  • SAS Format statements
  • Understanding PROC GCHART, various graphs, bar charts: pie, bar

Sorting Techniques

  • NODUP
  • NODUKEY
  • NODUP Vs NODUKEY

Data Transformation Function

  • Character functions, numeric functions and converting variable type
  • Use functions in data transformation

Deep Dive into SAS Procedures, Functions and Statements

  • Find Function
  • Scan Function
  • MERGE Statement
  • BY Statement
  • Joins
  • Procedures Vs Function
  • Where Vs If
  • What is Missover
  • NMISS
  • CMISS

PROC SQL

  • SELECT statement
  • Sorting of Data
  • CASE expression
  • Other SELECT statement clauses
  • JOINS and UNIONS

Using SAS Macros

  • Benefits of SAS Macros
  • Macro Variables
  • Macro Code Constituents and Macro Step
  • Positional Parameters to Macros

Got a question for us? Please mention it in the comments section and we will get back to you.

 

0 responses on "How to perform Bland Altman Analysis"

Leave a Message

Your email address will not be published. Required fields are marked *