BookmarkSubscribeRSS Feed
Jub
Calcite | Level 5 Jub
Calcite | Level 5

Hi everyone,

 

I am a beginner in the use of Propensity Score (PS) and I have several question regarding analysis to perform on PS matched sample. I have performed a matching using PS and I have now my matched sample (I have checked the distribution of my covariates). My outcomes of interest are either continuous or categorical variables. I have read that a simple way of doing is to perform proc ttest (paired) for continuous variable others argue that for binary variable a conditional logistic regression is needed (using strata in proc logistic). In that case do I need to include in my model PS as a variable of adjustment or am I zm getting all wrong? I used the SAS macro %psmulti_patch

Is this macro using "optimal matching" method ?

 

Thak you very much in advance,

5 REPLIES 5
JacobSimonsen
Barite | Level 11

If you have binary outcome, then I will aggree that stratified logistic regressino is a good apprach.

Lets say you have a variable STRATA which define the groups from your matching.

Then you can make the analysis by proc logistic

 

proc logistic data=mydata;

  class exposure;

  model outcome(event='1')=exposure;

  strata STRATA;

run;

 

or you, in case you dont want to adjust for any other variables, then you can also use the simpler mantel haenzel statistics;

proc freq data=mydata;

   table STRATA*outcome*exposure/cmh noprint;

run;

which should give almost same OR estimate as the conditional logistic regression.

Jub
Calcite | Level 5 Jub
Calcite | Level 5

Thank you very much for your quick reply !

In the option strata i put the variable the group of each match?

For continous variables, what should I use in case I want to adjust for other variables?

Many thanks

 

JacobSimonsen
Barite | Level 11

Yes, the STRATA variable is the one determing the groups defined by your matchning.

 

If you have contionous variable and only few matching-groups, then you can adjust for the strata variable

 

proc glm data=mydata;

  class exposure someothervariable strata;

  model outcome= exposure someothervariable strata;

run;

quit;

 

genmod or mixed also be used. But, this will not work if there is too many groups (>1000 or that order) because each group will contribute with a parameter. I dont think there is any procedure that can treat the matching variable in a semiparametric way except of PROC TTEST which doesnt allow for other adjustment. I would like to hear if any others know of a solution.

 

But, if your matchning is very balanced (same number of controls to each exposed), then you can argue that you dont need to include the strata variable in the model. That is so because the strata variable is not a confounder due to the design and your estimate of your parameter of interest will be unaffected whether you include strata or not.

 

proc glm data=mydata;

  class exposure someothervariable ;

  model outcome= exposure someothervariable ;

run;

quit;

SteveDenham
Jade | Level 19

For the sake of this post, let's consider the variable 'strata' to be the collective of matched subjects on the propensity score.  This allows for n:m matching as well as 1:1 pairing.

 

The following will allow you to analyze data, and is adapted from @JacobSimonsen's post.

 

proc glimmix data=mydata;

  class exposure someothervariable strata;

  model outcome= exposure someothervariable;

  random intercept/subject=strata;

run;

 

This will allow you to handle the 1000's of strata situation.  It also will allow you to fit models with distributions other than those with residuals that are normally distributed (with appropriate options).

 

Steve Denham

JacobSimonsen
Barite | Level 11

Yes, I agree with @SteveDenham's suggestion. It will work even when there are many strata.

Only thing is that it is a very strong assumption that the contributions from the strata are normal distributed. Its likely very skew, with some few strata with very high values.

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register 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
  • 5 replies
  • 2254 views
  • 4 likes
  • 3 in conversation