turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Find a Community

- Home
- /
- Analytics
- /
- Stat Procs
- /
- Analyses after proprensity score matching

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

01-12-2016 04:24 AM

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,

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

01-14-2016 08:29 AM

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.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

01-15-2016 04:35 AM

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

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

01-15-2016 05:53 AM

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;

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

01-15-2016 02:06 PM

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

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

01-18-2016 04:03 AM

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.