BookmarkSubscribeRSS Feed
timb12345
Calcite | Level 5
Hi all!
 

I am working with a dataset where each patient can be assigned to one of three treatment groups (Treatment Group 1, Treatment Group 2, and Treatment Group 3). I want to calculate propensity scores (PS) for the probability of patients being assigned to one the treatment groups. Various variables may influence the probability of a patients being in one of the treatments groups. I want to calculate the PS using these variables.

My understanding is that I should use PROC LOGISTIC to estimate the propensity scores. However, I am unsure about the following points:

  1. Do I need to calculate three separate propensity scores, one for each treatment group, using logistic regression while correcting for the same set of covariates? Or is there a different approach to obtain propensity scores for multiple treatment groups?

  2. After calculating the propensity scores, do I need to plot these three propensity scores in the final model using PROC LIFEREG? If so, how can I effectively incorporate these propensity scores in the PROC LIFEREG model to adjust for treatment assignment?

Any insights or guidance on how to handle propensity scores for multiple treatment groups and their inclusion in the final PROC LIFEREG model would be greatly appreciated. Thank you!

 

My syntax is as follows:

Proc logistic data=test; 
model AUC_low (event='1') = var1 var2 var3 var4;
OUTPUT OUT=PS1 PREDICTED=PS1;
run;
Proc logistic data=test; 
model AUC_mid (event='1') = var1 var2 var3 var4;
OUTPUT OUT=PS2 PREDICTED=PS2;
run;

Proc logistic data=test; 
model AUC_high (event='1') = var1 var2 var3 var4;
OUTPUT OUT=PS3 PREDICTED=PS3;
run;

then merge the 3 PS's into one set = Propensity_score. 

proc lifereg data = Propensity_score;
model time_event_death*event_death(0) = AUC_low PS1 AUC_mid PS2 AUC_high PS3 /dist=weibull;
output out = New cdf = Prob;
run;
1 REPLY 1
StatDave
SAS Super FREQ

If you have a single treatment variable (say, AUC with three levels 1, 2, or 3), you could do it in one PROC LOGISTIC step by fitting a generalized logit model. The following code does that and saves the individual level predicted probabilities for the three AUC levels in data set PS in the variables IP_1, IP_2, and IP_3 which you could then use in LIFEREG.

proc logistic data=test; 
model AUC = var1 var2 var3 var4 / link=glogit;
output out=ps predprobs=i;
run;

Catch up on SAS Innovate 2026

Nearly 200 sessions are now available on demand with the SAS Innovate Digital Pass.

Explore Now →
What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 1 reply
  • 1183 views
  • 1 like
  • 2 in conversation